<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Paul | Aim Technologies</title>
	<atom:link href="https://www.aimtechnologies.com/author/paul/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aimtechnologies.com</link>
	<description></description>
	<lastBuildDate>Tue, 19 May 2026 15:29:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.aimtechnologies.com/wp-content/uploads/2024/03/cropped-favicon-32x32-1-32x32.png</url>
	
	<link>https://www.aimtechnologies.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		
		<link>https://www.aimtechnologies.com/smartycam-4-corsa-tech-spec/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Mon, 18 May 2026 14:50:05 +0000</pubDate>
				<category><![CDATA[Tech Spec]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=290990</guid>

					<description><![CDATA[Short description of the product, possible the tagline from the page.]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_0">
				
				
				
				
				<div class="et_pb_code_inner"><style>
   .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
    .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: start;
  }
  .Aim_sectionColumn{
    width: 80%;
    display:flex;
		justify-content:start;
    
  }
  .Aim_center{
    justify-content:center !important; 
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 25px;
    white-space:nowrap;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont span{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li,
  .Aim_sectionColumn ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont span{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
  #mobileMenuCont{
    padding: 0 ;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
  }

    @media only screen and (max-width: 600px) {

    #mobileMenuCont a{
      font-size: 13px;
    }
    #Aim_innerCont span{
      max-width: 150px;
    }
  }

</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <span>
   Technical Information
  </span>
  <div id="Aim_secondMenuOptions">
    <i class="fa-solid fa-chevron-down" id="mobileSubMenuBtn"></i>
    <div id="mobileMenuCont">
    	<a href="/smartycam-4-corsa/" class="active">Overview</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/products/smartycam-4-corsa" target="_blank" rel="noopener">
        Buy 
    </a>
  </div>
  </div>
</div></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div id="Aim_titleCont" class="et_pb_module et_pb_code et_pb_code_1">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .Aim_titleSpecsCont{
   justify-content: center;
  }
  .Aim_titleSpecsCont h1{
    text-align:center;
  }
</style>
<div class="Aim_titleSpecsCont">
  <div class="Aim_sectionTitle">
  </div>
<h1>SmartyCam 4 Corsa<br />
<span style="font-size: 14px;">Technical Information</span></h1>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_2">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .noMarg{
    margin:0 !important;
    padding:0 !important;
    flex-direction: column;
    text-align: center;
    font-weight:bold;
    max-width:400px;
  }
  #mobyTitle{
    display:none;
  }
    @media only screen and (max-width: 460px){
      #mobyTitle{
    display:block;
  }
  }
</style>
<div class="Aim_rowSpecsCont " >
  <h3 class="Aim_sectionTitle">
    Model
  </h3>
  <div class="Aim-spanner">
    <div class="Aim_sectionColumn noMarg Aim_center">
      <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/product_smartycam4_corsa_00.webp" alt="smartycam 4 corsa"/>
      <div id="mobyTitle">
        SmartyCam 4 Corsa
      </div>
    </div>

  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_3">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Overview
  </h3>
  <div class="Aim-spanner">
	<div class="Aim_sectionColumn">
The Aim SmartyCam 4 Corsa has been purpose-built for motorsport, combining exceptional video quality with advanced data integration to give drivers and teams the information they need to improve performance. Building on the success of the SmartyCam 3 Corsa, the latest generation introduces major upgrades in image quality, connectivity, and usability, making it one of the most capable motorsport cameras available today.
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_4">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Key Features
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li>Sony 12MP CMOS</li>
      <li>Data Logging</li>
      <li>Auto Start/Stop Recording</li>
      <li>Low Distorion Lens</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_5">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Size & Weight
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><span>Dimensions:</span> 94 x 63 x 28.7mm</li>
      <li><span>Weight:</span> 260g, battery included</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_6">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Waterproof
  </h3>
  <div class="Aim-spanner">

  <div class="Aim_sectionColumn">
    <ul>
      <li>IP 65</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_7">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    In The Box
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li>SmartCam 4 Corsa</li>
      <li>USB-C Memory Card (64GB)</li>
      <li>USB-A to USB-C Cable</li>
      <li>CAN Cable</li>
      <li>12V Mains Charger</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_8">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Technical
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><span>Video format:</span> H.264 - 1920 x 1080 pixels at 30/60 fps</li>
      <li><span>Lens:</span> Low-distortion camera lens 85°</li>
      <li><span>CMOS sensor:</span> Sony 12 MP CMOS</li>
      <li><span>Stabiliser:</span> LSI Sony for enhanced features</li>
      <li><span>Internal battery:</span> Rechargeable LiPo battery</li>
      <li><span>External power:</span> 9-15 Volt</li>
      <li><span>Supported Memory:</span> USB-C Card up to 2TB & SD Card up to 2TB</li>
      <li><span>Connectors:</span> USB - Wi-Fi - Bluetooth</li>
      <li><span>Streaming:</span> Via USB or Wi-Fi</li>
      <li><span>Connectors:</span> 1 7-pin binder 712 female, 1 5-pin binder 712 female & 1 USB-C</li>
      <li><span>Temperature Working Range:</span>  -10°C/+50°C</li>
      <li><span>Auto Power ON/OFF:</span>  -10°C/+50°C</li>
      <li><span>Auto Start/Stop Recording:</span> Yes</li>
      <li><span>Race Studio 3 App & Software:</span> Yes</li>
      <li><span>Body:</span> Anodised Aluminium</li>
 
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_9">
				
				
				
				
				<div class="et_pb_code_inner"><div id="DiagramBox" class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Diagram
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <img decoding="async" src="https://www.aimshop.com/cdn/shop/files/smartycam-4-corsa-diagram.png?v=1776781472"/>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_10">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Downloads
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
   <ul>
      <li><a href="https://support.aimshop.com/downloads/product-documents/sc4/SmartyCam%204%20Corsa%20ver.%201.01.pdf" target="_new" rel="noopener">Technical Sheet</a></li>
      <li><a href="/support/downloads/software-downloads/">Race Studio 3</a></li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/smartycam-4-corsa/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Mon, 18 May 2026 08:18:17 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<category><![CDATA[Bike]]></category>
		<category><![CDATA[Bike Cameras]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Car cameras]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[drag cameras]]></category>
		<category><![CDATA[Kart]]></category>
		<category><![CDATA[Kart Cameras]]></category>
		<category><![CDATA[Motocross]]></category>
		<category><![CDATA[Motocross Cameras]]></category>
		<category><![CDATA[off road]]></category>
		<category><![CDATA[off road cameras]]></category>
		<category><![CDATA[powerboat]]></category>
		<category><![CDATA[powerboat cameras]]></category>
		<category><![CDATA[truck]]></category>
		<category><![CDATA[truck cameras]]></category>
		<category><![CDATA[camera]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=290719</guid>

					<description><![CDATA[Engineered for excellence with an added external output for microphone set-up]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_1 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_11">
				
				
				
				
				<div class="et_pb_code_inner"><style>
h1,h2,h3,h4,h5, p{
    word-break: keep-all !important;
  }
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 30px;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont h1{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {

    #mobileMenuCont a{
      font-size: 13px;
    }
  }

    .camNav{
    position:fixed; top:0px; left:0; right:0;   display:flex; justify-content:center; align-items:center; height:100vh; max-width:1920px; margin: 0 auto;
    pointer-events: none; /* Allow clicks through this element */

  }
     .leftBtnBox{
       pointer-events:auto;
    position: absolute;
    left: 10px;
    z-index: 10;
    height:35px;
  	width:35px;
    background-color: #00000091;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    color: white;
  }
    .rightBtnBox{
    pointer-events:auto;
    position: absolute;
    right: 10px;
    z-index: 10;
    height:35px;
  	width:35px;
    background-color: #00000091;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    color: white;
  }
  .leftBtnBox, .rightBtnBox{
    cursor:pointer;
    transition: all 0.5s ease;
    font-size: 15px;
  }
    .leftBtnBox:hover, .rightBtnBox:hover{
    transform:scale(1.15)
  }
  @media only screen and (max-width: 600px) {
  .camNav{
    position:fixed; top:102px; left:0; right:0;  display:flex; justify-content:center; height:calc(100vh - 180px)
  }
    #Aim_innerCont h1{
      max-width: 150px;
    }
  }

  .hiddenNav {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <h1>
   SmartyCam 4 Corsa
  </h1>
  <div id="Aim_secondMenuOptions">
    <i class="fa-solid fa-chevron-down" id="mobileSubMenuBtn"></i>
    <div id="mobileMenuCont">
    	<a  href="/smartycam-4-corsa-tech-spec/" class="active">Tech Specs</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/products/smartycam-4-corsa" target="_blank" rel="noopener">
        Buy  
    </a>
  </div>
  </div>
</div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_2 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_12">
				
				
				
				
				<div class="et_pb_code_inner"><style>
body, html {
  overflow-x: hidden;
}

.et_pb_section_0 {
  padding: 0 !important;
}

.motorsport-camera-section {
  width: 100%;
  max-width: 100%;
  padding-top: 100px;
  overflow-x: clip;
  overflow-y: visible;
  background: #000;
  color: #fff;
  text-align: center;
  font-family: inherit;
  position: relative;
  isolation: isolate;
}

@supports not (overflow: clip) {
  .motorsport-camera-section {
    overflow-x: hidden;
  }
}

.motorsport-camera-section,
.motorsport-camera-section * {
  box-sizing: border-box;
}

.motorsport-camera-flow {
  width: min(937px, calc(100% - 32px));
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.motorsport-camera-kicker {
  margin: 50px auto;
  padding: 0 16px;
  font-size: 24px;
  line-height: 110%;
  font-weight: 500;
}

.motorsport-camera-hero {
  --motorsport-copy-drop: 500px;
  --motorsport-hero-bottom: clamp(36px, 5vw, 64px);

  position: relative;
  width: 100%;
  max-width: 1180px;
  margin: 42px auto 0;
  padding-top: var(--motorsport-copy-drop);
  padding-bottom: var(--motorsport-hero-bottom);
  overflow: visible;
  isolation: isolate;
}

.motorsport-camera-hero-img {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  width: min(888px, 100%);
  height: auto;
  max-width: 100%;
  display: block;
  transform: translateX(-50%);
  pointer-events: none;
}

.motorsport-camera-copy {
  position: relative;
  z-index: 2;
  width: min(918px, calc(100% - 32px));
  margin: 0 auto;
}

.motorsport-camera-title {
  margin: 0;
  padding-bottom: 50px;
  font-size: 59px;
  line-height: 110%;
  font-weight: 600;
  color: white;
  text-shadow: 0 8px 30px rgba(0, 0, 0, 0.72);
}

.motorsport-camera-slider-outer {
  width: 100%;
  max-width: 100%;
  height: 540px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 70px auto 0;
  overflow: visible;
}

.motorsport-camera-slider {
  --motorsport-slide-width: 350px;
  --motorsport-slide-shift: 30;

  position: absolute;
  left: 50%;
  width: min(1180px, 100%);
  max-width: 100%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  user-select: none;
}

.motorsport-camera-carousel {
  display: flex;
  width: 100%;
  max-width: 100%;
  height: 100%;
  align-items: center;
  overflow: visible;
}

.motorsport-camera-carousel__list {
  display: flex;
  list-style: none;
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 400px;
  justify-content: center;
  perspective: 300px;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.motorsport-camera-carousel__item {
  width: var(--motorsport-slide-width);
  max-width: calc(100% - 32px);
  height: 400px;
  border-radius: 0.75rem;
  background-color: black;
  padding: 30px;
  color: white;
  font-size: 0;
  cursor: pointer;
  border: 2px solid white;
  position: absolute;
  top: 0;
  left: calc(50% - (var(--motorsport-slide-width) / 2));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;

  transition:
    opacity 0.5s ease,
    border 0.3s ease,
    transform 0.5s ease,
    filter 0.5s ease;
}

.motorsport-camera-carousel__item:hover {
  border-color: white;
}

.motorsport-camera-carousel__item img {
  width: 70px;
  height: 70px;
  display: block;
  margin: 0 0 24px;
  pointer-events: none;
}

.motorsport-camera-slide h3 {
  margin: 0 0 20px;
  padding: 0;
  font-size: 29px;
  line-height: 110%;
  color: red;
  text-align: center;
  font-weight: 600;
}

.motorsport-camera-slide p {
  margin: 0;
  font-size: 18px;
  line-height: 22px;
  color: white;
  text-align: center;
}

.motorsport-camera-carousel__item[data-pos="0"] {
  z-index: 5;
}

.motorsport-camera-carousel__item[data-pos="-1"],
.motorsport-camera-carousel__item[data-pos="1"] {
  opacity: 0.7;
  filter: blur(1px) grayscale(10%);
  z-index: 4;
}

.motorsport-camera-carousel__item[data-pos="-2"],
.motorsport-camera-carousel__item[data-pos="2"] {
  opacity: 0.4;
  filter: blur(3px) grayscale(20%);
  z-index: 3;
}

.motorsport-camera-carousel__item[data-pos="-3"],
.motorsport-camera-carousel__item[data-pos="3"] {
  opacity: 0.2;
  filter: blur(6px) grayscale(30%);
  z-index: 2;
}

.motorsport-camera-carousel__item[data-pos="-4"],
.motorsport-camera-carousel__item[data-pos="4"] {
  opacity: 0.1;
  filter: blur(8px) grayscale(40%);
  z-index: 1;
}

.motorsport-camera-carousel__item[data-pos="-5"],
.motorsport-camera-carousel__item[data-pos="5"] {
  opacity: 0;
  filter: blur(10px) grayscale(50%);
  z-index: 0;
}

.motorsport-camera-slider-dots {
  margin-top: 54px;
  display: flex;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  justify-content: center;
}

.motorsport-camera-slider-dot {
  height: 15px;
  width: 15px;
  transition: all 0.5s ease;
  border-radius: 100%;
  cursor: pointer;
  opacity: 1;
  background-color: white;
  border: 0;
  padding: 0;
}

.motorsport-camera-slider-dot.is-active {
  opacity: 1;
  transform: scale(1.5);
  background-color: red;
}

@media screen and (max-width: 1024px) {
  .motorsport-camera-section {
    padding-top: 150px;
  }

  .motorsport-camera-hero {
    --motorsport-copy-drop: clamp(460px, 62vw, 500px);
    --motorsport-hero-bottom: 56px;
  }

  .motorsport-camera-title {
    font-size: clamp(42px, 5.6vw, 56px);
    padding-bottom: 150px;
  }

  .motorsport-camera-slider-outer {
    margin-top: 42px;
  }
}

@media screen and (max-width: 768px) {
  .motorsport-camera-section {
    padding-top: 100px;
  }

  .motorsport-camera-flow {
    width: calc(100% - 32px);
    max-width: 937px;
  }

  .motorsport-camera-kicker {
    margin: 64px auto 52px;
    padding: 0 24px;
    font-size: 18px;
  }

  .motorsport-camera-hero {
    --motorsport-copy-drop: clamp(380px, 68vw, 540px);
    --motorsport-hero-bottom: 64px;

    width: 100%;
    max-width: 100%;
    margin: 42px auto 0;
  }

  .motorsport-camera-hero-img {
    width: min(112%, 888px);
    max-width: none;
  }

  .motorsport-camera-copy {
    width: calc(100% - 32px);
  }

  .motorsport-camera-title {
    font-size: clamp(28px, 5.8vw, 44px) !important;
  }

  .motorsport-camera-slider-outer {
    height: 456px;
  }

  .motorsport-camera-slider {
    --motorsport-slide-width: min(310px, calc(100vw - 60px));
    --motorsport-slide-shift: 22;

    width: 100%;
    max-width: 100%;
  }

  .motorsport-camera-carousel__list {
    height: 360px;
  }

  .motorsport-camera-carousel__item {
    height: 360px;
    padding: 26px 24px;
    left: calc(50% - (var(--motorsport-slide-width) / 2));
  }

  .motorsport-camera-carousel__item img {
    width: 62px;
    height: 62px;
    margin-bottom: 22px;
  }

  .motorsport-camera-slide h3 {
    font-size: 24px;
    margin-bottom: 16px;
  }

  .motorsport-camera-slide p {
    font-size: 16px;
    line-height: 20px;
  }

  .motorsport-camera-slider-dots {
    margin-top: 28px;
    gap: 16px;
  }

  .motorsport-camera-slider-dot {
    width: 12px;
    height: 12px;
  }
}

@media screen and (max-width: 480px) {
  .motorsport-camera-hero {
    --motorsport-copy-drop: clamp(270px, 74vw, 355px);
    --motorsport-hero-bottom: 52px;

    margin-top: 34px;
  }

  .motorsport-camera-hero-img {
    width: 118%;
    min-width: 430px;
  }

  .motorsport-camera-title {
    font-size: 28px !important;
  }

  .motorsport-camera-slider-outer {
    height: 430px;
    margin-top: 70px;
  }

  .motorsport-camera-slider {
    --motorsport-slide-width: min(300px, calc(100vw - 48px));
    --motorsport-slide-shift: 20;
  }

  .motorsport-camera-carousel__list {
    height: 340px;
  }

  .motorsport-camera-carousel__item {
    height: 340px;
    padding: 24px 22px;
  }

  .motorsport-camera-slide h3 {
    font-size: 22px;
  }

  .motorsport-camera-slide p {
    font-size: 15px;
    line-height: 19px;
  }

  .motorsport-camera-slider-dots {
    margin-top: 24px;
  }
}
</style>

<section class="motorsport-camera-section">
  <img fetchpriority="high" decoding="async"
    class="motorsport-camera-flow"
    src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Title.webp"
    alt=""
    width="937"
    height="207"
  >

  <p class="motorsport-camera-kicker">
    Next Generation Motorsport Action Camera
  </p> 

  <div class="motorsport-camera-hero">
    <img loading="lazy" decoding="async"
      class="motorsport-camera-hero-img"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Image-1-Grouped-1-scaled.webp"
      alt=""
      width="888"
      height="1500"
    >

    <div class="motorsport-camera-copy">
      <h2 class="motorsport-camera-title">
        Packed with all the things you want in an action camera
      </h2>

      <div class="motorsport-camera-slider-outer" data-motorsport-camera-slider>
        <div class="motorsport-camera-slider">
          <div class="motorsport-camera-carousel">
            <ul class="motorsport-camera-carousel__list">
              <li class="motorsport-camera-slide motorsport-camera-carousel__item" data-pos="-2" data-slide-index="0">
                <img
                  decoding="async"
                  loading="lazy"
                  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/realTime.webp"
                  width="70"
                  height="70"
                  alt=""
                >
<br /><h3>Real Time Data Overlay</h3>
                <p>
                  Your recorded sessions with the most important data in overlay.
                </p> 
              </li>

              <li class="motorsport-camera-slide motorsport-camera-carousel__item" data-pos="-1" data-slide-index="1">
                <img
                  decoding="async"
                  loading="lazy"
                  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/automaticStart.webp"
                  width="70"
                  height="70"
                  alt=""
                >
<br /><h3>Automatic Start & Stop</h3>
                <p>
                  No need to think about the camera while you are ready at the starting line.
                </p> 
              </li>

              <li class="motorsport-camera-slide motorsport-camera-carousel__item" data-pos="0" data-slide-index="2">
                <img
                  decoding="async"
                  loading="lazy"
                  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/ECU.webp"
                  width="70"
                  height="70"
                  alt=""
                >
<br /><h3>ECU Connection</h3>
                <p>
                  A wide number of supported ECUs.
                </p> 
              </li>

              <li class="motorsport-camera-slide motorsport-camera-carousel__item" data-pos="1" data-slide-index="3">
                <img
                  decoding="async"
                  loading="lazy"
                  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/fullInternalData.webp"
                  width="70"
                  height="70"
                  alt=""
                >
<br /><h3>Full Internal Data Logger</h3>
                <p>
                  Your USB-C drive contains all the information you need for data analysis.
                </p> 
              </li>

              <li class="motorsport-camera-slide motorsport-camera-carousel__item" data-pos="2" data-slide-index="4">
                <img
                  decoding="async"
                  loading="lazy"
                  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/12MP.webp"
                  width="70"
                  height="70"
                  alt=""
                >
<br /><h3>12 MP Sensor</h3>
                <p>
                  New Sony CMOS sensor with dedicated chip and LSI stabilisation for superior video quality.
                </p> 
              </li>

              <li class="motorsport-camera-slide motorsport-camera-carousel__item" data-pos="3" data-slide-index="5">
                <img
                  decoding="async"
                  loading="lazy"
                  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/forTheExtreme.webp"
                  width="70"
                  height="70"
                  alt=""
                >
<br /><h3>For the Extreme</h3>
                <p>
                  Sapphire glass and CNC machined aluminium body to face the most extreme conditions.
                </p> 
              </li>
            </ul>
          </div>

          <div class="motorsport-camera-slider-dots">
            <button class="motorsport-camera-slider-dot" type="button" title="Real Time Data Overlay" data-dot-index="0"></button>
            <button class="motorsport-camera-slider-dot" type="button" title="Automatic Start &#038; Stop" data-dot-index="1"></button>
            <button class="motorsport-camera-slider-dot" type="button" title="No Wave Effect" data-dot-index="2"></button>
            <button class="motorsport-camera-slider-dot" type="button" title="All Your Data on SD Card" data-dot-index="3"></button>
            <button class="motorsport-camera-slider-dot" type="button" title="Full Internal Datalogger" data-dot-index="4"></button>
            <button class="motorsport-camera-slider-dot" type="button" title="ECU connections" data-dot-index="5"></button>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<script>
  (function () {
    function initMotorsportCameraSliders() {
      const sliders = document.querySelectorAll("[data-motorsport-camera-slider]");

      sliders.forEach((sliderOuter) => {
        if (sliderOuter.dataset.motorsportCameraReady === "true") return;
        sliderOuter.dataset.motorsportCameraReady = "true";

        const slider = sliderOuter.querySelector(".motorsport-camera-slider");
        const carouselList = sliderOuter.querySelector(".motorsport-camera-carousel__list");
        const carouselItems = Array.from(sliderOuter.querySelectorAll(".motorsport-camera-carousel__item"));
        const dots = Array.from(sliderOuter.querySelectorAll(".motorsport-camera-slider-dot"));

        if (!slider || !carouselList || !carouselItems.length) return;

        let startX = 0;
        let currentTranslate = 0;
        let lastTranslate = 0;
        let isDragging = false;
        let activeIndex = 2;

        function getShiftAmount() {
          const value = getComputedStyle(slider).getPropertyValue("--motorsport-slide-shift").trim();
          return parseFloat(value) || 30;
        }

        function updateDots(index) {
          dots.forEach((dot, dotIndex) => {
            dot.classList.toggle("is-active", dotIndex === index);
          });
        }

        function updatePosition(index) {
          activeIndex = Math.max(0, Math.min(index, carouselItems.length - 1));
          const shift = getShiftAmount();

          carouselItems.forEach((item, itemIndex) => {
            const newPos = itemIndex - activeIndex;
            const scale = Math.max(0.5, 1 - Math.abs(newPos) * 0.1);
            const opacity = Math.max(0, 1 - Math.abs(newPos) * 0.2);

            item.dataset.pos = String(newPos);
            item.style.transform = "translateX(" + (newPos * shift) + "%) scale(" + scale + ")";
            item.style.opacity = opacity;
          });

          updateDots(activeIndex);
        }

        function touchStart(event) {
          if (!event.touches || !event.touches.length) return;

          startX = event.touches[0].clientX;
          isDragging = true;

          const activeItemIndex = carouselItems.findIndex((item) => parseInt(item.dataset.pos, 10) === 0);
          const currentActiveIndex = activeItemIndex >= 0 ? activeItemIndex : activeIndex;
          const currentItem = carouselItems[currentActiveIndex];

          currentTranslate = currentItem ? -currentActiveIndex * currentItem.clientWidth : 0;
          lastTranslate = currentTranslate;
        }

        function touchMove(event) {
          if (!isDragging || !event.touches || !event.touches.length) return;

          const currentX = event.touches[0].clientX;
          currentTranslate = lastTranslate + (currentX - startX);
        }

        function touchEnd() {
          if (!isDragging) return;

          isDragging = false;

          const movedBy = currentTranslate - lastTranslate;
          const threshold = carouselList.clientWidth / 6;

          if (movedBy < -threshold && activeIndex < carouselItems.length - 1) {
            updatePosition(activeIndex + 1);
          } else if (movedBy > threshold && activeIndex > 0) {
            updatePosition(activeIndex - 1);
          } else {
            updatePosition(activeIndex);
          }
        }

        carouselItems.forEach((item, index) => {
          item.addEventListener("click", () => updatePosition(index));
          item.addEventListener("touchstart", touchStart, { passive: true });
          item.addEventListener("touchmove", touchMove, { passive: true });
          item.addEventListener("touchend", touchEnd);
        });

        dots.forEach((dot, index) => {
          dot.addEventListener("click", () => updatePosition(index));
        });

        if ("IntersectionObserver" in window) {
          const observer = new IntersectionObserver(
            (entries) => {
              entries.forEach((entry) => {
                if (entry.isIntersecting) {
                  window.setTimeout(() => {
                    updatePosition(2);
                  }, 300);

                  observer.unobserve(entry.target);
                }
              });
            },
            {
              root: null,
              threshold: 0.35
            }
          );

          observer.observe(sliderOuter);
        } else {
          updatePosition(2);
        }

        updatePosition(2);
      });
    }

    if (document.readyState === "loading") {
      document.addEventListener("DOMContentLoaded", initMotorsportCameraSliders);
    } else {
      initMotorsportCameraSliders();
    }
  })();
</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_3 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_0">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .pocketSizedContainer{
    display:flex;
    padding: 0 30px;
		padding-top:50px;
		flex-direction: column;
    align-items:center;
    justify-content:center;
    position:relative;
  }
  .pocketSizedContainer h2{
    font-size:49px;
    max-width: 650px;
    text-align:center;
    font-weight:600;
    color:white;
    padding-bottom:0;
    
  }
  .pocketSizedContainer p{
    font-size: 24px;
    line-height: 28px;
    margin-top: 40px;
    margin-bottom:40px;
    color:white
  }
  .infoContainer{
    display:flex;
    width:100%;
  	flex-wrap:wrap;
    max-width: 900px;
    justify-content: space-between;
    gap: 40px;
  }
  .infoItem{
    text-align:center;
    font-size:39px;
    line-height: 53px;
    font-weight:600;
    display:flex;
    flex-direction:column;
    align-items:center;
      color:white
  }
  .infoItem div{
    white-space:nowrap;
    margin-top:10px;
    font-size:24px;
    font-weight:500;
    color:red;
  }
  .perfectShapeContainer h2{
    font-size: 78px;
    max-width: unset;
    font-weight:600;
    max-width: 700px;
    margin: 0 auto;
    margin-bottom:40px;
    text-align:center;
  }
  .perfectShapeContainer p{
    max-width: 550px;
    text-align:center;
    margin: 0 auto;
    margin-bottom:80px;
    font-size: 24px;
    line-height:29px;
    
  }
  .perfectShapeContainer{
    margin-top: 50px;
  }

  .smallTough h2{
    font-size:78px;
    text-align:center;
    padding-bottom:10px;
    margin-top: 50px;
  }
  .smallTough{
    max-width: 640px;
    text-align:center;
    font-size:29px;
    line-height:32px;
  }
  .smallTough p{
    font-size:24px;
    line-height:29px;
  }
  .largeHand{
       transform:translatex(-30px);
 min-width: 500px; 
     }

  @media only screen and (max-width: 1000px)  {

   
}
  @media only screen and (max-width: 840px){
    .infoItem{
      flex-basis:100%;
    
    }
    .infoContainer{
      gap:40px;
    }
  }
   @media only screen and (max-width: 782px)  {

     .pocketSizedContainer{
       padding-top:0;
     }
   .pocketSizedContainer h2{
    font-size: 49px;  
     line-height:53px;

  }
    .pocketSizedContainer p {
    font-size: 18px;   
      padding: 0 20px;
      text-align:center;
      margin-top:20px;
      margin-bottom:40px;
  }
 
     .perfectShapeContainer p{

    margin-bottom:80px;
  }

     .infoContainer{
       justify-content:center;
     }


}
  .pDescription{
    max-width:650px;
    text-align:center;
  }
  
</style>
<div class="pocketSizedContainer">
    
	<h2 class="animate-on-scroll">
    The Best Motorsport Action Camera
  </h2>
  <p class="animate-on-scroll pDescription">
The SmartyCam 4 Series introduces major upgrades in image quality, connectivity, and usability, making it one of the most capable motorsport cameras available today.
  </p> 

  <div class="animate-on-scroll infoContainer">
    <div class="infoItem">
      IP65
      <div>Rated Waterproof</div>
    </div>
    <div class="infoItem">
      Sapphire
      <div>Frontal Glass</div>
    </div>
    <div class="infoItem">
      Coated
      <div>Aluminium</div>
    </div>
    <div class="infoItem">
      260g
      <div>Weight</div>
    </div>
  </div>

     <img decoding="async"  class="largeHand" loading="lazy"  src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Image2.webp" height="802" width="799" alt="smartycam 3 corsa" />
  
</div></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_4 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_13">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  #perfectCont {
    position: relative;
    z-index: 5;
    margin: 0 auto clamp(76px, 7vw, 116px);
    max-width: 680px;
    padding-left: 30px;
    padding-right: 30px;
    isolation: isolate;
  }
  .animate-on-scroll .et_pb_module_header{
    max-width:500px;
    margin:0 auto;
  }
  #perfectCont h3 {
    position: relative;
    z-index: 6;
    font-size: clamp(49px, 5vw, 78px);
    line-height: 110%;
    font-weight: 600;
    margin: 20px 0 0;
    text-align: center;
    color: white;
  }

  .cornerContainer {
    --smarty-image-width: 505px;
    --smarty-image-height: 738px;
    --corner-stage-width: 1360px;
    --corner-image-column: clamp(320px, 38vw, var(--smarty-image-width));
    --corner-gap: clamp(64px, 7vw, 128px);
    --corner-box-width: clamp(170px, 18vw, 250px);

    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
      minmax(var(--corner-box-width), 1fr)
      var(--corner-image-column)
      minmax(var(--corner-box-width), 1fr);
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
      "topLeft image topRight"
      "bottomLeft image bottomRight";
    column-gap: var(--corner-gap);
    row-gap: 0;
    align-items: stretch;
    width: min(var(--corner-stage-width), calc(100% - 48px));
    margin: 0 auto;
    overflow: visible;
  }

  .cornerContainerImage {
    --centre-asset-width: 1920px;
    --centre-asset-height: 1400px;
    --centre-asset-scale: 0.92;
    --centre-asset-y: -100px;

    grid-area: image;
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--smarty-image-width);
    justify-self: center;
    align-self: start;
    overflow: visible;
  }

  .cornerCentreAsset {
    position: absolute !important;
    left: 50%;
    top: 50%;
    z-index: 0;
    width: var(--centre-asset-width) !important;
    height: var(--centre-asset-height) !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    display: block;
    transform: translate(-50%, calc(-50% + var(--centre-asset-y))) scale(var(--centre-asset-scale));
    transform-origin: center center;
    opacity: 0;
    pointer-events: none;
    transition:
      opacity 1.2s ease,
      transform 1.2s ease;
  }

  .cornerContainerImage.is-visible .cornerCentreAsset {
    opacity: 1;
  }

  #smartyImageCenter {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    max-width: var(--smarty-image-width);
    aspect-ratio: 505 / 738;
    opacity: 0;
    transition:
      opacity 2s ease,
      transform 2s ease;
  }

  .cornerStatsContainer {
    display: contents;
  }

  .cornerStatsBox {
    position: relative;
    z-index: 3;
    display: flex;
    width: var(--corner-box-width);
    min-width: 0;
    min-height: clamp(120px, 14vw, 190px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    justify-self: center;
  }

  .cornerTopleft {
    grid-area: topLeft;
    align-self: start;
  }

  .cornerTopRight {
    grid-area: topRight;
    align-self: start;
  }

  .cornerBottomLeft {
    grid-area: bottomLeft;
    align-self: end;
  }

  .cornerBottomRight {
    grid-area: bottomRight;
    align-self: end;
  }

  .cornerStatsContainer h3 {
    width: 100%;
    max-width: 100%;
    margin: 0 0 clamp(10px, 1vw, 14px);
    font-size: clamp(25px, 2.75vw, 39px);
    line-height: 110%;
    font-weight: 600;
    color: white;
    text-align: center;
    text-wrap: balance;
  }

  .cornerStatsContainer p {
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: red;
    font-weight: normal;
    font-size: clamp(16px, 1.7vw, 24px);
    line-height: 110%;
    text-align: center;
    text-wrap: balance;
  }

  @media (max-width: 1180px) {
    .cornerContainer {
      --corner-image-column: clamp(315px, 40vw, var(--smarty-image-width));
      --corner-gap: clamp(52px, 5.5vw, 92px);
      --corner-box-width: clamp(160px, 18vw, 220px);

      width: min(1180px, calc(100% - 40px));
    }

    .cornerStatsBox {
      min-height: clamp(112px, 13vw, 170px);
    }
  }

  @media (max-width: 980px) {
    .cornerContainer {
      --corner-image-column: clamp(300px, 38vw, 405px);
      --corner-gap: clamp(38px, 4.5vw, 58px);
      --corner-box-width: clamp(145px, 18vw, 185px);

      width: min(980px, calc(100% - 32px));
    }

    .cornerContainerImage {
      --centre-asset-scale: 0.78;
      --centre-asset-y: 4px;
    }

    .cornerStatsBox {
      min-height: clamp(104px, 12vw, 145px);
    }

    .cornerStatsContainer h3 {
      font-size: clamp(23px, 3vw, 29px);
    }

    .cornerStatsContainer p {
      font-size: clamp(15px, 2vw, 18px);
    }
  }

  @media (max-width: 840px) {
    .cornerContainer {
      --corner-image-column: clamp(275px, 36vw, 330px);
      --corner-gap: 34px;
      --corner-box-width: clamp(132px, 18vw, 160px);

      width: calc(100% - 28px);
    }

    .cornerContainerImage {
      --centre-asset-scale: 0.66;
      --centre-asset-y: 0px;
    }

    .cornerStatsBox {
      min-height: 125px;
    }

    .cornerStatsContainer h3 {
      font-size: clamp(21px, 3vw, 25px);
    }

    .cornerStatsContainer p {
      font-size: clamp(14px, 2vw, 16px);
    }
  }

  @media (max-width: 767px) {
    #perfectCont {
      max-width: unset;
      padding: 0 24px;
      margin-bottom: 46px;
    }

    #perfectCont h3 {
      font-size: clamp(42px, 11vw, 49px);
      line-height: 110%;
      margin-top: 0;
      margin-bottom: 0;
    }

    .cornerContainer {
      --corner-box-width: min(220px, 100%);
      --corner-mobile-image-width: min(420px, 84vw);

      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      grid-template-rows: auto auto auto;
      grid-template-areas:
        "topLeft topRight"
        "image image"
        "bottomLeft bottomRight";
      column-gap: clamp(18px, 5vw, 34px);
      row-gap: clamp(34px, 8vw, 56px);
      align-items: start;
      width: min(640px, calc(100% - 32px));
      margin: 0 auto 50px;
      overflow: visible;
    }

    .cornerContainerImage {
      --centre-asset-scale: 0.62;
      --centre-asset-y: -2px;

      display: block;
      grid-area: image;
      width: var(--corner-mobile-image-width);
      max-width: 100%;
      justify-self: center;
      margin: clamp(2px, 2vw, 12px) auto;
      overflow: visible;
    }

    .cornerStatsContainer {
      display: contents;
    }

    .cornerStatsBox,
    .cornerTopleft,
    .cornerTopRight,
    .cornerBottomRight,
    .cornerBottomLeft {
      position: relative;
      display: grid;
      grid-template-rows: minmax(70px, auto) auto;
      align-items: start;
      justify-items: center;
      width: 100%;
      max-width: 220px;
      min-height: 0;
      justify-self: center;
      align-self: start;
      text-align: center;
    }

    .cornerStatsContainer h3 {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      width: 100%;
      min-height: 70px;
      font-size: clamp(22px, 6vw, 29px);
      line-height: 110%;
      max-width: 100%;
      margin: 0 0 10px;
      text-align: center;
    }

    .cornerStatsContainer p {
      display: block;
      width: 100%;
      min-height: 0;
      font-size: clamp(15px, 4.2vw, 20px);
      line-height: 110%;
      max-width: 100%;
      margin: 0;
      text-align: center;
    }
  }

  @media (max-width: 480px) {
    .cornerContainer {
      width: calc(100% - 24px);
      column-gap: 14px;
      row-gap: 34px;
    }

    .cornerContainerImage {
      --centre-asset-scale: 0.52;
      --centre-asset-y: -4px;

      width: min(370px, 90vw);
    }

    .cornerStatsBox,
    .cornerTopleft,
    .cornerTopRight,
    .cornerBottomRight,
    .cornerBottomLeft {
      max-width: 170px;
      grid-template-rows: minmax(62px, auto) auto;
    }

    .cornerStatsContainer h3 {
      min-height: 62px;
      font-size: clamp(20px, 5.7vw, 24px);
      line-height: 110%;
      margin-bottom: 9px;
    }

    .cornerStatsContainer p {
      font-size: clamp(14px, 4vw, 17px);
      line-height: 110%;
    }
  }

  @media (max-width: 380px) {
    .cornerContainer {
      width: calc(100% - 20px);
      column-gap: 10px;
    }

    .cornerContainerImage {
      --centre-asset-scale: 0.47;
      --centre-asset-y: -6px;
    }

    .cornerStatsBox,
    .cornerTopleft,
    .cornerTopRight,
    .cornerBottomRight,
    .cornerBottomLeft {
      max-width: 150px;
      grid-template-rows: minmax(58px, auto) auto;
    }

    .cornerStatsContainer h3 {
      min-height: 58px;
      font-size: clamp(18px, 5.4vw, 21px);
    }

    .cornerStatsContainer p {
      font-size: clamp(13px, 3.8vw, 15px);
    }
  }

  @keyframes moveUp {
    from {
      opacity: 0;
      transform: translateY(20%);
    }

    to {
      opacity: 1;
      transform: translateY(0%);
    }
  }

  .animate-up {
    animation: moveUp 1s ease forwards;
  }
</style>

<div id="perfectCont">
  <h3 class="animate-on-scroll">
    Compact Motorsport Optics
  </h3>
</div>

<div class="cornerContainer">
  <div class="cornerContainerImage">
    <img decoding="async"
      class="cornerCentreAsset"
      loading="lazy"
      alt=""
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_BackgroundGlow2-scaled.webp"
      width="1920"
      height="1400"
    />

    <img decoding="async"
      loading="lazy"
      alt="smartycam corsa"
      id="smartyImageCenter"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Image3.webp"
      width="505"
      height="738"
    />
  </div>

  <div class="cornerStatsContainer">
    <div class="cornerTopleft cornerStatsBox">
      <h3>
        Rectilinear Lens
      </h3>
      <p>
        Our Smoothest Recording Yet
      </p> 
    </div>

    <div class="cornerTopRight cornerStatsBox">
      <h3>
        1920×1080 FHD
      </h3>
      <p>
        Crystal-Clear Quality
      </p> 
    </div>

    <div class="cornerBottomLeft cornerStatsBox">
      <h3>
        85° FOV Lens
      </h3>
      <p>
       Balanced Track Visibility and Driver Focus
      </p> 
    </div>

    <div class="cornerBottomRight cornerStatsBox">
      <h3>
        LSI Stabiliser
      </h3>
      <p>
        Professional-grade precision
      </p> 
    </div>
  </div>
</div>

<script>
  document.addEventListener("DOMContentLoaded", function () {
    function revealImageStack(target) {
      target.classList.add("animate-up");

      const imageWrap = target.closest(".cornerContainerImage");

      if (imageWrap) {
        imageWrap.classList.add("is-visible");
      }
    }

    function handleIntersection(entries, observer) {
      entries.forEach(function (entry) {
        if (entry.isIntersecting) {
          revealImageStack(entry.target);
          observer.unobserve(entry.target);
        }
      });
    }

    const target = document.getElementById("smartyImageCenter");

    if (!target) return;

    if (!("IntersectionObserver" in window)) {
      revealImageStack(target);
      return;
    }

    const observer = new IntersectionObserver(handleIntersection, {
      root: null,
      rootMargin: "0px",
      threshold: 0.35
    });

    observer.observe(target);
  });
</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_5 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_1">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .sony-sensor-section {
    background: #000;
    color: #fff;
    text-align: center;
    font-family: inherit;
    padding: clamp(80px, 9vw, 150px) 24px;
    overflow: hidden;
  }

  .sony-sensor-section,
  .sony-sensor-section * {
    box-sizing: border-box;
  }

  .sony-sensor-copy {
    width: min(1030px, 100%);
    margin: 0 auto;
  }

  .sony-sensor-title {
    margin: 0;
    color: #fff;
    max-width:500px;
    font-size: clamp(42px, 5vw, 78px);
    line-height: 110%;
    font-weight: 600;
    text-align: center;
    margin: 0 auto;
  }

  .sony-sensor-text {
    width: min(960px, 100%);
    margin: clamp(26px, 3vw, 38px) auto 0;
    color: #fff;
    font-size: clamp(18px, 1.55vw, 24px);
    line-height: 130%;
    font-weight: 400;
    max-width:600px;
    text-align: center;
  }

  .sony-sensor-video-wrap {
    width: min(608px, 100%);
    margin: clamp(52px, 6vw, 86px) auto 0;
    position: relative;
    border-radius:1rem; overflow:hidden;
    border: 1px solid red
  }

  .sony-sensor-video {
    display: block;
    width: 100%;
    height: auto;
    max-width: 608px;
    margin: 0 auto;
    border: 0;
    outline: 0;
    background: #000;
  }

  @media (max-width: 767px) {
    .sony-sensor-section {
      padding: 76px 20px 90px;
    }

    .sony-sensor-title {
      font-size: clamp(38px, 11vw, 52px);
    }

    .sony-sensor-text {
      font-size: 18px;
      line-height: 130%;
      margin-top: 26px;
    }

    .sony-sensor-video-wrap {
      margin-top: 48px;
    }
  }

  @media (max-width: 480px) {
    .sony-sensor-section {
      padding-left: 16px;
      padding-right: 16px;
    }

    .sony-sensor-title {
      font-size: clamp(34px, 10vw, 46px);
    }

    .sony-sensor-text {
      font-size: 17px;
    }
  }
</style>

<section class="sony-sensor-section">
  <div class="sony-sensor-copy">
    <h2 class="sony-sensor-title">
      12MP Sony CMOS Sensor
    </h2>

    <p class="sony-sensor-text">
      Featuring a cutting-edge 12MP Sony CMOS sensor paired with a powerful dedicated ISP processing chip, the SmartyCam 4 Corsa provides exceptionally sharp footage, richer and more accurate colours, and outstanding performance in every lighting condition, capturing every detail with professional-grade precision.
    </p> 
  </div>

  <div class="sony-sensor-video-wrap">
    <video
      class="sony-sensor-video"
      poster="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_video_sc4_lens.webp"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/video_sc4_lens.mp4"
      muted
      playsinline
      loop
      preload="metadata"
    ></video>
  </div>
</section>

<script>
  document.addEventListener("DOMContentLoaded", function () {
    const videos = document.querySelectorAll(".sony-sensor-video");

    if (!videos.length) return;

    function playVideo(video) {
      const playPromise = video.play();

      if (playPromise !== undefined) {
        playPromise.catch(function () {});
      }
    }

    function pauseVideo(video) {
      video.pause();
    }

    if (!("IntersectionObserver" in window)) {
      videos.forEach(playVideo);
      return;
    }

    const observer = new IntersectionObserver(
      function (entries) {
        entries.forEach(function (entry) {
          const video = entry.target;

          if (entry.isIntersecting) {
            playVideo(video);
          } else {
            pauseVideo(video);
          }
        });
      },
      {
        root: null,
        rootMargin: "0px",
        threshold: 0.35
      }
    );

    videos.forEach(function (video) {
      observer.observe(video);
    });
  });
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_6 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_2">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .key-facts-section {
    --key-facts-width: 1560px;
    --key-facts-card-width: 850px;
    --key-facts-card-height: 531px;
    --key-facts-gutter: max(24px, calc((100vw - var(--key-facts-width)) / 2));

    background: #000;
    color: #fff;
    overflow: hidden;
    padding: 90px 0 80px;
    font-family: inherit;
  }

  .key-facts-section,
  .key-facts-section * {
    box-sizing: border-box;
  }

  .key-facts-inner {
    width: 100%;
    padding-left: var(--key-facts-gutter);
    padding-right: var(--key-facts-gutter);
  }

  .key-facts-heading {
    margin: 0 auto 28px;
    font-size: 78px;
    line-height: 110%;
    max-width: 500px;
    letter-spacing: -0.01em;
    font-weight: 600;
    color: white;
    text-align: center;
  }

  .key-facts-intro {
    margin: 0 auto 84px;
    font-size: 24px;
    line-height: 110%;
    max-width: 450px;
    color: #d9d9d9;
    text-align: center;
  }

  .key-facts-carousel {
    display: flex;
    gap: 40px;

    width: 100vw;
    margin-left: calc(var(--key-facts-gutter) * -1);
    margin-right: calc(var(--key-facts-gutter) * -1);
    padding-left: var(--key-facts-gutter);
    padding-right: var(--key-facts-gutter);

    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: none;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;

    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;

    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .key-facts-carousel::-webkit-scrollbar {
    display: none;
  }

  .key-facts-carousel.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
  }

  .key-facts-card {
    flex: 0 0 var(--key-facts-card-width);
    width: var(--key-facts-card-width);
    user-select: none;
    -webkit-user-select: none;
  }

  .key-facts-image {
    position: relative;
    width: 850px;
    height: 531px;
    max-width: 100%;
    overflow: hidden;
    border-radius: 1rem;
    background: #000;
  }

  .key-facts-image img,
  .key-facts-image video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
  }

  .key-facts-image img {
    pointer-events: none;
  }

  .key-facts-video {
    cursor: grab;
  }

  .key-facts-carousel.is-dragging .key-facts-video {
    cursor: grabbing;
  }

  .key-facts-play {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    width: 74px;
    height: 74px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.46);
    color: #fff;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
    cursor: pointer;
    transition:
      opacity 0.25s ease,
      transform 0.25s ease,
      background 0.25s ease;
  }

  .key-facts-play:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: translate(-50%, -50%) scale(1.06);
  }

  .key-facts-play svg {
    width: 28px;
    height: 28px;
    margin-left: 4px;
  }

  .key-facts-image.is-playing .key-facts-play {
    opacity: 0;
    pointer-events: none;
  }

  .key-facts-card-text {
    margin: 30px 0 0;
    font-size: 19px;
    line-height: 110%;
    font-weight: 600;
    color: #a2a2a2;
    user-select: none;
    -webkit-user-select: none;
  }

  .key-facts-card-text h3 {
    display: inline;
    margin: 0 0 6px;
    font-weight: 600;
    color: #fff;
    line-height: 110%;
  }

  .key-facts-controls {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 42px auto 0;
    width: 100%;
    pointer-events: auto;
  }

  .key-facts-arrow {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: #313131;
    color: #f4f4f4;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition:
      transform 0.25s ease,
      background 0.25s ease,
      color 0.25s ease,
      opacity 0.25s ease;
  }

  .key-facts-arrow:hover {
    transform: translateY(-2px);
    background: #fff;
    color: #000;
  }

  .key-facts-arrow svg {
    width: 20px;
    height: 20px;
    display: block;
  }

  html.key-facts-no-select,
  html.key-facts-no-select * {
    user-select: none !important;
    -webkit-user-select: none !important;
    cursor: grabbing !important;
  }

  html.key-facts-no-select .key-facts-arrow,
  html.key-facts-no-select .key-facts-play {
    cursor: pointer !important;
  }

  @media (max-width: 768px) {
    .key-facts-section {
      --key-facts-gutter: 18px;
      --key-facts-card-width: 82vw;
      --key-facts-card-height: auto;

      padding: 60px 0 56px;
    }

    .key-facts-heading {
      max-width: 100%;
      margin-bottom: 22px;
      font-size: 42px;
    }

    .key-facts-intro {
      max-width: 100%;
      margin-bottom: 48px;
      font-size: 18px;
    }

    .key-facts-carousel {
      gap: 22px;
      width: 100vw;
      margin-left: calc(var(--key-facts-gutter) * -1);
      margin-right: calc(var(--key-facts-gutter) * -1);
      padding-left: var(--key-facts-gutter);
      padding-right: var(--key-facts-gutter);
      cursor: auto;
    }

    .key-facts-card {
      flex: 0 0 var(--key-facts-card-width);
      width: var(--key-facts-card-width);
    }

    .key-facts-image {
      width: 100%;
      height: auto;
      aspect-ratio: 850 / 531;
      border-radius: 1rem;
    }

    .key-facts-play {
      width: 62px;
      height: 62px;
    }

    .key-facts-play svg {
      width: 23px;
      height: 23px;
    }

    .key-facts-card-text {
      margin-top: 24px;
      font-size: 17px;
    }

    .key-facts-controls {
      margin-top: 32px;
    }

    .key-facts-arrow {
      width: 44px;
      height: 44px;
    }
  }
</style>

<div class="key-facts-section">
  <div class="key-facts-inner">
    <h2 class="key-facts-heading">
      Engineered for Motorsport
    </h2>

    <div class="key-facts-intro">
      Engineered to survive extreme racing conditions with uncompromising reliability
    </div>

    <div class="key-facts-carousel">
      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/TileImage1.webp"
            alt=""
            draggable="false"
          >
        </div>

        <div class="key-facts-card-text">
          <h3>Designed for the Extreme -</h3>

          Guaranteeing you great resistance against the extreme conditions of racing and against the most adverse weather.
          <p style="margin-top: 20px">
            SmartyCam 4 cameras are IP65 waterproof and are made with CNC billet aluminium with sapphire frontal glass for complete protection.
          </p> 
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <video
            class="key-facts-video"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/video_sc4_config.mp4"
            poster="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_video_sc4_config.webp"
            preload="metadata"
            playsinline
            loop
            muted
          ></video>

          <button class="key-facts-play" type="button" aria-label="Play video">
            <svg viewBox="0 0 24 24" aria-hidden="true">
              <path d="M8 5.5L18 12L8 18.5V5.5Z" fill="currentColor"/>
            </svg>
          </button>
        </div>

        <div class="key-facts-card-text">
          <h3>SmartyCam 4 Configuration -</h3>
          With RaceStudio 3 software you can configure your overlays as you wish: add your logo and the track map and choose your graphic elements from a list of pre-determined sets with same layout or even single objects from different sets.
          <p style="margin-top: 20px">
            Your videos will be truly "yours" in all details, from the data to their graphic layout.
          </p> 
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <video
            class="key-facts-video"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/video_sc4_autotrack_selection.mp4"
            poster="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_video_sc4_autotrack_selection.webp"
            preload="metadata"
            playsinline
            loop
            muted
          ></video>

          <button class="key-facts-play" type="button" aria-label="Play video">
            <svg viewBox="0 0 24 24" aria-hidden="true">
              <path d="M8 5.5L18 12L8 18.5V5.5Z" fill="currentColor"/>
            </svg>
          </button>
        </div>

        <div class="key-facts-card-text">
          <h3>Automatic Track Recognition & Lap Analysis -</h3>
          The SmartyCam 4 Corsa can automatically recognise which track you’re on and begin mapping - if a track is not listed, custom tracks can be created using Aim's Race Studio software.
          <p style="margin-top: 20px">
            After each session, footage can be split into individual laps for detailed review and direct comparison against previous sessions, teammates, or benchmark laps.
          </p> 
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Tile-Image-4.webp"
            alt=""
            draggable="false"
          >
        </div>

        <div class="key-facts-card-text">
          <h3>Brand-New Race Studio 3 App -</h3>
          All camera settings including framing, frame rate, image flip and more, can be easily adjusted right from your smartphone, providing precise control for any track or condition.
          <p style="margin-top: 20px">
            Data analysis remains one of the most effective ways to improve lap times and vehicle reliability. By combining onboard video with telemetry, the SmartyCam 4 Corsa helps you identify faster and slower sectors, braking and throttle points, gear selection errors, chassis balance issues, engine warnings or pressure drops, and consistency across multiple laps.
          </p> 
        </div>
      </div>
    </div>

    <div class="key-facts-controls" aria-label="Key facts carousel controls">
      <button class="key-facts-arrow key-facts-arrow-left" type="button" aria-label="Previous slide">
        <svg viewBox="0 0 24 24" aria-hidden="true">
          <path d="M15 5L8 12L15 19" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
      </button>

      <button class="key-facts-arrow key-facts-arrow-right" type="button" aria-label="Next slide">
        <svg viewBox="0 0 24 24" aria-hidden="true">
          <path d="M9 5L16 12L9 19" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
      </button>
    </div>
  </div>
</div>

<script>
  (() => {
    const carousels = document.querySelectorAll(".key-facts-carousel");

    carousels.forEach((carousel) => {
      if (carousel.dataset.dragScrollReady === "true") return;

      carousel.dataset.dragScrollReady = "true";

      const section = carousel.closest(".key-facts-section");
      const prevButton = section ? section.querySelector(".key-facts-arrow-left") : null;
      const nextButton = section ? section.querySelector(".key-facts-arrow-right") : null;

      let isDown = false;
      let startX = 0;
      let startScrollLeft = 0;
      let suppressNextClick = false;
      let pointerId = null;

      function isPlayButton(event) {
        return Boolean(event.target.closest(".key-facts-play"));
      }

      function getMedia(video) {
        return video ? video.closest(".key-facts-image") : null;
      }

      function pauseOtherVideos(currentVideo) {
        carousel.querySelectorAll(".key-facts-video").forEach((otherVideo) => {
          if (otherVideo === currentVideo) return;

          otherVideo.pause();

          const otherMedia = getMedia(otherVideo);

          if (otherMedia) {
            otherMedia.classList.remove("is-playing");
          }
        });
      }

      function toggleVideo(video) {
        if (!video) return;

        const media = getMedia(video);

        if (!media) return;

        pauseOtherVideos(video);

        if (video.paused) {
          video.muted = true;
          video.playsInline = true;

          const playPromise = video.play();

          if (playPromise !== undefined) {
            playPromise
              .then(() => {
                media.classList.add("is-playing");
              })
              .catch(() => {
                media.classList.remove("is-playing");
              });
          } else {
            media.classList.add("is-playing");
          }
        } else {
          video.pause();
          media.classList.remove("is-playing");
        }
      }

      function getCards() {
        return Array.from(carousel.querySelectorAll(".key-facts-card"));
      }

      function getClosestCard() {
        const cards = getCards();
        const carouselCenter = carousel.scrollLeft + carousel.clientWidth / 2;

        return cards.reduce((closest, card) => {
          const cardCenter = card.offsetLeft + card.offsetWidth / 2;
          const distance = Math.abs(cardCenter - carouselCenter);

          if (!closest || distance < closest.distance) {
            return { card, distance };
          }

          return closest;
        }, null)?.card || cards[0];
      }

      function centerCard(card) {
        if (!card) return;

        const left = card.offsetLeft - (carousel.clientWidth - card.offsetWidth) / 2;

        carousel.scrollTo({
          left,
          behavior: "smooth"
        });
      }

      function scrollByCard(direction) {
        const cards = getCards();
        const currentCard = getClosestCard();
        const currentIndex = cards.indexOf(currentCard);
        const nextIndex = Math.max(0, Math.min(cards.length - 1, currentIndex + direction));

        centerCard(cards[nextIndex]);
      }

      if (prevButton) {
        prevButton.addEventListener("click", () => scrollByCard(-1));
      }

      if (nextButton) {
        nextButton.addEventListener("click", () => scrollByCard(1));
      }

      function stopDrag() {
        if (!isDown) return;

        isDown = false;
        pointerId = null;

        carousel.classList.remove("is-dragging");
        document.documentElement.classList.remove("key-facts-no-select");
      }

      carousel.addEventListener("pointerdown", (event) => {
        if (isPlayButton(event)) return;
        if (event.pointerType !== "mouse" || event.button !== 0) return;

        isDown = true;
        suppressNextClick = false;
        pointerId = event.pointerId;
        startX = event.clientX;
        startScrollLeft = carousel.scrollLeft;

        carousel.classList.add("is-dragging");
        document.documentElement.classList.add("key-facts-no-select");

        carousel.setPointerCapture(pointerId);
        event.preventDefault();
      });

      carousel.addEventListener("pointermove", (event) => {
        if (!isDown || event.pointerId !== pointerId) return;

        const distance = event.clientX - startX;

        if (Math.abs(distance) > 3) {
          suppressNextClick = true;
        }

        carousel.scrollLeft = startScrollLeft - distance;
        event.preventDefault();
      }, { passive: false });

      carousel.addEventListener("pointerup", (event) => {
        if (pointerId !== event.pointerId) return;

        if (carousel.hasPointerCapture(event.pointerId)) {
          carousel.releasePointerCapture(event.pointerId);
        }

        stopDrag();
      });

      carousel.addEventListener("pointercancel", stopDrag);
      carousel.addEventListener("lostpointercapture", stopDrag);
      carousel.addEventListener("mouseleave", stopDrag);

      carousel.addEventListener("dragstart", (event) => {
        event.preventDefault();
      });

      carousel.addEventListener(
        "click",
        (event) => {
          if (isPlayButton(event)) return;
          if (!suppressNextClick) return;

          event.preventDefault();
          event.stopPropagation();

          suppressNextClick = false;
        },
        true
      );

      carousel.querySelectorAll(".key-facts-play").forEach((button) => {
        button.addEventListener("click", (event) => {
          event.preventDefault();
          event.stopPropagation();

          suppressNextClick = false;

          const media = button.closest(".key-facts-image");
          const video = media ? media.querySelector(".key-facts-video") : null;

          toggleVideo(video);
        });
      });

      carousel.querySelectorAll(".key-facts-video").forEach((video) => {
        video.addEventListener("play", () => {
          const media = getMedia(video);

          if (media) {
            media.classList.add("is-playing");
          }
        });

        video.addEventListener("pause", () => {
          const media = getMedia(video);

          if (media) {
            media.classList.remove("is-playing");
          }
        });

        video.addEventListener("ended", () => {
          const media = getMedia(video);

          if (media) {
            media.classList.remove("is-playing");
          }
        });
      });
    });
  })();
</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_3">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .ecosystem-section {
    background: #000;
    color: #fff;
    padding: 65px 0 100px;
    font-family: inherit;
    overflow: hidden;
  }

  .ecosystem-section,
  .ecosystem-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .ecosystem-inner {
    width: min(1205px, calc(100% - 48px));
    margin: 0 auto;
    text-align: center;
  }

  .ecosystem-title {
    margin: 0 auto 36px;
    font-size: 49px;
    font-weight: 600;
    max-width: 500px;
    letter-spacing: -0.02em;
    color: #fff;
  }

  .ecosystem-subtitle {
    margin: 0 auto 70px;
    font-size: 24px;
    max-width: 696px;
    color: #d9d9d9;
  }

  .aim-ecosystem-stage {
    --center-x: 48.96%;
    --center-y: 49.35%;
    --node-scale: 0.7;
    --node-hover-scale: 1.12;
    --active-glow-x: 71.04%;
    --active-glow-y: 73.75%;

    position: relative;
    width: 100%;
    aspect-ratio: 1205 / 853;
    margin: 0 auto;
  }

  .ecosystem-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1;
    opacity: 0;
    transform: scale(0.92);
    transform-origin: var(--center-x) var(--center-y);
    pointer-events: none;
    transition:
      opacity 700ms ease 250ms,
      transform 950ms cubic-bezier(0.16, 1, 0.3, 1) 250ms;
  }

  .ecosystem-lines path,
  .ecosystem-lines circle,
  .ecosystem-lines line {
    vector-effect: non-scaling-stroke;
  }

  .ecosystem-glow {
    position: absolute;
    left: var(--active-glow-x);
    top: var(--active-glow-y);
    width: 300px;
    max-width: 25%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
      radial-gradient(circle, rgba(255, 0, 0, 0.32) 0%, rgba(180, 0, 0, 0.2) 38%, rgba(0, 0, 0, 0) 70%);
    transform: translate(-50%, -50%) scale(0.35);
    opacity: 0;
    z-index: 2;
    pointer-events: none;
    transition:
      left 520ms cubic-bezier(0.16, 1, 0.3, 1),
      top 520ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 520ms ease 950ms,
      transform 720ms cubic-bezier(0.16, 1, 0.3, 1) 950ms;
  }

  .ecosystem-center {
    position: absolute;
    left: var(--center-x);
    top: var(--center-y);
    width: 23.74%;
    aspect-ratio: 1;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #000;
    transform: translate(-50%, -50%);
    z-index: 8;
    display: grid;
    place-items: center;
    box-shadow: 0 0 34px rgba(255, 255, 255, 0.08);
  }

  .ecosystem-logo-img {
    display: block;
    width: 67%;
    height: auto;
  }

  .ecosystem-node {
    --x: var(--center-x);
    --y: var(--center-y);
    --delay: 0ms;

    position: absolute;
    left: var(--center-x);
    top: var(--center-y);
    width: calc(18.76% * var(--node-scale));
    aspect-ratio: 226 / 305;
    z-index: 6;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.15);
    cursor: pointer;
    will-change: left, top, transform, opacity;
    transition:
      left 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      top 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      transform 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      opacity 350ms ease var(--delay),
      z-index 0ms linear;
  }

  .ecosystem-node-img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter:
      drop-shadow(0 14px 18px rgba(255, 255, 255, 0.05))
      drop-shadow(0 20px 28px rgba(0, 0, 0, 0.55));
    transform: translateY(0) rotate(0deg);
    transition:
      filter 220ms ease,
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, filter;
  }

  .ecosystem-node-lap {
    --x: 49.00%;
    --y: 9.79%;
    --delay: 120ms;
  }

  .ecosystem-node-displays {
    --x: 70.70%;
    --y: 26.60%;
    --delay: 230ms;
  }

  .ecosystem-node-cameras {
    --x: 71.04%;
    --y: 73.75%;
    --delay: 340ms;
  }

  .ecosystem-node-cables {
    --x: 49.00%;
    --y: 88.63%;
    --delay: 450ms;
  }

  .ecosystem-node-expansions {
    --x: 29.10%;
    --y: 71.55%;
    --delay: 560ms;
  }

  .ecosystem-node-sensors {
    --x: 29.14%;
    --y: 28.60%;
    --delay: 670ms;
  }

  .ecosystem-dot {
    position: absolute;
    width: 2.66%;
    aspect-ratio: 1;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #000;
    z-index: 5;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.35);
    transition:
      opacity 450ms ease 1000ms,
      transform 650ms cubic-bezier(0.16, 1, 0.3, 1) 1000ms;
  }

  .ecosystem-dot-left {
    left: 23.57%;
    top: 49.30%;
  }

  .ecosystem-dot-right {
    left: 74.19%;
    top: 49.30%;
  }

  .ecosystem-label {
    position: absolute;
    z-index: 9;
    text-align: left;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition:
      opacity 520ms ease,
      transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-label {
    opacity: 0;
    transform: translateY(14px);
  }

  .aim-ecosystem-stage.is-visible.is-labels-ready .ecosystem-label.is-active {
    opacity: 1;
    transform: translateY(0);
  }

  .ecosystem-label h3 {
    margin: 0 0 12px;
    font-size: 21px;
    font-weight: 700;
    color: #fff;
  }

  .ecosystem-label p {
    margin: 0;
    font-size: 16px;
    font-weight: 450;
    color: #d9d9d9;
  }

  .ecosystem-label-sensors {
    left: 0;
    top: 22.85%;
    width: 190px;
  }

  .ecosystem-label-expansions {
    left: 0;
    top: 67.72%;
    width: 265px;
  }

  .ecosystem-label-lap {
    left: 58.50%;
    top: 0;
    width: 280px;
  }

  .ecosystem-label-displays {
    left: 80.66%;
    top: 21.80%;
    width: 235px;
  }

  .ecosystem-label-cameras {
    left: 80.66%;
    top: 66.35%;
    width: 235px;
  }

  .ecosystem-label-cables {
    left: 59.17%;
    top: 86.60%;
    width: 330px;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-lines {
    opacity: 1;
    transform: scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-glow {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node {
    left: var(--x);
    top: var(--y);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node-img {
    animation: ecosystem-node-float 4.8s ease-in-out infinite;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:nth-of-type(odd) .ecosystem-node-img {
    animation-delay: 0.35s;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:nth-of-type(even) .ecosystem-node-img {
    animation-delay: 0.7s;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node.is-active {
    z-index: 14;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible {
    z-index: 15;
    transform: translate(-50%, -54%) scale(var(--node-hover-scale));
    transition:
      left 1050ms cubic-bezier(0.16, 1, 0.3, 1),
      top 1050ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 350ms ease,
      z-index 0ms linear;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible .ecosystem-node-img {
    animation-play-state: paused;
    transform: translateY(-4px) rotate(-1.5deg);
    filter:
      drop-shadow(0 20px 22px rgba(0, 0, 0, 0.65))
      drop-shadow(0 0 22px rgba(255, 0, 0, 0.32));
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node-displays:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-cameras:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-displays:focus-visible .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-cameras:focus-visible .ecosystem-node-img {
    transform: translateY(-4px) rotate(1.5deg);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-dot {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-resetting .ecosystem-lines,
  .aim-ecosystem-stage.is-resetting .ecosystem-glow,
  .aim-ecosystem-stage.is-resetting .ecosystem-node,
  .aim-ecosystem-stage.is-resetting .ecosystem-dot,
  .aim-ecosystem-stage.is-resetting .ecosystem-label,
  .aim-ecosystem-stage.is-resetting .ecosystem-node-img {
    transition: none !important;
    animation: none !important;
  }

  .ecosystem-mobile-image {
    display: none;
  }

  .ecosystem-mobile-stack {
    display: none;
  }

  .ecosystem-copy {
    max-width: 637px;
    margin: 78px auto 0;
    font-size: 18px;
    font-weight: 450;
    letter-spacing: 0.02em;
    color: #d9d9d9;
  }

  @keyframes ecosystem-node-float {
    0% {
      transform: translateY(0) rotate(0deg);
    }

    50% {
      transform: translateY(-5px) rotate(0.6deg);
    }

    100% {
      transform: translateY(0) rotate(0deg);
    }
  }

  @media (max-width: 1240px) {
    .aim-ecosystem-stage,
    .ecosystem-mobile-image {
      display: none;
    }

    .ecosystem-mobile-stack {
      --mobile-node-size: 126px;
      --mobile-aim-size: 166px;
      --mobile-line-width: 4px;

      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: min(520px, 100%);
      margin: 0 auto;
      padding: 0 0 10px;
    }

    .ecosystem-mobile-stack::before {
      content: "";
      position: absolute;
      left: 50%;
      top: calc(var(--mobile-aim-size) / 2);
      bottom: calc(var(--mobile-node-size) / 2);
      width: var(--mobile-line-width);
      transform: translateX(-50%);
      background-image: repeating-linear-gradient(
        to bottom,
        #fff 0 14px,
        transparent 14px 25px
      );
      opacity: 0.72;
      pointer-events: none;
    }

    .ecosystem-mobile-aim {
      position: relative;
      z-index: 2;
      display: grid;
      place-items: center;
      width: var(--mobile-aim-size);
      aspect-ratio: 1;
      margin: 0 auto 42px;
      border: 5px solid #fff;
      border-radius: 50%;
      background: #000;
    }

    .ecosystem-mobile-aim img {
      display: block;
      width: 64%;
      height: auto;
    }

    .ecosystem-mobile-item {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }

    .ecosystem-mobile-item + .ecosystem-mobile-item {
      margin-top: 58px;
    }

    .ecosystem-mobile-node {
      position: relative;
      z-index: 2;
      display: grid;
      place-items: center;
      width: var(--mobile-node-size);
      aspect-ratio: 1;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
    }

    .ecosystem-mobile-node img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      opacity: 1;
      transition: filter 240ms ease;
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-node img {
      opacity: 1;
      filter:
        drop-shadow(0 18px 24px rgba(0, 0, 0, 0.65))
        drop-shadow(0 0 20px rgba(255, 0, 0, 0.25));
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-node::before {
      content: "";
      position: absolute;
      inset: -64px;
      z-index: -1;
      border-radius: 50%;
      background:
        radial-gradient(circle, rgba(255, 0, 0, 0.34) 0%, rgba(180, 0, 0, 0.22) 36%, rgba(0, 0, 0, 0) 70%);
      pointer-events: none;
    }

    .ecosystem-mobile-label {
      display: none;
      position: relative;
      z-index: 4;
      width: min(410px, calc(100vw - 42px));
      margin: 24px auto 0;
      padding: 36px 30px 40px;
      text-align: center;
      color: #fff;
      border: 0;
      background:
        radial-gradient(
          ellipse at center,
          rgba(0, 0, 0, 0.96) 0%,
          rgba(0, 0, 0, 0.92) 38%,
          rgba(0, 0, 0, 0.58) 66%,
          rgba(0, 0, 0, 0) 100%
        );
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-label {
      display: block;
    }

    .ecosystem-mobile-label h3 {
      position: relative;
      z-index: 2;
      margin: 0 0 18px;
      font-size: 23px;
      line-height: 110%;
      font-weight: 700;
      color: #fff;
      text-align: center;
    }

    .ecosystem-mobile-label p {
      position: relative;
      z-index: 2;
      margin: 0;
      font-size: 22px;
      line-height: 120%;
      font-weight: 400;
      color: #fff;
      text-align: center;
    }
  }

  @media (max-width: 1024px) {
    .ecosystem-section {
      padding: 70px 0 88px;
    }

    .ecosystem-title {
      font-size: 49px;
    }

    .ecosystem-subtitle {
      margin-bottom: 58px;
    }
  }

  @media (max-width: 768px) {
    .ecosystem-section {
      padding: 56px 0 64px;
    }

    .ecosystem-inner {
      width: calc(100% - 36px);
    }

    .ecosystem-title {
      margin-bottom: 24px;
      font-size: 42px;
    }

    .ecosystem-subtitle {
      margin-bottom: 42px;
      font-size: 18px;
    }

    .ecosystem-mobile-stack {
      --mobile-node-size: 116px;
      --mobile-aim-size: 150px;
    }

    .ecosystem-mobile-aim {
      margin-bottom: 38px;
    }

    .ecosystem-mobile-item + .ecosystem-mobile-item {
      margin-top: 52px;
    }

    .ecosystem-mobile-label {
      width: min(390px, calc(100vw - 36px));
      margin-top: 22px;
      padding: 32px 24px 36px;
    }

    .ecosystem-mobile-label h3 {
      font-size: 21px;
    }

    .ecosystem-mobile-label p {
      font-size: 20px;
    }

    .ecosystem-copy {
      margin-top: 44px;
      font-size: 15px;
      letter-spacing: 0.01em;
    }
  }

  @media (max-width: 480px) {
    .ecosystem-mobile-stack {
      --mobile-node-size: 104px;
      --mobile-aim-size: 136px;
    }

    .ecosystem-mobile-label {
      width: min(360px, calc(100vw - 28px));
      padding: 30px 22px 34px;
    }

    .ecosystem-mobile-label h3 {
      font-size: 20px;
    }

    .ecosystem-mobile-label p {
      font-size: 18px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .ecosystem-lines,
    .ecosystem-glow,
    .ecosystem-node,
    .ecosystem-dot,
    .ecosystem-label,
    .ecosystem-node-img {
      transition: none !important;
      animation: none !important;
    }

    .aim-ecosystem-stage.is-visible.is-labels-ready .ecosystem-label.is-active {
      opacity: 1;
      transform: none;
    }
  }
</style>

<div class="ecosystem-section">
  <div class="ecosystem-inner">
    <h2 class="ecosystem-title">
      Compatible With Various Aim Devices
    </h2>

    <div class="ecosystem-subtitle">
      The SmartyCam 4 Corsa can easily integrate with Aim devices like the Solo 2 DL data logger, GPS09 module and data hub to create a fully synchronised motorsport setup that captures, logs and overlays important aspects of your vehicle’s performance to enhance real time driving and post-race analysis.
    </div>

    <div class="aim-ecosystem-stage">
      <svg class="ecosystem-lines" viewBox="0 0 1205 853" aria-hidden="true">
        <circle cx="590" cy="421" r="306" fill="none" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="590" y2="83" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="852" y2="244" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="856" y2="612" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="590" y2="756" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="327" y2="612" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="327" y2="244" stroke="#fff" stroke-width="4" stroke-dasharray="14 10" />
      </svg>

      <div class="ecosystem-glow"></div>

      <div class="ecosystem-center">
        <img decoding="async"
          class="ecosystem-logo-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/logo.webp"
          alt="AiM"
        >
      </div>

      <div class="ecosystem-dot ecosystem-dot-left"></div>
      <div class="ecosystem-dot ecosystem-dot-right"></div>

      <div class="ecosystem-node ecosystem-node-lap" data-ecosystem-target="lap" data-glow-x="49.00%" data-glow-y="9.79%" tabindex="0">
        <img decoding="async" class="ecosystem-node-img" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-7-copy.webp" alt="Aim lap timing" width="226" height="305" loading="lazy">
      </div>

      <div class="ecosystem-node ecosystem-node-displays" data-ecosystem-target="displays" data-glow-x="70.70%" data-glow-y="26.60%" tabindex="0">
        <img decoding="async" class="ecosystem-node-img" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-6-copy.webp" alt="Aim displays and display loggers" width="226" height="305" loading="lazy">
      </div>

      <div class="ecosystem-node ecosystem-node-cameras is-active" data-ecosystem-target="cameras" data-glow-x="71.04%" data-glow-y="73.75%" tabindex="0">
        <img decoding="async" class="ecosystem-node-img" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-5-copy.webp" alt="Aim cameras" width="226" height="305" loading="lazy">
      </div>

      <div class="ecosystem-node ecosystem-node-cables" data-ecosystem-target="cables" data-glow-x="49.00%" data-glow-y="88.63%" tabindex="0">
        <img decoding="async" class="ecosystem-node-img" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-4-copy.webp" alt="Aim cables and accessories" width="226" height="305" loading="lazy">
      </div>

      <div class="ecosystem-node ecosystem-node-expansions" data-ecosystem-target="expansions" data-glow-x="29.10%" data-glow-y="71.55%" tabindex="0">
        <img decoding="async" class="ecosystem-node-img" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-3-copy.webp" alt="Aim sensors and expansions" width="226" height="305" loading="lazy">
      </div>

      <div class="ecosystem-node ecosystem-node-sensors" data-ecosystem-target="sensors" data-glow-x="29.14%" data-glow-y="28.60%" tabindex="0">
        <img decoding="async" class="ecosystem-node-img" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-2-copy.webp" alt="Aim sensors" width="226" height="305" loading="lazy">
      </div>

      <div class="ecosystem-label ecosystem-label-sensors" data-ecosystem-label="sensors">
        <h3>Sensors</h3>
        <p>Integrates cleanly with Aim displays, loggers, and control modules to deliver consistent, high-quality data.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-lap" data-ecosystem-label="lap">
        <h3>Lap Timing</h3>
        <p>Delivers precise, lap/session timing data that anchors the rest of the system’s performance analysis.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-displays" data-ecosystem-label="displays">
        <h3>Displays & Display Loggers</h3>
        <p>Presents real-time vehicle information through a unified interface that consolidates multiple data sources.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-cameras is-active" data-ecosystem-label="cameras">
        <h3>Cameras</h3>
        <p>Aligns high-quality video with telemetry inputs to create a fully synchronised performance record.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-cables" data-ecosystem-label="cables">
        <h3>Cables & Accessories</h3>
        <p>Provides the physical and electrical pathways that maintain stable communication and reliable system operation.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-expansions" data-ecosystem-label="expansions">
        <h3>Sensors & Expansions</h3>
        <p>Extends the platform’s measurement capabilities by adding specialised channels and advanced acquisition modules.</p> 
      </div>
    </div>

    <div class="ecosystem-mobile-stack" data-ecosystem-mobile>
      <div class="ecosystem-mobile-aim">
        <img decoding="async"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/logo.webp"
          alt="AiM"
        >
      </div>

      <div class="ecosystem-mobile-item is-active" data-mobile-target="cameras">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show cameras">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/aimEcoSystem_Camera_Black_Highlighted.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Cameras</h3>
          <p>Aligns high-quality video with telemetry inputs to create a fully synchronised performance record.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="lap">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show lap timing">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/aimEcoSystem_LapTimer_Black.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Lap Timing</h3>
          <p>Delivers precise lap and session timing data that anchors the rest of the system’s performance analysis.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="displays">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show displays">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/aimEcoSystem_Logger_Black.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Displays & Display Loggers</h3>
          <p>Presents real-time vehicle information through a unified interface that consolidates multiple data sources.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="cables">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show cables">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/aimEcosystem_Cables_Black.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Cables & Accessories</h3>
          <p>Provides the physical and electrical pathways that maintain stable communication and reliable system operation.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="expansions">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show expansions">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/aimEcosystem_Expansion_Black.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Sensors & Expansions</h3>
          <p>Extends the platform’s measurement capabilities by adding specialised channels and advanced acquisition modules.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="sensors">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show sensors">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/aimEcosystem_Sensors_Black.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Sensors</h3>
          <p>Integrates cleanly with Aim displays, loggers, and control modules to deliver consistent, high-quality data.</p> 
        </div>
      </div>
    </div>
  </div>
</div>

<script>
  (() => {
    const stages = document.querySelectorAll('.aim-ecosystem-stage');

    if (stages.length) {
      const defaultTarget = 'cameras';
      const defaultLabelRevealDelay = 1360;

      const setActiveItem = (stage, target) => {
        const nodes = stage.querySelectorAll('[data-ecosystem-target]');
        const labels = stage.querySelectorAll('[data-ecosystem-label]');
        const activeNode = stage.querySelector(`[data-ecosystem-target="${target}"]`);

        if (!activeNode) return;

        nodes.forEach((node) => {
          node.classList.toggle('is-active', node.dataset.ecosystemTarget === target);
        });

        labels.forEach((label) => {
          label.classList.toggle('is-active', label.dataset.ecosystemLabel === target);
        });

        stage.style.setProperty('--active-glow-x', activeNode.dataset.glowX || '71.04%');
        stage.style.setProperty('--active-glow-y', activeNode.dataset.glowY || '73.75%');
      };

      const showStage = (stage) => {
        if (stage.classList.contains('is-visible')) return;

        stage.classList.remove('is-resetting');
        stage.classList.remove('is-labels-ready');
        stage.classList.add('is-visible');

        setActiveItem(stage, defaultTarget);

        window.clearTimeout(stage.ecosystemLabelTimer);

        stage.ecosystemLabelTimer = window.setTimeout(() => {
          if (stage.classList.contains('is-visible')) {
            stage.classList.add('is-labels-ready');
          }
        }, defaultLabelRevealDelay);
      };

      const resetStage = (stage) => {
        if (!stage.classList.contains('is-visible')) return;

        window.clearTimeout(stage.ecosystemLabelTimer);

        stage.classList.add('is-resetting');
        stage.classList.remove('is-visible');
        stage.classList.remove('is-labels-ready');

        setActiveItem(stage, defaultTarget);

        requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            stage.classList.remove('is-resetting');
          });
        });
      };

      stages.forEach((stage) => {
        const nodes = stage.querySelectorAll('[data-ecosystem-target]');

        setActiveItem(stage, defaultTarget);

        nodes.forEach((node) => {
          node.addEventListener('mouseenter', () => {
            setActiveItem(stage, node.dataset.ecosystemTarget);

            if (stage.classList.contains('is-visible')) {
              stage.classList.add('is-labels-ready');
            }
          });

          node.addEventListener('focus', () => {
            setActiveItem(stage, node.dataset.ecosystemTarget);

            if (stage.classList.contains('is-visible')) {
              stage.classList.add('is-labels-ready');
            }
          });
        });
      });

      if (!('IntersectionObserver' in window)) {
        stages.forEach((stage) => {
          showStage(stage);
          stage.classList.add('is-labels-ready');
        });
      } else {
        const observer = new IntersectionObserver(
          (entries) => {
            entries.forEach((entry) => {
              if (entry.intersectionRatio >= 0.35) {
                showStage(entry.target);
                return;
              }

              if (!entry.isIntersecting) {
                resetStage(entry.target);
              }
            });
          },
          {
            threshold: [0, 0.35]
          }
        );

        stages.forEach((stage) => observer.observe(stage));
      }
    }

    const mobileStacks = document.querySelectorAll('[data-ecosystem-mobile]');

    mobileStacks.forEach((stack) => {
      const items = stack.querySelectorAll('.ecosystem-mobile-item');

      items.forEach((item) => {
        const button = item.querySelector('.ecosystem-mobile-node');

        if (!button) return;

        button.addEventListener('click', () => {
          items.forEach((otherItem) => {
            otherItem.classList.toggle('is-active', otherItem === item);
          });
        });
      });
    });
  })();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_7 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_4">
				
				
				
				
				<div class="et_pb_code_inner"><style>


 
.containerAim {
  display: flex;
  flex-direction: column;
  align-items:center;
  gap: 30px;
  max-width: 1050px;
  width: 100%;
  margin:0 auto;
}

.top-box, .box {
  display: flex;
  width:100%;
  border-radius:1.75rem;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  background-color:#0f0f0f;
  
}
  .top-box{
  align-items:center;
  }
.top-box video {
  width: 50%; /* Adjust based on your preference */
}
  .box img{
    width: 100%;
  }
  .box h2, .box p, .text h2, .text p {
    text-align:center;
    color:white;
  }
  .box h2,.text h2{
    font-weight:600;
    font-size:39px;
    line-height: 43px;
  }
  .box p, .text p{
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .box h3{
    font-size: 15px;
    color:white
  }

.text, .box {
  flex: 1;
  padding:30px;
}
  .box2{
    padding:0 !important;
    overflow:hidden;
  }
  .top-box{
    gap: 30px;
    overflow:hidden;
  }
  .box{
    justify-content:center;
    align-items:center;
flex-direction:column;
  }

.bottom {
  display: flex;
  gap: 30px;
  max-width: 900px;
    width: 100%;
}

.left-column, .right-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 50%;
}


  .imageCont img{
    width:100%;
    margin-top: 50px;
  }
  .mb-100{
    margin-bottom:100px;
    margin-top: 150px;
  }
  .noIconBox{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:0;
    margin-top: -15%;
  }
  .noIcon{
    position:absolute;
    z-index:0
  }
   .getHeight{
   justify-content:space-between;
  }
  .space-between{
        justify-content: space-between;
  }
  .colorSelector{
    display:flex;
		gap:10px;
    justify-content:center;
    align-items:center;
  }
  .colorBtn{
    border-radius:100px;
    height:15px;
    width: 15px;
    cursor:pointer;
    background-color:white;
    transition:all 0.7s ease;
    border:2px solid transparent;
  }
  .colorBtn:hover{
    transform:scale(1.5);
  }
  .colorSelected{
    transform:scale(1.5);
    border:2px solid white
  }
@media (max-width: 768px) {
  .bottom {
    flex-direction: column;
  }
  .top-box{
    flex-direction: column;
  }

  .box h2,.text h2{
  	margin-bottom:20px;
  }
  .top-box img {
    width: 100%;
    align-items:flex-start;
  }
  .left-column, .right-column {
  width: 100%;
}
  .top-box video,.box img {
  width: 100%; /* Adjust based on your preference */
}
  .mb-100 {
    margin-bottom: 50px;
    margin-top: 100px;
}
}

  .align-left h2, .align-left p{
    text-align:left !important;
  }
  .pb-50{
    padding-bottom:50px;
  }
  .p-50{
    padding:50px !important;
  }
  .gradientBg{
   background: linear-gradient(125deg, rgba(92,92,92,1) 0%, rgba(50,50,50,1) 23%, rgba(32,32,32,1) 37%, rgba(15,15,15,1) 100%);
  }
  .gradientBg2{
      background-image: radial-gradient(farthest-side at 79% 74%, #0088FF, #000016);
    }
  
  .shaddowBottom:after {
    content: "";
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    pointer-events: none;
    background-image: linear-gradient(to bottom, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, 0.013) 8.1%, hsla(0, 0%, 0%, 0.049) 15.5%, hsla(0, 0%, 0%, 0.104) 22.5%, hsla(0, 0%, 0%, 0.175) 29%, hsla(0, 0%, 0%, 0.259) 35.3%, hsla(0, 0%, 0%, 0.352) 41.2%, hsla(0, 0%, 0%, 0.45) 47.1%, hsla(0, 0%, 0%, 0.55) 52.9%, hsla(0, 0%, 0%, 0.648) 58.8%, hsla(0, 0%, 0%, 0.741) 64.7%, hsla(0, 0%, 0%, 0.825) 71%, hsla(0, 0%, 0%, 0.896) 77.5%, hsla(0, 0%, 0%, 0.951) 84.5%, hsla(0, 0%, 0%, 0.987) 91.9%, hsl(0, 0%, 0%) 100%);
    width: 100%;
    height: 42%;

}
  .trackDay:after {
    content: "";
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    background-image: linear-gradient(to left, hsla(0, 0%, 0%, 0) 0%, hsla(0, 0%, 0%, 0.013) 8.1%, hsla(0, 0%, 0%, 0.049) 15.5%, hsla(0, 0%, 0%, 0.104) 22.5%, hsla(0, 0%, 0%, 0.175) 29%, hsla(0, 0%, 0%, 0.259) 35.3%, hsla(0, 0%, 0%, 0.352) 41.2%, hsla(0, 0%, 0%, 0.45) 47.1%, hsla(0, 0%, 0%, 0.55) 52.9%, hsla(0, 0%, 0%, 0.648) 58.8%, hsla(0, 0%, 0%, 0.741) 64.7%, hsla(0, 0%, 0%, 0.825) 71%, hsla(0, 0%, 0%, 0.896) 77.5%, hsla(0, 0%, 0%, 0.951) 84.5%, hsla(0, 0%, 0%, 0.987) 91.9%, hsl(0, 0%, 0%) 100%);
    width: 62%;
    height: 100%;

}
  .soloImage{
        margin-right: -1px;
  }
  @media only screen and (max-width: 770px) {
    .soloImage{
      margin-top: 150px
    }
}
</style>

<div class="containerAim pb-50">
  <div class="top-box gradientBg">
    <div class="text align-left p-50">
      <h2 class="">Mounting <br />Brackets</h2>
      <p class="">Provide easy installation for cars, motorbikes, off-road & drag racing setups</p> 
      <a class="learn-more-btn" href="https://www.aimshop.com/collections/car-hd-camera-brackets" target="_blank" rel="noopener">Find out more</a>
    </div>
    <img decoding="async" loading="lazy" src="/wp-content/uploads/2024/09/Asset-40-1.webp" width="500" height="464" alt="solo 2 mounts" />
  </div>
</div></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_8 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_5">
				
				
				
				
				<div class="et_pb_code_inner"><style>
.learn-more-btn {
display: inline-block;
background-color: #0066FF;
color: white;
padding: 5px 20px;
text-decoration: none;
border-radius: 20px;
margin-top: 20px;
font-size: 14px !important;
}
.linksContainer{
display:flex;
gap:30px;
justify-content:center;
padding-top: 50px;
}
.single .post {

padding-bottom:0;
}
#left-area {
padding-bottom:0;
}
.animate1 {
transition: all 0.7s ease;
transform: translatey(50px);
opacity: 0;
}

.raceStudio3Container {
padding-top: 50px;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 650px; 
padding-bottom:100px;
}

.quote {
margin: 50px 0;
}

.raceStudio3Container p,
.quote p {
font-size: 24px;
line-height: 28px;
color: white;
text-align: center;
max-width: 740px;
}

.quote p {
font-size: 48px;
line-height: 53px;
font-weight: 600;
color: white;
}

.quote p span {
font-size: 18px !important;
}

.laptopContainer {
justify-content: center;
margin-top: 100px;
position: relative;
display: flex;
justify-content: center;
max-height: 800px;
transform: translatey(200px);
overflow: hidden;
transition: transform 1s ease;
}

.laptopContainer img {
position: relative;
top: 0;
}

.laptopContainer .abso {
position: absolute;
top: 0;
}

.rsa_laptop {
transition: all 1s ease;
}
.laptopContainer:after {
content: "";
position: absolute;
z-index: 1;
bottom: 0;
left: 0;
pointer-events: none;
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 90%);
width: 100%;
height: 8em;
}
 .jess{
        color: white;
    font-size: 18px;
    max-width: 550px;
    margin: 0 auto;
    margin-top: 50px;
  }

@media (max-width: 768px) {
.laptopContainer {
min-width: 120%;

}
.raceStudio3Container .quote p {
font-size:24px;
line-height: 28px
}
.laptopContainer img, .laptopContainer video {
min-width: 110%;
}
.raceStudio3Container{
padding-top: 280px; 
}
.raceStudio3Container p{
font-size: 18px;
line-height:22px;
} 
}
@media (max-width: 600px){
.laptopContainer:after {
height: 18em;
}
.raceStudio3Container {
padding-top: 280px; 
}
}
.rsaLogo{
-webkit-filter: drop-shadow(5px 5px 5px #222);
filter: drop-shadow(5px 5px 5px #222);
}
</style>
<div style="position:relative; display:flex; justify-content:center;" class="rsaOuterContainer">
<div class="raceStudio3Container">
<img decoding="async" loading="lazy" class="animate-on-scroll animate1 rsaLogo" src="/wp-content/uploads/2024/07/RSA3-White-Red-Logo.svg" height="147px" width="345px" alt="">

<div class="quote animate-on-scroll animate1">
<p>
"If you can’t explain it simply, you dont
understand it well enough.” <br /> <span>Albert Einstein</span>
</p>  
</div>
<p class="animate-on-scroll animate1">
One of the many reasons that the SmartyCam 4 Corsa is regarded as one of the best onboard action cameras in the motorsport industry is due to its easy configuration and integration with Race Studio 3 software. With a few easy to follow steps, you can:
</p>  
  <ul class="animate-on-scroll animate1 jess">
    <li>Configure graphical overlays for data</li>
    <li>Create custom tracks if necessary (the camera automatically recognises the track you’re racing on from a database of 4,000+ tracks)</li>
    <li>Analyse, review and compare performance data</li>
    <li>Customise layouts for performance metrics</li>
  </ul>
<div class="linksContainer animate-on-scroll animate1">
<a href="/support/downloads/software-downloads/" target="_blank" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fas fa-download"></i> Download</div></a>
<a href="/support/downloads/software-downloads/race-studio-3/" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fa-solid fa-arrow-right"></i> Learn More</div></a>

</div>
</div>
<div style="position:absolute; top: 0; z-index: -1; MARGIN-TOP:0;" class="animate-on-scroll laptopContainer">
<img decoding="async" loading="lazy" style="opacity:0" id="rsa_screen2" class="rsa_laptop " src="/wp-content/uploads/2024/01/Screen.webp" height="1089px" width="1201px" alt="">

<video id="videoToPlay2" src="" class="rsa_laptop abso" width="1207px" height="auto" preload="none" playsinline="" muted="" loop=""></video>
<!-- <img decoding="async" loading="lazy" id="rsa_screen" class="rsa_laptop abso" src="https://ik.imagekit.io/kqmoqfsxf/wp-content/uploads/2024/01/Screen.webp" height="1089px" width="1201px" alt="" /> -->
<img decoding="async" loading="lazy" id="rsa_laptop" class="abso rsa_laptop" src="/wp-content/uploads/2024/07/Laptop-Front-Perspective_Dark_Compressed-0-00-00-03.png" height="1089px" width="1201px" alt="" style="z-index:1">

</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
  const referrer = document.referrer;
  const videoContainer = document.querySelector('.laptopContainer');
  
  if (videoContainer) {
    const video = videoContainer.querySelector('video');
    
    if (video) {
      let videoSrc = '/wp-content/uploads/2024/09/RSA3_car_black.mp4'; // Default video

      if (referrer.includes("bike")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_bike_black.mp4';
      } if (referrer.includes("kart")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_kart_black.mp4';
      } if (referrer.includes("motocross")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_downhill_black.mp4';
      }

      video.src = videoSrc;
    }
  }
});
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_9 et_pb_with_background et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_5">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_14">
				
				
				
				
				<div class="et_pb_code_inner"><script>
	function setupScrollAnimationObserver() {
    const observer = new IntersectionObserver((entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
              if (entry.target.classList.contains('animate-on-scroll')) {

                      let timer = setTimeout(() =>{
                          entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatey(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              	if (entry.target.classList.contains('laptopContainer')) {
                            document.getElementById('videoToPlay2').play();

                      let timer = setTimeout(() =>{
                       entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatey(0)';
                            observer.unobserve(entry.target); 
                        },200);

                    }
                            if (entry.target.classList.contains('rsa_off')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '0';
                        observer.unobserve(entry.target); 
                      },500);
                }
              if (entry.target.classList.contains('rsa_on')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        observer.unobserve(entry.target); 
                      },500);
                }
            }
        });
    }, {
        threshold: 0.1
    });

    document.querySelectorAll('.animate-on-scroll').forEach(el => {
        observer.observe(el);
    });
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		<enclosure url="https://www.aimtechnologies.com/wp-content/uploads/2026/05/video_sc4_lens.mp4" length="66876277" type="video/mp4" />
<enclosure url="https://www.aimtechnologies.com/wp-content/uploads/2026/05/video_sc4_config.mp4" length="7419672" type="video/mp4" />
<enclosure url="https://www.aimtechnologies.com/wp-content/uploads/2026/05/video_sc4_autotrack_selection.mp4" length="10133865" type="video/mp4" />

			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/evo6-series/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Fri, 08 May 2026 08:00:12 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<category><![CDATA[Bike]]></category>
		<category><![CDATA[Bike Loggers]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Car Loggers]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[drag loggers]]></category>
		<category><![CDATA[Motocross]]></category>
		<category><![CDATA[Motocross Loggers]]></category>
		<category><![CDATA[off road]]></category>
		<category><![CDATA[off road loggers]]></category>
		<category><![CDATA[powerboat]]></category>
		<category><![CDATA[powerboat Loggers]]></category>
		<category><![CDATA[truck]]></category>
		<category><![CDATA[truck loggers]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=290429</guid>

					<description><![CDATA[A high-performance, modular data logger designed for professional motorsport]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_10 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_6">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_15">
				
				
				
				
				<div class="et_pb_code_inner"><!-- Preload and asynchronously load critical CSS -->
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/css/splide.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/css/splide.min.css">
</noscript>
<!-- Defer external script loading -->
<script defer src="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/js/splide.min.js"></script>

<style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 30px;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont h1{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont h1{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
 @media only screen and (max-width: 600px) {
    #mobileMenuCont a{
      font-size: 13px;
    }
        #Aim_innerCont h1{
      max-width: 150px;
    }
  }
    .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <h1>
   EVO6 Series
  </h1>
  <div id="Aim_secondMenuOptions">
    <div id="mobileMenuCont">
    	<a id="techLink" href="/evo-series-tech-spec/" class="active">Tech Specs</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/collections/car-data-loggers" target="_blank" rel="noopener">
        Buy    
    </a>
  </div>
  </div>
</div>
<script type="text/javascript">
    document.addEventListener("DOMContentLoaded", function() {
        var referrer = document.referrer;
        var techLink = document.getElementById("techLink");

        if (referrer) {
            console.log("Referral Page URL: " + referrer);

            if (referrer.includes("bike")) {
                techLink.href = "/support/sensor-technical-data/bike-sensors/bike-speed-sensors/"; // Replace with your desired link
            } else if (referrer.includes("car")) {
                techLink.href = "/support/sensor-technical-data/car-sensors/car-speed-sensors/"; // Replace with your desired link
            }
        } else {
            console.log("No referrer information available.");
        }
    });
</script>
</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_11 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_6">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .entry-content {
    overflow: hidden;
  }

  .evo-series-section {
    color: #fff;
    text-align: center;
    padding: 64px 0 90px;
    font-family: inherit;
    overflow: hidden;
  }

  .evo-series-section,
  .evo-series-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .evo-series-copy {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
  }

  .evo-series-kicker {
    margin: 0 0 68px;
    font-size: 32px;
    font-weight: 600;
    background: linear-gradient(90deg, #FF0000, #FFB200);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .evo-series-logo-title {
    margin: 0 auto 68px;
    padding: 0;
    max-width: 696px;
  }

  .evo-series-logo-title img {
    display: block;
    width: 100%;
    max-width: 696px;
    height: auto;
    margin: 0 auto;
  }

  .evo-series-text {
    max-width: 770px;
    margin: 0 auto 56px;
    font-size: 24px;
    font-weight: 600;
    color: #d9d9d9;
  }

  .evo-series-hero-wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
  }

  .evo-series-hero {
    display: block;
    width: 100%;
    max-width: 1194px;
    height: auto;
    margin: 0 auto;
  }

  .evo-acquisition {
    max-width: 1320px;
    margin: 28px auto 0;
    padding: 0 24px;
    text-align: center;
  }

  .evo-acquisition-title {
    margin: 0 0 52px;
    font-size: 32px;
    font-weight: 600;
    color: #fff;
  }

  .evo-acquisition-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 34px;
    align-items: start;
  }

  .evo-acquisition-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .evo-acquisition-icon {
    display: block;
    width: 51px;
    height: 51px;
    margin: 0 0 22px;
  }

  .evo-acquisition-icon img {
    display: block;
    width: 51px;
    height: 51px;
    object-fit: contain;
  }

  .evo-acquisition-copy {
    margin: 0;
    max-width: 190px;
    font-size: 18px;
    font-weight: 450;
    color: #d9d9d9;
    letter-spacing: 0.02em;
  }

  @media (max-width: 1024px) {
    .evo-series-section {
      padding: 58px 0 78px;
    }

    .evo-series-kicker {
      font-size: 28px;
    }

    .evo-series-logo-title {
      max-width: 560px;
    }

    .evo-series-text {
      font-size: 22px;
      margin-bottom: 44px;
    }

    .evo-acquisition {
      margin-top: 36px;
    }

    .evo-acquisition-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 42px 30px;
    }
  }

  @media (max-width: 768px) {
    .evo-series-section {
      padding: 42px 0 64px;
    }

    .evo-series-copy {
      padding: 0 18px;
    }

    .evo-series-kicker {
      margin-bottom: 22px;
      font-size: 20px;
    }

    .evo-series-logo-title {
      max-width: 420px;
      margin-bottom: 26px;
    }

    .evo-series-text {
      margin-bottom: 34px;
      font-size: 18px;
    }

    .evo-series-hero-wrap {
      padding: 0 18px;
    }

    .evo-acquisition {
      margin-top: 34px;
      padding: 0 18px;
    }

    .evo-acquisition-title {
      margin-bottom: 38px;
      font-size: 28px;
    }

    .evo-acquisition-grid {
      grid-template-columns: 1fr;
      gap: 36px;
    }

    .evo-acquisition-copy {
      max-width: 320px;
      font-size: 18px;
    }
  }
    .evo-logo-glow {
    display: block;
    filter:
      drop-shadow(0 0 6px rgba(255, 255, 255, 0.2))
      drop-shadow(0 0 16px rgba(255, 255, 255, 0.65))
      drop-shadow(0 0 34px rgba(255, 255, 255, 0.08));
  }
</style>

<div class="evo-series-section">
  <div class="evo-series-copy">
    <div class="evo-series-kicker">
      The Standard in Motorsport Telemetry
    </div>

    <h2 class="evo-series-logo-title">
      <img loading="lazy" decoding="async"
        src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Rjr_FKqE.png"
        alt="EVO Series"
        width="696"
        height="248"
        class="evo-logo-glow"
      >
    </h2>

    <div class="evo-series-text">
      Data logging engineered for those chasing every millisecond
    </div>
  </div>

  <div class="evo-series-hero-wrap">
    <img loading="lazy" decoding="async"
      class="evo-series-hero"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evoseries_hero2.webp"
      alt="EVO6 Series data loggers"
      width="1194"
      height="1052"
    >
  </div>

  <div class="evo-acquisition">
    <h2 class="evo-acquisition-title">
      Advanced Data Acquisition
    </h2>

    <div class="evo-acquisition-grid">
      <div class="evo-acquisition-item">
        <div class="evo-acquisition-icon">
          <img loading="lazy" decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Multi-Source-Icon.svg"
            alt=""
            width="51"
            height="51"
          >
        </div>

        <p class="evo-acquisition-copy">
          Multi-source capture from ECU, sensors, GPS & inertial platforms
        </p> 
      </div>

      <div class="evo-acquisition-item">
        <div class="evo-acquisition-icon">
          <img loading="lazy" decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Analog-Input-Icon.svg"
            alt=""
            width="51"
            height="51"
          >
        </div>

        <p class="evo-acquisition-copy">
          High-speed analogue inputs up to 2000 Hz
        </p> 
      </div>

      <div class="evo-acquisition-item">
        <div class="evo-acquisition-icon">
          <img loading="lazy" decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Inertial-Platform.svg"
            alt=""
            width="51"
            height="51"
          >
        </div>

        <p class="evo-acquisition-copy">
          100 Hz 3-axis accelerometer + gyro for motion analysis
        </p> 
      </div>

      <div class="evo-acquisition-item">
        <div class="evo-acquisition-icon">
          <img loading="lazy" decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/CAN-bus-Nodes.svg"
            alt=""
            width="51"
            height="51"
          >
        </div>

        <p class="evo-acquisition-copy">
          Connectivity with 2,000+ ECUs via CAN, RS232, K-Line
        </p> 
      </div>

      <div class="evo-acquisition-item">
        <div class="evo-acquisition-icon">
          <img loading="lazy" decoding="async"
            src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Wifi-Bluetooth.svg"
            alt=""
            width="51"
            height="51"
          >
        </div>

        <p class="evo-acquisition-copy">
          Fast wireless setup, updates & data transfer
        </p> 
      </div>
    </div>
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_7">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .key-facts-section {
    --key-facts-width: 1560px;
    --key-facts-card-width: 1127px;
    --key-facts-gutter: max(24px, calc((100vw - var(--key-facts-width)) / 2));
    --key-facts-visible-card-width: min(var(--key-facts-card-width), calc(100vw - (var(--key-facts-gutter) * 2)));
    --key-facts-center-pad: calc((100vw - var(--key-facts-visible-card-width)) / 2);

    color: #fff;
    overflow: hidden;
    padding: 90px 0 80px;
    font-family: inherit;
  }

  .key-facts-inner {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding-left: var(--key-facts-gutter);
    padding-right: var(--key-facts-gutter);
  }

  .key-facts-header {
    max-width: 980px;
    margin: 0 auto 64px;
    text-align: center;
  }

  .key-facts-heading {
    margin: 0 0 24px;
    font-size: 71px;
    line-height: 110%;
    letter-spacing: -0.01em;
    font-weight: 600;
    color: #fff;
    text-align:center;
  }

  .key-facts-intro {
    max-width: 860px;
    margin: 0 auto;
    font-size: 24px;
    line-height: 110%;
    font-weight: 600;
    color: #d9d9d9;
  }

  .key-facts-carousel {
    display: flex;
    gap: 40px;

    width: 100vw;
    margin-left: calc(var(--key-facts-gutter) * -1);
    margin-right: calc(var(--key-facts-gutter) * -1);
    padding-left: var(--key-facts-center-pad);
    padding-right: var(--key-facts-center-pad);
    box-sizing: border-box;

    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--key-facts-center-pad);
    scroll-padding-right: var(--key-facts-center-pad);
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;

    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;

    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .key-facts-carousel::-webkit-scrollbar {
    display: none;
  }

  .key-facts-carousel.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
  }

  .key-facts-card {
    flex: 0 0 var(--key-facts-visible-card-width);
    width: var(--key-facts-visible-card-width);
    scroll-snap-align: center;
    scroll-snap-stop: always;
    user-select: none;
    -webkit-user-select: none;
    background: #000;
    border-radius: 18px;
    overflow: hidden;
  }

  .key-facts-card-content {
    background: #000;
    padding: 64px 42px 30px;
    text-align: center;
  }

  .key-facts-card-kicker {
    margin: 0 0 12px;
    font-size: 20px;
    line-height: 110%;
    font-weight: 600;
    color: #7d7d7d;
  }

  .key-facts-card-title {
    margin: 0 auto;
    max-width: 780px;
    font-size: 32px;
    line-height: 110%;
    font-weight: 600;
    color: #fff;
  }

  .key-facts-image {
    width: 100%;
    aspect-ratio: 1127 / 537;
    overflow: hidden;
    background: #000;
    pointer-events: none;
  }

  .key-facts-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
  }

  .key-facts-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 34px auto 0;
    z-index: 5;
  }

  .key-facts-arrow {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: #313131;
    color: #f4f4f4;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
  }

  .key-facts-arrow:hover {
    transform: translateY(-2px);
    background: #fff;
    color: #000;
  }

  .key-facts-arrow svg {
    width: 20px;
    height: 20px;
    display: block;
  }

  html.key-facts-no-select,
  html.key-facts-no-select * {
    user-select: none !important;
    -webkit-user-select: none !important;
    cursor: grabbing !important;
  }

  @media (max-width: 768px) {
    .key-facts-section {
      --key-facts-gutter: 18px;
      --key-facts-visible-card-width: 82vw;
      --key-facts-center-pad: 9vw;

      padding: 60px 0 56px;
    }

    .key-facts-header {
      margin-bottom: 36px;
    }

    .key-facts-heading {
      font-size: 42px;
      margin-bottom: 20px;
    }

    .key-facts-intro {
      font-size: 18px;
    }

    .key-facts-carousel {
      gap: 22px;
      cursor: auto;
    }

    .key-facts-card {
      border-radius: 14px;
    }

    .key-facts-card-content {
      padding: 28px 22px 24px;
    }

    .key-facts-card-kicker {
      font-size: 17px;
    }

    .key-facts-card-title {
      font-size: 25px;
    }

    .key-facts-controls {
      margin-top: 26px;
    }

    .key-facts-arrow {
      width: 44px;
      height: 44px;
    }
  }
</style>

<div class="key-facts-section">
  <div class="key-facts-inner">
    <div class="key-facts-header">
      <h2 class="key-facts-heading">Engineered for Motorsport</h2>

      <div class="key-facts-intro">
        Engineered to survive extreme racing conditions with uncompromising reliability
      </div>
    </div>

    <div class="key-facts-carousel">
      <div class="key-facts-card">
        <div class="key-facts-card-content">
          <div class="key-facts-card-kicker">Rugged Construction</div>
          <h3 class="key-facts-card-title">Rugged anodised aluminium, IP67 sealing, vibration‑rated for harsh motorsport environments.</h3>
        </div>

        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/slider_1.webp" alt="EVO6/EVO6L anodised aluminium casing" draggable="false">
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-card-content">
          <div class="key-facts-card-kicker">Flexible Memory Options</div>
          <h3 class="key-facts-card-title">128 GB SD logging (EVO6) or 4 GB integrated flash storage (EVO6L).</h3>
        </div>

        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/slider_2.webp" alt="EVO6/EVO6L memory storage" draggable="false">
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-card-content">
          <div class="key-facts-card-kicker">Clean, Efficient Installation
</div>
          <h3 class="key-facts-card-title">Autosport or Binder 712 connectors provide secure, motorsport‑grade wiring with minimal bulk.</h3>
        </div>

        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/slider_3.webp" alt="EVO6 connectors" draggable="false">
        </div>
      </div>
    </div>

    <div class="key-facts-controls" aria-label="Key facts carousel controls">
      <button class="key-facts-arrow key-facts-arrow-left" type="button" aria-label="Previous slide">
        <svg viewBox="0 0 24 24" aria-hidden="true">
          <path d="M15 5L8 12L15 19" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
      </button>

      <button class="key-facts-arrow key-facts-arrow-right" type="button" aria-label="Next slide">
        <svg viewBox="0 0 24 24" aria-hidden="true">
          <path d="M9 5L16 12L9 19" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/>
        </svg>
      </button>
    </div>
  </div>
</div>

<script>
  (() => {
    const carousels = document.querySelectorAll('.key-facts-carousel');

    carousels.forEach((carousel) => {
      if (carousel.dataset.dragScrollReady === 'true') return;

      carousel.dataset.dragScrollReady = 'true';

      const section = carousel.closest('.key-facts-section');
      const prevButton = section ? section.querySelector('.key-facts-arrow-left') : null;
      const nextButton = section ? section.querySelector('.key-facts-arrow-right') : null;

      let isDown = false;
      let startX = 0;
      let startScrollLeft = 0;
      let moved = false;
      let pointerId = null;

      const getClosestCard = () => {
        const cards = Array.from(carousel.querySelectorAll('.key-facts-card'));
        const carouselCenter = carousel.scrollLeft + carousel.clientWidth / 2;

        return cards.reduce((closest, card) => {
          const cardCenter = card.offsetLeft + card.offsetWidth / 2;
          const distance = Math.abs(cardCenter - carouselCenter);

          if (!closest || distance < closest.distance) {
            return { card, distance };
          }

          return closest;
        }, null)?.card || cards[0];
      };

      const centerCard = (card) => {
        if (!card) return;

        const left = card.offsetLeft - (carousel.clientWidth - card.offsetWidth) / 2;

        carousel.scrollTo({
          left,
          behavior: 'smooth'
        });
      };

      const scrollByCard = (direction) => {
        const cards = Array.from(carousel.querySelectorAll('.key-facts-card'));
        const currentCard = getClosestCard();
        const currentIndex = cards.indexOf(currentCard);
        const nextIndex = Math.max(0, Math.min(cards.length - 1, currentIndex + direction));

        centerCard(cards[nextIndex]);
      };

      if (prevButton) {
        prevButton.addEventListener('click', () => scrollByCard(-1));
      }

      if (nextButton) {
        nextButton.addEventListener('click', () => scrollByCard(1));
      }

      const stopDrag = () => {
        if (!isDown) return;

        isDown = false;
        pointerId = null;

        carousel.classList.remove('is-dragging');
        document.documentElement.classList.remove('key-facts-no-select');

        requestAnimationFrame(() => {
          carousel.style.scrollSnapType = '';
          carousel.style.scrollBehavior = '';
        });
      };

      carousel.addEventListener('pointerdown', (event) => {
        if (event.pointerType !== 'mouse' || event.button !== 0) return;

        isDown = true;
        moved = false;
        pointerId = event.pointerId;
        startX = event.clientX;
        startScrollLeft = carousel.scrollLeft;

        carousel.classList.add('is-dragging');
        document.documentElement.classList.add('key-facts-no-select');
        carousel.style.scrollSnapType = 'none';
        carousel.style.scrollBehavior = 'auto';

        carousel.setPointerCapture(pointerId);
        event.preventDefault();
      });

      carousel.addEventListener('pointermove', (event) => {
        if (!isDown || event.pointerId !== pointerId) return;

        const distance = event.clientX - startX;

        if (Math.abs(distance) > 3) {
          moved = true;
        }

        carousel.scrollLeft = startScrollLeft - distance;
        event.preventDefault();
      }, { passive: false });

      carousel.addEventListener('pointerup', (event) => {
        if (pointerId !== event.pointerId) return;

        if (carousel.hasPointerCapture(event.pointerId)) {
          carousel.releasePointerCapture(event.pointerId);
        }

        stopDrag();
      });

      carousel.addEventListener('pointercancel', stopDrag);
      carousel.addEventListener('lostpointercapture', stopDrag);
      carousel.addEventListener('mouseleave', stopDrag);

      carousel.addEventListener('dragstart', (event) => {
        event.preventDefault();
      });

      carousel.addEventListener(
        'click',
        (event) => {
          if (!moved) return;

          event.preventDefault();
          event.stopPropagation();
        },
        true
      );
    });
  })();
</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_8">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .combined-overview-section {
    --combined-overview-width: 1560px;
    --combined-overview-gutter: max(24px, calc((100vw - var(--combined-overview-width)) / 2));

    color: #fff;
    overflow: hidden;
    padding: 90px 0 90px;
    font-family: inherit;
  }

  .combined-overview-section,
  .combined-overview-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .combined-overview-inner {
    width: 100%;
    padding-left: var(--combined-overview-gutter);
    padding-right: var(--combined-overview-gutter);
  }

  .combined-overview-heading {
    max-width: 980px;
    margin: 0 auto 76px;
    text-align: center;
    font-size: 71px;
    line-height: 110%;
    letter-spacing: -0.01em;
    font-weight: 600;
    color: #fff;
  }

  .combined-overview-layout {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(0, 677.5px) minmax(220px, 1fr);
    align-items: center;
    gap: 58px;
    width: 100%;
  }

  .combined-overview-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 292px;
  }

  .combined-overview-side-left {
    justify-self: end;
  }

  .combined-overview-side-right {
    justify-self: start;
  }

  .combined-overview-side-image {
    width: 232px;
    max-width: 100%;
    aspect-ratio: 232 / 45.11;
    margin: 0 0 22px;
    overflow: hidden;
  }

  .combined-overview-side-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .combined-overview-side-text {
    margin: 0;
    font-size: 16px;
    line-height: 140%;
    font-weight: 500;
    color: #fff;
  }

  .combined-overview-center {
    justify-self: center;
    width: 677.5px;
    max-width: 100%;
    aspect-ratio: 677.5 / 675.96;
  }

  .combined-overview-center img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  @media (max-width: 1024px) {
    .combined-overview-layout {
      gap: 38px;
    }

    .combined-overview-heading {
      font-size: 58px;
      margin-bottom: 62px;
    }
  }

  @media (max-width: 768px) {
    .combined-overview-section {
      --combined-overview-gutter: 18px;
      padding: 62px 0 66px;
    }

    .combined-overview-heading {
      margin-bottom: 44px;
      font-size: 42px;
    }

    .combined-overview-layout {
      display: flex;
      flex-direction: column;
      gap: 34px;
      align-items: center;
    }

    .combined-overview-side {
      max-width: 340px;
    }

    .combined-overview-side-right {
      order: 1;
    }

    .combined-overview-center {
      order: 2;
      width: min(100%, 677.5px);
    }

    .combined-overview-side-left {
      order: 3;
    }

    .combined-overview-side-image {
      margin-bottom: 16px;
    }

    .combined-overview-side-text {
      font-size: 16px;
      line-height: 135%;
    }
  }
</style>

<section class="combined-overview-section">
  <div class="combined-overview-inner">
    <h2 class="combined-overview-heading" style="max-width: 700px">
      Pick the Logger That Fits Your Build
    </h2>

    <div class="combined-overview-layout">
      <div class="combined-overview-side combined-overview-side-left">
        <div class="combined-overview-side-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evo6l_logo_white-1.webp" alt="EVO6L data logger logo">
        </div>

        <p class="combined-overview-side-text" style="max-width:200px">
          Ideal for compact installs and streamlined wiring.
        </p> 
      </div>

      <div class="combined-overview-center">
        <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/mask_group.webp" alt="EVO6 and EVO6L data logger comparison">
      </div>

      <div class="combined-overview-side combined-overview-side-right">
        <div class="combined-overview-side-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evo6_logo_white.webp" alt="EVO6 data logger logo">
        </div>

        <p class="combined-overview-side-text" style="max-width:200px">
          Perfect for high‑channel, high‑complexity systems.
        </p> 
      </div>
    </div>
  </div>
</section></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_12 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_9">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .comparison-section {
    background: #fff;
    color: #000;
    padding: 120px 0 135px;
    font-family: inherit;
    overflow: hidden;
  }

  .comparison-section,
  .comparison-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .comparison-inner {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
  }

  .comparison-header {
    max-width: 1167px;
    margin: 0 auto 80px;
    text-align: center;
    display:flex;
    flex-direction:column;
  	align-items:center
  }

  .comparison-title {
    margin: 0 0 28px;
    font-size: 92px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000;
    max-width:600px;
    
  }

  .comparison-subtitle {
    max-width: 967px;
    margin: 0 auto;
    font-size: 24px;
    font-weight: 600;
    color: #7d7d7d;
    max-width:600px
  }

  .comparison-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
    padding: 2px;
    background: linear-gradient(180deg, #FFB200 0%,  #FF0000 100%);
  }

  .comparison-card {
    background: #fff;
    overflow: hidden;
  }

  .comparison-image {
    width: 100%;
    height: 518px;
    background: #f4f4f4;
    overflow: hidden;
  }

  .comparison-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    
  }

  .comparison-content {
    padding: 56px 56px 64px;
  }
  .comparison-content img{
    padding-bottom:50px;
    max-height:100px
  }

  .comparison-card-title {
    margin: 0 0 44px;
    font-size: 32px;
    font-weight: 600;
    color: #000;
  }

  .comparison-card-copy {
    margin: 0 0 34px;
    font-size: 20px;
    font-weight: 600;
    color:  #7D7D7D;
;
  }

  .comparison-points {
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
  }

  .comparison-point {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    color: #000;
  }

  @media (max-width: 1024px) {
    .comparison-section {
      padding: 90px 0 100px;
    }

    .comparison-title {
      font-size: 68px;
    }

    .comparison-image {
      height: 420px;
    }

    .comparison-content {
      padding: 42px 34px 50px;
    }

    .comparison-card-title {
      font-size: 28px;
    }

    .comparison-card-copy,
    .comparison-point {
      font-size: 20px;
    }
  }

  @media (max-width: 768px) {
    .comparison-section {
      padding: 64px 0 72px;
    }

    .comparison-inner {
      width: calc(100% - 36px);
    }

    .comparison-header {
      margin-bottom: 52px;
    }

    .comparison-title {
      margin-bottom: 20px;
      font-size: 42px;
    }

    .comparison-subtitle {
      font-size: 18px;
    }

    .comparison-cards {
      grid-template-columns: 1fr;
      gap: 2px;
      padding: 2px;
      background: linear-gradient(180deg, #00b9ff 0%, #00b9ff 50%, #ff0097 100%);
    }

    .comparison-image {
      height: 330px;
    }

    .comparison-content {
      padding: 30px 24px 36px;
    }

    .comparison-card-title {
      margin-bottom: 18px;
      font-size: 26px;
    }

    .comparison-card-copy {
      margin-bottom: 26px;
      font-size: 18px;
    }

    .comparison-points {
      gap: 14px;
    }

    .comparison-point {
      font-size: 18px;
    }
  }
</style>

<div class="comparison-section">
  <div class="comparison-inner">
    <div class="comparison-header">
      <h2 class="comparison-title">
        Two Ways to Race Smarter
      </h2>

      <div class="comparison-subtitle">
        Compare the EVO6 and EVO6L data loggers to find the right balance of inputs, connectivity, and packaging.
      </div>
    </div>

    <div class="comparison-cards">
      <div class="comparison-card">
        <div class="comparison-image">
            <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evo6_comparison.webp" alt="EVO6 data logger">
        </div>

        <div class="comparison-content">
          <h3>
           <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evo6_logo_black.webp" alt="EVO6 data logger logo">
          </h3>

          <div class="comparison-card-copy">
           <strong  style="color:black">A high-capacity platform</strong> built for larger systems and expanded I/O demands.
          </div>

          <div class="comparison-points">
            <p class="comparison-point">8 analogue inputs</p> 
            <p class="comparison-point">Dual CAN connectivity</p> 
            <p class="comparison-point">SD card logging with internal storage</p> 
            <p class="comparison-point">Autosport connectors</p> 
            <p class="comparison-point">Suited for high-channel, high-complexity builds</p> 
          </div>
        </div>
      </div>

      <div class="comparison-card">
        <div class="comparison-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evo6l_comparison.webp" alt="EVO6L data logger">
        </div>

        <div class="comparison-content">
          <h3>
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/evo6l_logo_white.webp" alt="EVO6L data logger logo">
</h3>
          <div class="comparison-card-copy">
            <strong style="color:black">A compact, streamlined unit</strong> designed for simple installs and minimal wiring.
          </div>

          <div class="comparison-points">
            <p class="comparison-point">5 analogue inputs</p> 
            <p class="comparison-point">Single CAN connectivity</p> 
            <p class="comparison-point">Integrated internal memory</p> 
            <p class="comparison-point">Binder 712 connectors</p> 
            <p class="comparison-point">Ideal for tight spaces and simplified wiring</p> 
          </div>
        </div>
      </div>
    </div>
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_10">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .ecosystem-section {
    background: #fff;
    color: #000;
    padding: 65px 0 100px;
    font-family: inherit;
    overflow: hidden;
  }

  .ecosystem-section,
  .ecosystem-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .ecosystem-inner {
    width: min(1205px, calc(100% - 48px));
    margin: 0 auto;
    text-align: center;
  }

  .ecosystem-title {
    margin: 0 auto 36px;
    font-size: 92px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000;
    max-width: 800px;
  }

  .ecosystem-subtitle {
    max-width: 967px;
    margin: 0 auto 70px;
    font-size: 24px;
    font-weight: 600;
    color: #7d7d7d;
  }

  .aim-ecosystem-stage {
    --center-x: 48.96%;
    --center-y: 49.35%;
    --node-scale: 0.7;
    --node-hover-scale: 1.12;
    --active-glow-x: 70.70%;
    --active-glow-y: 26.60%;

    position: relative;
    width: 100%;
    aspect-ratio: 1205 / 853;
    margin: 0 auto;
  }

  .ecosystem-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1;
    opacity: 0;
    transform: scale(0.92);
    transform-origin: var(--center-x) var(--center-y);
    pointer-events: none;
    transition:
      opacity 700ms ease 250ms,
      transform 950ms cubic-bezier(0.16, 1, 0.3, 1) 250ms;
  }

  .ecosystem-lines path,
  .ecosystem-lines circle,
  .ecosystem-lines line {
    vector-effect: non-scaling-stroke;
  }

  .ecosystem-glow {
    position: absolute;
    left: var(--active-glow-x);
    top: var(--active-glow-y);
    width: 300px;
    max-width: 25%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
      radial-gradient(circle, rgba(220, 20, 20, 0.20) 0%, rgba(180, 0, 0, 0.12) 38%, rgba(255, 255, 255, 0) 70%);
    transform: translate(-50%, -50%) scale(0.35);
    opacity: 0;
    z-index: 2;
    pointer-events: none;
    transition:
      left 520ms cubic-bezier(0.16, 1, 0.3, 1),
      top 520ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 520ms ease 950ms,
      transform 720ms cubic-bezier(0.16, 1, 0.3, 1) 950ms;
  }

  .ecosystem-center {
    position: absolute;
    left: var(--center-x);
    top: var(--center-y);
    width: 23.74%;
    aspect-ratio: 1;
    border: 5px solid #000;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
    z-index: 8;
    display: grid;
    place-items: center;
  }

  .ecosystem-logo-img {
    display: block;
    width: 67%;
    height: auto;
  }

  .ecosystem-node {
    --x: var(--center-x);
    --y: var(--center-y);
    --delay: 0ms;

    position: absolute;
    left: var(--center-x);
    top: var(--center-y);
    width: calc(18.76% * var(--node-scale));
    aspect-ratio: 226 / 305;
    z-index: 6;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.15);
    cursor: pointer;
    will-change: left, top, transform, opacity;
    transition:
      left 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      top 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      transform 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      opacity 350ms ease var(--delay),
      z-index 0ms linear;
  }

  .ecosystem-node-img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.08));
    transform: translateY(0) rotate(0deg);
    transition:
      filter 220ms ease,
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, filter;
  }

  .ecosystem-node-lap {
    --x: 49.00%;
    --y: 9.79%;
    --delay: 120ms;
  }

  .ecosystem-node-displays {
    --x: 70.70%;
    --y: 26.60%;
    --delay: 230ms;
  }

  .ecosystem-node-cameras {
    --x: 71.04%;
    --y: 73.75%;
    --delay: 340ms;
  }

  .ecosystem-node-cables {
    --x: 49.00%;
    --y: 88.63%;
    --delay: 450ms;
  }

  .ecosystem-node-expansions {
    --x: 29.10%;
    --y: 71.55%;
    --delay: 560ms;
  }

  .ecosystem-node-sensors {
    --x: 29.14%;
    --y: 28.60%;
    --delay: 670ms;
  }

  .ecosystem-dot {
    position: absolute;
    width: 2.66%;
    aspect-ratio: 1;
    border: 5px solid #000;
    border-radius: 50%;
    background: #fff;
    z-index: 5;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.35);
    transition:
      opacity 450ms ease 1000ms,
      transform 650ms cubic-bezier(0.16, 1, 0.3, 1) 1000ms;
  }

  .ecosystem-dot-left {
    left: 23.57%;
    top: 49.30%;
  }

  .ecosystem-dot-right {
    left: 74.19%;
    top: 49.30%;
  }

  .ecosystem-label {
    position: absolute;
    z-index: 9;
    text-align: left;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition:
      opacity 520ms ease,
      transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-label {
    opacity: 0;
    transform: translateY(14px);
  }

  .aim-ecosystem-stage.is-visible.is-labels-ready .ecosystem-label.is-active {
    opacity: 1;
    transform: translateY(0);
  }

  .ecosystem-label h3 {
    margin: 0 0 12px;
    font-size: 21px;
    font-weight: 700;
    color: #000;
  }

  .ecosystem-label p {
    margin: 0;
    font-size: 16px;
    font-weight: 450;
    color: #000;
  }

  .ecosystem-label-sensors {
    left: 0;
    top: 22.85%;
    width: 190px;
  }

  .ecosystem-label-expansions {
    left: 0;
    top: 67.72%;
    width: 265px;
  }

  .ecosystem-label-lap {
    left: 58.50%;
    top: 0;
    width: 280px;
  }

  .ecosystem-label-displays {
    left: 80.66%;
    top: 21.80%;
    width: 235px;
  }

  .ecosystem-label-cameras {
    left: 80.66%;
    top: 66.35%;
    width: 235px;
  }

  .ecosystem-label-cables {
    left: 59.17%;
    top: 86.60%;
    width: 330px;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-lines {
    opacity: 1;
    transform: scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-glow {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node {
    left: var(--x);
    top: var(--y);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node-img {
    animation: ecosystem-node-float 4.8s ease-in-out infinite;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:nth-of-type(odd) .ecosystem-node-img {
    animation-delay: 0.35s;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:nth-of-type(even) .ecosystem-node-img {
    animation-delay: 0.7s;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node.is-active {
    z-index: 14;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible {
    z-index: 15;
    transform: translate(-50%, -54%) scale(var(--node-hover-scale));
    transition:
      left 1050ms cubic-bezier(0.16, 1, 0.3, 1),
      top 1050ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 350ms ease,
      z-index 0ms linear;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible .ecosystem-node-img {
    animation-play-state: paused;
    transform: translateY(-4px) rotate(-1.5deg);
    filter:
      drop-shadow(0 20px 22px rgba(0, 0, 0, 0.16))
      drop-shadow(0 0 18px rgba(220, 20, 20, 0.18));
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node-displays:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-cameras:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-displays:focus-visible .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-cameras:focus-visible .ecosystem-node-img {
    transform: translateY(-4px) rotate(1.5deg);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-dot {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-resetting .ecosystem-lines,
  .aim-ecosystem-stage.is-resetting .ecosystem-glow,
  .aim-ecosystem-stage.is-resetting .ecosystem-node,
  .aim-ecosystem-stage.is-resetting .ecosystem-dot,
  .aim-ecosystem-stage.is-resetting .ecosystem-label,
  .aim-ecosystem-stage.is-resetting .ecosystem-node-img {
    transition: none !important;
    animation: none !important;
  }

  .ecosystem-mobile-image {
    display: none;
  }

  .ecosystem-mobile-stack {
    display: none;
  }

  .ecosystem-copy {
    max-width: 637px;
    margin: 78px auto 0;
    font-size: 18px;
    font-weight: 450;
    letter-spacing: 0.02em;
    color: #7d7d7d;
  }

  @keyframes ecosystem-node-float {
    0% {
      transform: translateY(0) rotate(0deg);
    }

    50% {
      transform: translateY(-5px) rotate(0.6deg);
    }

    100% {
      transform: translateY(0) rotate(0deg);
    }
  }

  @media (max-width: 1240px) {
    .aim-ecosystem-stage,
    .ecosystem-mobile-image {
      display: none;
    }

    .ecosystem-mobile-stack {
      --mobile-node-size: 126px;
      --mobile-aim-size: 166px;
      --mobile-line-width: 4px;

      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: min(520px, 100%);
      margin: 0 auto;
      padding: 0 0 10px;
    }

    .ecosystem-mobile-stack::before {
      content: "";
      position: absolute;
      left: 50%;
      top: calc(var(--mobile-aim-size) / 2);
      bottom: calc(var(--mobile-node-size) / 2);
      width: var(--mobile-line-width);
      transform: translateX(-50%);
      background-image: repeating-linear-gradient(
        to bottom,
        #cfd4d6 0 14px,
        transparent 14px 25px
      );
      opacity: 0.9;
      pointer-events: none;
    }

    .ecosystem-mobile-aim {
      position: relative;
      z-index: 2;
      display: grid;
      place-items: center;
      width: var(--mobile-aim-size);
      aspect-ratio: 1;
      margin: 0 auto 42px;
      border: 5px solid #000;
      border-radius: 50%;
      background: #fff;
    }

    .ecosystem-mobile-aim img {
      display: block;
      width: 64%;
      height: auto;
    }

    .ecosystem-mobile-item {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }

    .ecosystem-mobile-item + .ecosystem-mobile-item {
      margin-top: 58px;
    }

    .ecosystem-mobile-node {
      position: relative;
      z-index: 2;
      display: grid;
      place-items: center;
      width: var(--mobile-node-size);
      aspect-ratio: 1;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
    }

    .ecosystem-mobile-node img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      opacity: 1;
      transition: filter 240ms ease;
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-node img {
      opacity: 1;
      filter:
        drop-shadow(0 16px 22px rgba(0, 0, 0, 0.18))
        drop-shadow(0 0 18px rgba(220, 20, 20, 0.18));
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-node::before {
      content: "";
      position: absolute;
      inset: -64px;
      z-index: -1;
      border-radius: 50%;
      background:
        radial-gradient(circle, rgba(220, 20, 20, 0.22) 0%, rgba(180, 0, 0, 0.12) 36%, rgba(255, 255, 255, 0) 70%);
      pointer-events: none;
    }

    .ecosystem-mobile-label {
      display: none;
      position: relative;
      z-index: 4;
      width: min(410px, calc(100vw - 42px));
      margin: 24px auto 0;
      padding: 36px 30px 40px;
      text-align: center;
      color: #000;
      border: 0;
      background:
        radial-gradient(
          ellipse at center,
          rgba(255, 255, 255, 0.98) 0%,
          rgba(255, 255, 255, 0.94) 38%,
          rgba(255, 255, 255, 0.64) 66%,
          rgba(255, 255, 255, 0) 100%
        );
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-label {
      display: block;
    }

    .ecosystem-mobile-label h3 {
      position: relative;
      z-index: 2;
      margin: 0 0 18px;
      font-size: 23px;
      line-height: 110%;
      font-weight: 700;
      color: #000;
      text-align: center;
    }

    .ecosystem-mobile-label p {
      position: relative;
      z-index: 2;
      margin: 0;
      font-size: 22px;
      line-height: 120%;
      font-weight: 400;
      color: #000;
      text-align: center;
    }
  }

  @media (max-width: 1024px) {
    .ecosystem-section {
      padding: 70px 0 88px;
    }

    .ecosystem-title {
      font-size: 68px;
    }

    .ecosystem-subtitle {
      margin-bottom: 58px;
    }
  }

  @media (max-width: 768px) {
    .ecosystem-section {
      padding: 56px 0 64px;
    }

    .ecosystem-inner {
      width: calc(100% - 36px);
    }

    .ecosystem-title {
      margin-bottom: 24px;
      font-size: 42px;
    }

    .ecosystem-subtitle {
      margin-bottom: 42px;
      font-size: 18px;
    }

    .ecosystem-mobile-stack {
      --mobile-node-size: 116px;
      --mobile-aim-size: 150px;
    }

    .ecosystem-mobile-aim {
      margin-bottom: 38px;
    }

    .ecosystem-mobile-item + .ecosystem-mobile-item {
      margin-top: 52px;
    }

    .ecosystem-mobile-label {
      width: min(390px, calc(100vw - 36px));
      margin-top: 22px;
      padding: 32px 24px 36px;
    }

    .ecosystem-mobile-label h3 {
      font-size: 21px;
    }

    .ecosystem-mobile-label p {
      font-size: 20px;
    }

    .ecosystem-copy {
      margin-top: 44px;
      font-size: 15px;
      letter-spacing: 0.01em;
    }
  }

  @media (max-width: 480px) {
    .ecosystem-mobile-stack {
      --mobile-node-size: 104px;
      --mobile-aim-size: 136px;
    }

    .ecosystem-mobile-label {
      width: min(360px, calc(100vw - 28px));
      padding: 30px 22px 34px;
    }

    .ecosystem-mobile-label h3 {
      font-size: 20px;
    }

    .ecosystem-mobile-label p {
      font-size: 18px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .ecosystem-lines,
    .ecosystem-glow,
    .ecosystem-node,
    .ecosystem-dot,
    .ecosystem-label,
    .ecosystem-node-img {
      transition: none !important;
      animation: none !important;
    }

    .aim-ecosystem-stage.is-visible.is-labels-ready .ecosystem-label.is-active {
      opacity: 1;
      transform: none;
    }
  }
</style>

<div class="ecosystem-section">
  <div class="ecosystem-inner">
    <h2 class="ecosystem-title">
      One Connected Motorsport System
    </h2>

    <div class="ecosystem-subtitle">
      Designed to communicate, configure and perform as one unified system
    </div>

    <div class="aim-ecosystem-stage">
      <svg class="ecosystem-lines" viewBox="0 0 1205 853" aria-hidden="true">
        <circle
          cx="590"
          cy="421"
          r="306"
          fill="none"
          stroke="#cfd4d6"
          stroke-width="4"
          stroke-dasharray="14 10"
        />

        <line x1="590" y1="421" x2="590" y2="83" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="852" y2="244" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="856" y2="612" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="590" y2="756" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="327" y2="612" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="327" y2="244" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
      </svg>

      <div class="ecosystem-glow"></div>

      <div class="ecosystem-center">
        <img decoding="async"
          class="ecosystem-logo-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/logo.webp"
          alt="AiM"
        >
      </div>

      <div class="ecosystem-dot ecosystem-dot-left"></div>
      <div class="ecosystem-dot ecosystem-dot-right"></div>

      <div
        class="ecosystem-node ecosystem-node-lap"
        data-ecosystem-target="lap"
        data-glow-x="49.00%"
        data-glow-y="9.79%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/6.webp"
          alt="Aim lap timing"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-displays is-active"
        data-ecosystem-target="displays"
        data-glow-x="70.70%"
        data-glow-y="26.60%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-6.webp"
          alt="Aim displays and display loggers"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-cameras"
        data-ecosystem-target="cameras"
        data-glow-x="71.04%"
        data-glow-y="73.75%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/4.webp"
          alt="Aim cameras"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-cables"
        data-ecosystem-target="cables"
        data-glow-x="49.00%"
        data-glow-y="88.63%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/3.webp"
          alt="Aim cables and accessories"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-expansions"
        data-ecosystem-target="expansions"
        data-glow-x="29.10%"
        data-glow-y="71.55%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/2.webp"
          alt="Aim sensors and expansions"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-sensors"
        data-ecosystem-target="sensors"
        data-glow-x="29.14%"
        data-glow-y="28.60%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-2.webp"
          alt="Aim sensors"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div class="ecosystem-label ecosystem-label-sensors" data-ecosystem-label="sensors">
        <h3>Sensors</h3>
        <p>Integrates cleanly with Aim displays, loggers, and control modules to deliver consistent, high-quality data.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-lap" data-ecosystem-label="lap">
        <h3>Lap Timing</h3>
        <p>Delivers precise, lap/session timing data that anchors the rest of the system’s performance analysis.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-displays is-active" data-ecosystem-label="displays">
        <h3>Displays & Display Loggers</h3>
        <p>Presents real-time vehicle information through a unified interface that consolidates multiple data sources.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-cameras" data-ecosystem-label="cameras">
        <h3>Cameras</h3>
        <p>Aligns high-quality video with telemetry inputs to create a fully synchronised performance record.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-cables" data-ecosystem-label="cables">
        <h3>Cables & Accessories</h3>
        <p>Provides the physical and electrical pathways that maintain stable communication and reliable system operation.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-expansions" data-ecosystem-label="expansions">
        <h3>Sensors & Expansions</h3>
        <p>Extends the platform’s measurement capabilities by adding specialised channels and advanced acquisition modules.</p> 
      </div>
    </div>

    <div class="ecosystem-mobile-stack" data-ecosystem-mobile>
      <div class="ecosystem-mobile-aim">
        <img decoding="async"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/logo.webp"
          alt="AiM"
        >
      </div>

      <div class="ecosystem-mobile-item is-active" data-mobile-target="displays">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show displays">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-6.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Displays & Display Loggers</h3>
          <p>Presents real-time vehicle information through a unified interface that consolidates multiple data sources.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="lap">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show lap timing">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/6.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Lap Timing</h3>
          <p>Delivers precise lap and session timing data that anchors the rest of the system’s performance analysis.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="cameras">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show cameras">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/4.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Cameras</h3>
          <p>Aligns high-quality video with telemetry inputs to create a fully synchronised performance record.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="cables">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show cables">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/3.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Cables & Accessories</h3>
          <p>Provides the physical and electrical pathways that maintain stable communication and reliable system operation.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="expansions">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show expansions">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/2.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Sensors & Expansions</h3>
          <p>Extends the platform’s measurement capabilities by adding specialised channels and advanced acquisition modules.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="sensors">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show sensors">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Artboard-2.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Sensors</h3>
          <p>Integrates cleanly with Aim displays, loggers, and control modules to deliver consistent, high-quality data.</p> 
        </div>
      </div>
    </div>

    <div class="ecosystem-copy">
      EVO6 data logging modules operate as part of a connected system. They link straight into Aim dashes, loggers, and ECUs through the same CAN network for effortless integration.
    </div>
  </div>
</div>

<script>
  (() => {
    const stages = document.querySelectorAll('.aim-ecosystem-stage');

    if (stages.length) {
      const defaultTarget = 'displays';
      const defaultLabelRevealDelay = 1360;

      const setActiveItem = (stage, target) => {
        const nodes = stage.querySelectorAll('[data-ecosystem-target]');
        const labels = stage.querySelectorAll('[data-ecosystem-label]');
        const activeNode = stage.querySelector(`[data-ecosystem-target="${target}"]`);

        if (!activeNode) return;

        nodes.forEach((node) => {
          node.classList.toggle('is-active', node.dataset.ecosystemTarget === target);
        });

        labels.forEach((label) => {
          label.classList.toggle('is-active', label.dataset.ecosystemLabel === target);
        });

        stage.style.setProperty('--active-glow-x', activeNode.dataset.glowX || '70.70%');
        stage.style.setProperty('--active-glow-y', activeNode.dataset.glowY || '26.60%');
      };

      const showStage = (stage) => {
        if (stage.classList.contains('is-visible')) return;

        stage.classList.remove('is-resetting');
        stage.classList.remove('is-labels-ready');
        stage.classList.add('is-visible');

        setActiveItem(stage, defaultTarget);

        window.clearTimeout(stage.ecosystemLabelTimer);

        stage.ecosystemLabelTimer = window.setTimeout(() => {
          if (stage.classList.contains('is-visible')) {
            stage.classList.add('is-labels-ready');
          }
        }, defaultLabelRevealDelay);
      };

      const resetStage = (stage) => {
        if (!stage.classList.contains('is-visible')) return;

        window.clearTimeout(stage.ecosystemLabelTimer);

        stage.classList.add('is-resetting');
        stage.classList.remove('is-visible');
        stage.classList.remove('is-labels-ready');

        setActiveItem(stage, defaultTarget);

        requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            stage.classList.remove('is-resetting');
          });
        });
      };

      stages.forEach((stage) => {
        const nodes = stage.querySelectorAll('[data-ecosystem-target]');

        setActiveItem(stage, defaultTarget);

        nodes.forEach((node) => {
          node.addEventListener('mouseenter', () => {
            setActiveItem(stage, node.dataset.ecosystemTarget);

            if (stage.classList.contains('is-visible')) {
              stage.classList.add('is-labels-ready');
            }
          });

          node.addEventListener('focus', () => {
            setActiveItem(stage, node.dataset.ecosystemTarget);

            if (stage.classList.contains('is-visible')) {
              stage.classList.add('is-labels-ready');
            }
          });
        });
      });

      if (!('IntersectionObserver' in window)) {
        stages.forEach((stage) => {
          showStage(stage);
          stage.classList.add('is-labels-ready');
        });
      } else {
        const observer = new IntersectionObserver(
          (entries) => {
            entries.forEach((entry) => {
              if (entry.intersectionRatio >= 0.35) {
                showStage(entry.target);
                return;
              }

              if (!entry.isIntersecting) {
                resetStage(entry.target);
              }
            });
          },
          {
            threshold: [0, 0.35]
          }
        );

        stages.forEach((stage) => observer.observe(stage));
      }
    }

    const mobileStacks = document.querySelectorAll('[data-ecosystem-mobile]');

    mobileStacks.forEach((stack) => {
      const items = stack.querySelectorAll('.ecosystem-mobile-item');

      items.forEach((item) => {
        const button = item.querySelector('.ecosystem-mobile-node');

        if (!button) return;

        button.addEventListener('click', () => {
          items.forEach((otherItem) => {
            otherItem.classList.toggle('is-active', otherItem === item);
          });
        });
      });
    });
  })();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_13 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_11">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .learn-more-btn {
    display: inline-block;
    background-color: #0066FF;
    color: white;
    padding: 5px 20px;
    text-decoration: none;
    border-radius: 20px;
    margin-top: 20px;
    font-size: 14px !important;
}
  .linksContainer{
    display:flex;
    gap:30px;
    justify-content:center;
    padding-top: 50px;
  }
  .single .post {
   
   padding-bottom:0;
}
  #left-area {
    padding-bottom:0;
}
  .animate1 {
    transition: all 0.7s ease;
    transform: translatey(50px);
    opacity: 0;
  }

  .raceStudio3Container {
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 650px; 
    padding-bottom:100px;
  }

  .quote {
    margin: 50px 0;
  }

  .raceStudio3Container p,
  .quote p {
    font-size: 24px;
    line-height: 28px;

    text-align: center;
    max-width: 740px;
  }

  .quote p {
    font-size: 48px;
    line-height: 53px;
    font-weight: 600;

  }

  .quote p span {
    font-size: 18px !important;
  }

  .laptopContainer {
    justify-content: center;
    margin-top: 100px;
    position: relative;
    display: flex;
    justify-content: center;
    max-height: 800px;
    transform: translatey(200px);
    overflow: hidden;
    transition: transform 1s ease;
  }

  .laptopContainer img {
    position: relative;
    top: 0;
  }

  .laptopContainer .abso {
    position: absolute;
    top: 0;
  }

  .rsa_laptop {
    transition: all 1s ease;
  }
  .laptopContainer:after {
      content: "";
      position: absolute;
      z-index: 1;
      bottom: 0;
      left: 0;
      pointer-events: none;
      background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(251 251 251) 90%);
      width: 100%;
      height: 8em;
    }

  @media (max-width: 768px) {
    .laptopContainer {
      min-width: 120%;
    }
    .raceStudio3Container .quote p {
      font-size:24px;
      line-height: 28px
    }
    .laptopContainer img, .laptopContainer video {
      min-width: 110%;
    }
    .raceStudio3Container{
      padding-top: 280px; 
    }
    .raceStudio3Container p{
      font-size: 18px;
      line-height:22px;
    }
  }
  @media (max-width: 600px){
      .laptopContainer:after {
      height: 18em;
    }
    .raceStudio3Container {
      padding-top: 280px; 
    }
  }
  .rsaLogo{
    -webkit-filter: drop-shadow(2.5px 2.5px 2.5px #222);
  	filter: drop-shadow(2.5px 2.5px 2.5px #222);
  }
</style>
<div style="position:relative; display:flex; justify-content:center;" class="rsaOuterContainer">
  
<div  class="raceStudio3Container">
  <img decoding="async" loading="lazy" class="animate-on-scroll animate1 rsaLogo" src="/wp-content/uploads/2024/07/RSA3-White-Red-Logo.svg" height="147px" width="345px" alt="" />
  
  <div class="quote animate-on-scroll animate1">
    <p>
      
      "If you can’t explain it simply, you dont
understand it well enough.” <br /> <span>Albert Einstein</span>
    </p> 
  </div>
  <p class="animate-on-scroll animate1">
    Utilise Race Studio 3 to manage configurations, access a vast track library, and analyse
performance with video support.
  </p> 
   <div class="linksContainer animate-on-scroll animate1">
       <a href="/support/downloads/software-downloads/" target="_blank" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fas fa-download"></i> Download</div></a>
      <a href="/support/downloads/software-downloads/race-studio-3/" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fa-solid fa-arrow-right"></i> Learn More</div></a>

    </div>
</div>
<div style="position:absolute; top: 0; z-index: -1; MARGIN-TOP:0;" class="animate-on-scroll laptopContainer">
    <img decoding="async" loading="lazy" style="opacity:0" id="rsa_screen2" class="rsa_laptop " src="/wp-content/uploads/2024/01/Screen.webp" height="1089px" width="1201px" alt="" />

  <video id="videoToPlay" src="" class="rsa_laptop abso" width="1207px" height="auto" preload="none"  playsinline muted loop ></video>
 <!-- <img decoding="async" loading="lazy" id="rsa_screen" class="rsa_laptop abso" src="/wp-content/uploads/2024/01/Screen.webp" height="1089px" width="1201px" alt="" /> -->

  <img decoding="async" loading="lazy" id="rsa_laptop" class="abso rsa_laptop" src="/wp-content/uploads/2024/07/Laptop-Front-Perspective_Dark_Compressed-0-00-00-03.png" height="1089px" width="1201px" alt="" style="z-index:1" />

</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
  const referrer = document.referrer;
  const videoContainer = document.querySelector('.laptopContainer');
  
  if (videoContainer) {
    const video = videoContainer.querySelector('video');
    
    if (video) {
      let videoSrc = '/wp-content/uploads/2024/09/RSA3_car_white.mp4'; // Default video

      if (referrer.includes("bike")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_bike_white.mp4';
      } if (referrer.includes("kart")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_kart_white.mp4';
      } if (referrer.includes("motocross")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_downhill_white.mp4';
      }

      video.src = videoSrc;
    }
  }
});
</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_12">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .artPerf {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: clamp(100px, 10vw, 200px);
  }

  .artPerf h2 {
    font-size: 79px;
    line-height: 83px;
    margin-bottom: 10px;
    max-width: 700px;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 600;
  }

  .artPerf p {
    font-size: 24px;
    line-height: 28px;
    max-width: 900px;
    text-align: center;
    margin-bottom: 50px;
  }

  .squeeze-text {
    display: inline-block;
    white-space: nowrap;
    transition: transform 2s;
    transform-origin: center;
  }

  .squeeze-wrapper {
    transition: all 2s ease;
    white-space: nowrap;
  }

  .squeeze {
    transform: scaleX(1.5);
  }

  .normal-size {
    transform: scaleX(1);
  }

  .translate {
    transform: translateX(0);
  }

  @media only screen and (max-width: 650px) {
    .artPerf h2 {
      font-size: 39px;
      line-height: 43px;
    }

    .artPerf p {
      font-size: 18px;
      line-height: 22px;
    }
  }
</style>

<div class="artPerf">
  <h2>
    <div>
      <span class="squeeze-text">Expand</span>
    </div>
    <div class="squeeze-wrapper">
      Your System
    </div>
  </h2>
  <p class="animate-on-scroll animate1" id="expandSection">
    Enhance the functionality, performance and reliability of your Aim products with our range of expansions designed to increase the range and depth of data collection and analysis.
  </p> 
</div>

<script>
  document.addEventListener('DOMContentLoaded', function () {
    const target = document.querySelector('.squeeze-text');
    const wrapper = document.querySelector('.squeeze-wrapper');

    const observer = new IntersectionObserver((entries, observer) => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          entry.target.classList.add('squeeze');
          wrapper.classList.add('translate');
          entry.target.addEventListener('transitionend', () => {
     
              entry.target.classList.remove('squeeze');
              entry.target.classList.add('normal-size');
       
          }, { once: true });
          observer.unobserve(entry.target);
        } else {
          entry.target.classList.remove('squeeze');
          entry.target.classList.remove('normal-size');
          wrapper.classList.remove('translate');
        }
      });
    }, {
      threshold: [0, 0.5, 1]
    });

    observer.observe(target);
  });
</script>
</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_13">
				
				
				
				
				<div class="et_pb_code_inner"><style>
.et_pb_section_5.et_pb_section {
    padding-right: 0px !important;
    padding-left: 0px !important;
}
</style>
<style>
  /* Ensure the swiper container is wide enough */
  .swiper-wrapper{
    width: 400px !important;
  }

    .expandSystem .heroSlider-Slide {
    max-width:90vw;
  width: 400px ;
    overflow: hidden;height:520px;
    border-radius: 0.75rem;
    box-shadow: 2px 4px 12px #00000014;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction:column;
    justify-content:space-between;
    padding-bottom: 30px;
  }

    .expandSystem .slider-main-image {
	width: 400px;
    max-width:90vw;
    height: 400px;
    margin-bottom:20px;
  }

  .slide-text-container {

    padding: 30px;
  }

  .slider-logo-image {
    height: auto;
    width: 150px;
  }

  .heroSlider-Slide p {
    font-size: 16px;
    line-height:20px;
    color: white;
  }

  .expandSystem .splide__slide {
    transition: all 0.3s ease;
    max-width:90vw;
    width: 400px ;
    height:520px;
  }

  .expandSystem .splide__slide:hover {
    transform: scale(1.03);
  }
  .expandSystem .splide__slide{
    margin-right: 20px !important;
    margin-top: 10px !important;
  }
  .expandSystem .splide__pagination {
    bottom: unset !important;

}
  .pageSectionTitle{
    font-size: 30px; font-weight: 600;
  }
  .splideWrap{
    max-width: fit-content; margin:0 auto
  }
  @media only screen and (max-width: 787px)
  {
      .splideWrap{
    max-width: unset;
    margin:unset
  }
.pageSectionTitle {
    font-size: 28px;
}

  }
  .slider-logo-image{
    max-width:119px;
  }
  .slide-text-container h3{
    font-size: 29px;
    font-weight:bold
  }
  .slide-text-container h3 span{
    color:black;
  }
  .expandSystem .splide__pagination__page {
    background: #ccc;
    height: 15px;
    width: 15px;
}
  .expandSystem .splide__pagination__page.is-active {
    background: #0066FF;

}
  .font-black div p, .font-black div h3{
    color:black
  }
  .font-white div p, .font-white div h3{
    color:white !important;
  }
  .font-black{
    background-color:white;
  }
  .font-white{
    background-color:black;
  }
  .twoLine{
    margin-top: -20px;
  }
   .expandSystem .shopBg{
    background: linear-gradient(0deg, #d8e9ff 0%, #d8e9ff 38%, #ffffff 100%);

  }
   .expandSystem .ecuBg{
    background: linear-gradient(0deg, #d2d2d2 0%, #d2d2d2 34%, #ffffff 100%);
}

/* Support Gradient */
  .expandSystem .supportBg {
    background: linear-gradient(0deg, #d2d2d2 0%, #d2d2d2 34%, #ffffff 100%);
}
</style>
<div class="splideWrap">
  <section class="splide expandSystem">
  <div class="splide__track">
		<ul class="splide__list" id="itsme2">

		</ul>
  </div>
</section>
</div>

<script>
	// New filter object
const newFilter = {
    EXPANSIONS: [
        'solo2dl', 'MYCHRON5S2T', 'mxm', 'evo', 'mxStrada', 'mxSeries', 'log', 'sw4', 'pdm', 'MYCHRON5S', 'MXPS'
    ],
    CAMERAS: [
        'solo2dl', 'MYCHRON5S2T', 'mxm', 'evo', 'mxStrada', 'mxSeries', 'log', 'sw4', 'pdm', 'MYCHRON5S', 'MXPS'
    ],
    MOUNTS: [
        'mxm', 'mxStrada', 'mxSeries', 'log', 'evo', 'sw4', 'pdm', 'MXPS'
    ],
    SENSORS: [
        'solo2dl', 'MYCHRON5S2T', 'mxm', 'evo', 'mxStrada', 'mxSeries', 'log', 'sw4', 'pdm', 'MYCHRON5S', 'MXPS'
    ]
};

const device = "evo";
const returnUrl = "/aim-evo4s/";

const slides3 = [
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "U Bolt, Roll Cage, Suction and more",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=MOUNTS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-9Expansions.webp",
        containerClass: "font-black ",
        imageClass: "",
        titleOne: 'MOUNTS',
        titleTwo: 'Anywhere, Anytime',
        alt: "aim support",
        category: "MOUNTS"
    },
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "Datalogging cameras designed for motorsport",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=CAMERAS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-10Expansions.webp",
        containerClass: "font-white",
        imageClass: "twoLine",
        titleOne: 'CAMERAS',
        titleTwo: 'SmartyCam 3 Range',
        alt: "race studio 3",
        category: "CAMERAS"
    },
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "Keypads, Sensors, Data Hubs and more",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=EXPANSIONS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-14Expansion_boxes.webp",
        containerClass: "font-black",
        imageClass: "twoLine",
        titleOne: 'EXPANSIONS',
        titleTwo: 'Expand Your System',
        alt: "aim academy",
        category: "EXPANSIONS"
    },
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "Monitor temperatures, pressures, positions",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=SENSORS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-13Expansion_boxes.webp",
        containerClass: "font-black",
        imageClass: "twoLine",
        titleOne: 'SENSORS',
        titleTwo: 'Vehicle Monitoring',
        alt: "aim shop",
        category: "SENSORS"
    },
];

addEventListener("DOMContentLoaded", () => {
    function initializeSlickCarousel2() {
          window.removeEventListener('click', initializeSlickCarousel2);
    window.removeEventListener('scroll', initializeSlickCarousel2);
    window.removeEventListener('keydown', initializeSlickCarousel2);
        const t3 = document.getElementById("itsme2");

        let n3 = "";
        slides3.map((e) => {
            // Only display the slide if the device is present in the relevant category in newFilter
            if (newFilter[e.category].includes(device)) {
                n3 += `
                <li class="splide__slide linky">
                   <a class="slide-container splide__slide" href="${e.link}">
                      <div class="heroSlider-Slide ${e.containerClass}">
                         <div class="slide-text-container" style="align-items:flex-start">
                            <p style="font-size: 14px; text-align:left;">${e.titleOne}</p> 
                            ${ e.iconImage !== '' ? `
                            <img decoding="async" loading="lazy" class="slider-logo-image" src="${e.iconImage }" width="${e.iconWidth}" height="${e.iconHeight}" alt="${e.alt} Title" />` 
                            : `<h3 style="padding-bottom:10px;text-align:left;">${e.titleTwo}</h3>` }
                            <p style="text-align:left;">${e.subTitle}</p> 
                         </div>
                         <img decoding="async" loading="lazy" class="slider-main-image ${e.imageClass}" src="${e.image}" alt="${e.alt}" width="401" height="401" />
                      </div>
                   </a>
                </li>
                `;
            }
        });

        t3.innerHTML = n3;
        try {
            var splide3 = new Splide(".expandSystem", {
                height: "550px",
                snap: true,
                padding: "5rem",
                autoWidth: true,
                pagination: false,
                arrows: false,
                interval: 3000,
                breakpoints: {
                    768: {
                        pagination: true,
                        focus: 'center'
                    },
                },
            });
        } catch (error) {
            t3.innerHTML = error;
        }

        splide3.mount();
    }

    // Add event listeners for first interaction
    window.addEventListener('click', initializeSlickCarousel2);
    window.addEventListener('scroll', initializeSlickCarousel2);
    window.addEventListener('keydown', initializeSlickCarousel2);
});


</script>
</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_14">
				
				
				
				
				<div class="et_pb_code_inner"><script>
	function setupScrollAnimationObserver() {
    const observer = new IntersectionObserver((entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
              if (entry.target.classList.contains('animate1')) {

                      let timer = setTimeout(() =>{
                          entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatey(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('animate2')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translate(0,0)';
                        observer.unobserve(entry.target); 
                      },400);
                }
              if (entry.target.classList.contains('animate3')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'scale(1)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('rsa_off')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '0';
                        observer.unobserve(entry.target); 
                      },500);
                }
              if (entry.target.classList.contains('rsa_on')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        observer.unobserve(entry.target); 
                      },500);
                }
          if (entry.target.classList.contains('extendedImage1')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatex(-65%)';
                        observer.unobserve(entry.target); 
                      },500);
                }
           if (entry.target.classList.contains('extendedImage2')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatex(65%)';
                        observer.unobserve(entry.target); 
                      },500);
                }
            if (entry.target.classList.contains('laptopContainer')) {
											document.getElementById('videoToPlay').play();
                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translate(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
                       
        	}
        });
    }, {
        threshold: 0.1
    });

    document.querySelectorAll('.animate-on-scroll').forEach(el => {
        observer.observe(el);
    });
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_14 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_7">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_16">
				
				
				
				
				<div class="et_pb_code_inner"><script>
function setupScrollAnimationObserver() {
    const animations = [
        { className: 'animate1', threshold: 0.1, delay: 200 },
        { className: 'animate2', threshold: 0.3, delay: 200 },
        { className: 'animate3', threshold: 0.4, delay: 200 }
    ];

    animations.forEach(animation => {
        const observer = new IntersectionObserver((entries, observer) => {
            entries.forEach(entry => {
                if (entry.isIntersecting && entry.target.classList.contains(animation.className)) {
                    let timer = setTimeout(() => {
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = getTransform(animation.className);
                        observer.unobserve(entry.target);
                    }, animation.delay);
                }
            });
        }, { threshold: animation.threshold });

        document.querySelectorAll(`.${animation.className}`).forEach(el => observer.observe(el));
    });
}

function getTransform(className) {
    if (className === 'animate1') {
        return 'translatey(0)';
    } else if (className === 'animate2') {
        return 'translate(0,0)';
    } else if (className === 'animate3') {
        return 'scale(1)';
    }
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/combined-sensors/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Tue, 05 May 2026 15:08:40 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<category><![CDATA[Bike]]></category>
		<category><![CDATA[Bike Sensors]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Car Sensors]]></category>
		<category><![CDATA[downhill bike]]></category>
		<category><![CDATA[downhill bike sensors]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[drag sensors]]></category>
		<category><![CDATA[Motocross]]></category>
		<category><![CDATA[Motocross Sensors]]></category>
		<category><![CDATA[off road]]></category>
		<category><![CDATA[off road sensors]]></category>
		<category><![CDATA[powerboat]]></category>
		<category><![CDATA[powerboat Sensors]]></category>
		<category><![CDATA[truck]]></category>
		<category><![CDATA[truck sensors]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=290224</guid>

					<description><![CDATA[Combined sensors measure pressure and temperature from a single sensor]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_15 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_8">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_17">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 30px;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont h1{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont h1{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
 @media only screen and (max-width: 600px) {
    #mobileMenuCont a{
      font-size: 13px;
    }
        #Aim_innerCont h1{
      max-width: 150px;
    }
  }
    .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <h1>
   Combined Sensors
  </h1>
  <div id="Aim_secondMenuOptions">
    <div id="mobileMenuCont">
    	<a id="techLink" href="/support/sensor-technical-data/car-sensors/car-speed-sensors/" class="active">Tech Specs</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/collections/aim-combined-temperature-pressure-sensors" target="_blank" rel="noopener">
        Buy    
    </a>
  </div>
  </div>
</div>
<script type="text/javascript">
    document.addEventListener("DOMContentLoaded", function() {
        var referrer = document.referrer;
        var techLink = document.getElementById("techLink");

        if (referrer) {
            console.log("Referral Page URL: " + referrer);

            if (referrer.includes("bike")) {
                techLink.href = "/support/sensor-technical-data/bike-sensors/bike-speed-sensors/"; // Replace with your desired link
            } else if (referrer.includes("car")) {
                techLink.href = "/support/sensor-technical-data/car-sensors/car-speed-sensors/"; // Replace with your desired link
            }
        } else {
            console.log("No referrer information available.");
        }
    });
</script>
</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_16 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_15">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .entry-content{
    overflow:hidden;
  }
  .combined-sensors-section {
 
    color: #fff;
    text-align: center;

    padding: 64px 0 0;
    font-family: inherit;
  }

  .combined-sensors-copy {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
  }
	
  .combined-sensors-kicker {
    font-size: 32px;
    margin: 0 0 22px;
    font-weight: 600;
    background: linear-gradient(90deg, #FF0097, #00B9FF);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height:110%;
  }

  .combined-sensors-title {
    font-size: 92px;
    line-height:110%;
    margin: 0 0 28px;
		line-height:110%;
  	font-weight:600
  }

  .combined-sensors-text {
    font-size: 24px;
    max-width: 770px;
    margin: 0 auto 56px;
    font-weight: 600;
    color: #D9D9D9;
    line-height:110%;
  }

  .combined-sensors-image-wrap {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
  }

  .combined-sensors-image {
    display: block;
    width: 100%;
    max-width: 1438px;
    height: auto;
    margin: 0;
  }

  @media (max-width: 768px) {
    .combined-sensors-section {
      padding-top: 42px;
    }

    .combined-sensors-copy {
      padding: 0 18px;
    }

    .combined-sensors-kicker {
      font-size: 20px;
      margin-bottom: 16px;
    }

    .combined-sensors-title {
      font-size: 44px;
  
      margin-bottom: 20px;
  
    }

    .combined-sensors-text {
      font-size: 18px;

      margin-bottom: 36px;
    }
  }
  .combined-sensors-copy h2{
    color: white
  }
  
  
   .key-facts-section {
    --key-facts-width: 1560px;
    --key-facts-gutter: max(24px, calc((100vw - var(--key-facts-width)) / 2));

 
    color: #fff;
    overflow: visible !important;
    padding: 90px 0 80px;
    font-family: inherit;
  }

  .key-facts-inner {
    width: 100%;
    box-sizing: border-box;
    padding-left: var(--key-facts-gutter);
    padding-right: var(--key-facts-gutter);
  }

  .key-facts-heading {
    max-width: 620px;
    margin: 0 0 28px;
    font-size: 71px;
    line-height: 1;
    letter-spacing: -0.01em;
    font-weight: 600;
    line-height:110%;
    color:white;
  }

  .key-facts-intro {
    max-width: 720px;
    margin: 0 0 84px;
    font-size: 24px;
    line-height: 1;
    font-weight: 600;
    color: #D9D9D9;;
    line-height:110%;
  }

  .key-facts-carousel {
    display: flex;
    gap: 40px;

    width: 100vw;
    margin-left: calc(var(--key-facts-gutter) * -1);
    margin-right: calc(var(--key-facts-gutter) * -1);
    padding-left: var(--key-facts-gutter);
    padding-right: var(--key-facts-gutter);
    box-sizing: border-box;

    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--key-facts-gutter);
    scroll-padding-right: var(--key-facts-gutter);
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;

    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;

    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .key-facts-carousel::-webkit-scrollbar {
    display: none;
  }

  .key-facts-carousel.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
  }

  .key-facts-card {
    flex: 0 0 360px;
    width: 360px;
    border-radius:10px;
  	overflow:hidden;
    scroll-snap-align: start;
    user-select: none;
    -webkit-user-select: none;
  }

  .key-facts-image {
    width: 100%;
    height: 436px;
    
    border-radius: 15px;
    background: #f4f4f4;
    pointer-events: none;
  }

  .key-facts-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
  }

  .key-facts-card-text {
    margin: 30px 0 0;
    font-size: 19px;
    line-height: 1;
    font-weight: 600;
    color: #a2a2a2;
    user-select: none;
    -webkit-user-select: none;
    line-height:110%;
  }

  .key-facts-card-text h3{
		display:inline;
    margin-bottom: 6px;
    font-weight: 600;
    color: #fff;
    line-height:110%;
  }

  html.key-facts-no-select,
  html.key-facts-no-select * {
    user-select: none !important;
    -webkit-user-select: none !important;
    cursor: grabbing !important;
  }

  @media (max-width: 768px) {
    .key-facts-section {
      --key-facts-gutter: 18px;

      padding: 60px 0 56px;
    }

    .key-facts-heading {
      max-width: 100%;
      margin-bottom: 22px;
      font-size: 42px;
    }

    .key-facts-intro {
      max-width: 100%;
      margin-bottom: 48px;
      font-size: 18px;
      
    }

    .key-facts-carousel {
      gap: 22px;
      width: 100vw;
      margin-left: calc(var(--key-facts-gutter) * -1);
      margin-right: calc(var(--key-facts-gutter) * -1);
      padding-left: var(--key-facts-gutter);
      padding-right: var(--key-facts-gutter);
      cursor: auto;
    }

    .key-facts-card {
      flex: 0 0 280px;
      width: 280px;
    }

    .key-facts-image {
      height: 340px;
      border-radius: 12px;
    }

    .key-facts-card-text {
      margin-top: 24px;
      font-size: 17px;
    }
  }
</style>

<div class="combined-sensors-section">
  <div class="combined-sensors-copy">
    <div class="combined-sensors-kicker">Combined Sensors</div>

    <h2 class="combined-sensors-title">
      Dual-channel accuracy. </br> Single-point installation.
    </h2>

    <div class="combined-sensors-text">
      Capture temperature and pressure from one compact, motorsport-grade sensor designed to reduce plumbing and simplify your wiring harness
    </div>
  </div>

  <div class="combined-sensors-image-wrap">
    <img loading="lazy" decoding="async"
      class="combined-sensors-image"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_Rectangle-14.webp"
      alt="Combined Sensors"
      width="1438"
      height="920"
    >
  </div>
</div>

</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_16">
				
				
				
				
				<div class="et_pb_code_inner">

<div class="key-facts-section" style="background:transparent">
  <div class="key-facts-inner">
    <h2 class="key-facts-heading">
      Engineered to Do More with Less
    </h2>

    <div class="key-facts-intro">
      Combined Sensors are designed for applications where every port, every gram, and every second matters. By integrating two sensing elements into a single body, they deliver reliable, high-resolution data while minimising system complexity.
    </div>

    <div class="key-facts-carousel">
      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_card1.webp" alt="" draggable="false">
        </div>

        <div class="key-facts-card-text">
          <h3>Two Independent Outputs</h3>
          Temperature and pressure delivered simultaneously from a single threaded port, reducing the number of sensors required in high-density installations.
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_card2.webp" alt="" draggable="false">
        </div>

        <div class="key-facts-card-text">
          <h3>Multiple Thread Options</h3>
          Available in a range of thread types to suit different engine blocks, manifolds, and fluid galleries across motorsport applications.
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_card3.webp" alt="" draggable="false">
        </div>

        <div class="key-facts-card-text">
          <h3>Flexible Connectivity Options</h3>
          Available with a Binder 719 connector for direct Aim compatibility or free-wire variants for custom loom builds.
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_card4.webp" alt="" draggable="false">
        </div>

        <div class="key-facts-card-text">
          <h3>Bar or PSI Calibration</h3>
          Offered in multiple pressure scales to match your preferred calibration workflow and data visualisation standards.
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_card5.webp" alt="" draggable="false">
        </div>

        <div class="key-facts-card-text">
          <h3>Motorsport-Ready Construction</h3>
          Built to withstand continuous vibration, heat cycles, and pressure loading in demanding race environments.
        </div>
      </div>

      <div class="key-facts-card">
        <div class="key-facts-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_card6.webp" alt="" draggable="false">
        </div>

        <div class="key-facts-card-text">
          <h3>Reduced Hardware Footprint</h3>
          A single sensor body replaces multiple fittings and adapters, cutting leak points and simplifying the overall plumbing layout.
        </div>
      </div>
    </div>
  </div>
</div>

<script>
  (() => {
    const carousels = document.querySelectorAll('.key-facts-carousel');

    carousels.forEach((carousel) => {
      if (carousel.dataset.dragScrollReady === 'true') return;

      carousel.dataset.dragScrollReady = 'true';

      let isDown = false;
      let startX = 0;
      let startScrollLeft = 0;
      let moved = false;
      let pointerId = null;

      const stopDrag = () => {
        if (!isDown) return;

        isDown = false;
        pointerId = null;

        carousel.classList.remove('is-dragging');
        document.documentElement.classList.remove('key-facts-no-select');

        requestAnimationFrame(() => {
          carousel.style.scrollSnapType = '';
        });
      };

      carousel.addEventListener('pointerdown', (event) => {
        if (event.pointerType !== 'mouse' || event.button !== 0) return;

        isDown = true;
        moved = false;
        pointerId = event.pointerId;
        startX = event.clientX;
        startScrollLeft = carousel.scrollLeft;

        carousel.classList.add('is-dragging');
        document.documentElement.classList.add('key-facts-no-select');
        carousel.style.scrollSnapType = 'none';

        carousel.setPointerCapture(pointerId);
        event.preventDefault();
      });

      carousel.addEventListener('pointermove', (event) => {
        if (!isDown || event.pointerId !== pointerId) return;

        const distance = event.clientX - startX;

        if (Math.abs(distance) > 3) {
          moved = true;
        }

        carousel.scrollLeft = startScrollLeft - distance;
        event.preventDefault();
      }, { passive: false });

      carousel.addEventListener('pointerup', (event) => {
        if (pointerId !== event.pointerId) return;

        if (carousel.hasPointerCapture(event.pointerId)) {
          carousel.releasePointerCapture(event.pointerId);
        }

        stopDrag();
      });

      carousel.addEventListener('pointercancel', stopDrag);
      carousel.addEventListener('lostpointercapture', stopDrag);
      carousel.addEventListener('mouseleave', stopDrag);

      carousel.addEventListener('dragstart', (event) => {
        event.preventDefault();
      });

      carousel.addEventListener(
        'click',
        (event) => {
          if (!moved) return;

          event.preventDefault();
          event.stopPropagation();
        },
        true
      );
    });
  })();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_17 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_18">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .comparison-section {
    background: #fff;
    color: #000;
    padding: 120px 0 135px;
    font-family: inherit;
    overflow: hidden;
  }

  .comparison-section,
  .comparison-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .comparison-inner {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
  }

  .comparison-header {
    max-width: 1167px;
    margin: 0 auto 80px;
    text-align: center;
  }

  .comparison-title {
    margin: 0 0 28px;
    font-size: 92px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000;
  }

  .comparison-subtitle {
    max-width: 967px;
    margin: 0 auto;
    font-size: 24px;
    font-weight: 600;
    color: #7d7d7d;
  }

  .comparison-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
    padding: 2px;
    background: linear-gradient(180deg, #00b9ff 0%, #00b9ff 50%, #ff0097 100%);
  }

  .comparison-card {
    background: #fff;
    overflow: hidden;
  }

  .comparison-image {
    width: 100%;
    height: 518px;
    background: #f4f4f4;
    overflow: hidden;
  }

  .comparison-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .comparison-content {
    padding: 56px 56px 64px;
  }

  .comparison-card-title {
    margin: 0 0 44px;
    font-size: 32px;
    font-weight: 600;
    color: #000;
  }

  .comparison-card-copy {
    margin: 0 0 34px;
    font-size: 20px;
    font-weight: 600;
    color:  #7D7D7D;
;
  }

  .comparison-points {
    display: grid;
    gap: 18px;
    margin: 0;
    padding: 0;
  }

  .comparison-point {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    color: #000;
  }

  @media (max-width: 1024px) {
    .comparison-section {
      padding: 90px 0 100px;
    }

    .comparison-title {
      font-size: 68px;
    }

    .comparison-image {
      height: 420px;
    }

    .comparison-content {
      padding: 42px 34px 50px;
    }

    .comparison-card-title {
      font-size: 28px;
    }

    .comparison-card-copy,
    .comparison-point {
      font-size: 20px;
    }
  }

  @media (max-width: 768px) {
    .comparison-section {
      padding: 64px 0 72px;
    }

    .comparison-inner {
      width: calc(100% - 36px);
    }

    .comparison-header {
      margin-bottom: 52px;
    }

    .comparison-title {
      margin-bottom: 20px;
      font-size: 42px;
    }

    .comparison-subtitle {
      font-size: 18px;
    }

    .comparison-cards {
      grid-template-columns: 1fr;
      gap: 2px;
      padding: 2px;
      background: linear-gradient(180deg, #00b9ff 0%, #00b9ff 50%, #ff0097 100%);
    }

    .comparison-image {
      height: 330px;
    }

    .comparison-content {
      padding: 30px 24px 36px;
    }

    .comparison-card-title {
      margin-bottom: 18px;
      font-size: 26px;
    }

    .comparison-card-copy {
      margin-bottom: 26px;
      font-size: 18px;
    }

    .comparison-points {
      gap: 14px;
    }

    .comparison-point {
      font-size: 18px;
    }
  }
</style>

<div class="comparison-section">
  <div class="comparison-inner">
    <div class="comparison-header">
      <h2 class="comparison-title">
        Two Architectures, One Precision Sensor Platform
      </h2>

      <div class="comparison-subtitle">
        Evaluate the difference between single-element and dual-element sensing systems.
      </div>
    </div>

    <div class="comparison-cards">
      <div class="comparison-card">
        <div class="comparison-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_left.webp" alt="">
        </div>

        <div class="comparison-content">
          <h3 class="comparison-card-title">
            Combined Sensor
          </h3>

          <div class="comparison-card-copy">
           <strong  style="color:black"> A unified internal structure</strong> delivering streamlined measurement through a single sensing path.
          </div>

          <div class="comparison-points">
            <p class="comparison-point">Single sensing path for simplified installation</p> 
            <p class="comparison-point">Compact, space-saving design</p> 
            <p class="comparison-point">Unified measurement for consistent performance</p> 
            <p class="comparison-point">Reduced wiring and easier integration</p> 
          </div>
        </div>
      </div>

      <div class="comparison-card">
        <div class="comparison-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/compressed_right.webp" alt="">
        </div>

        <div class="comparison-content">
          <h3 class="comparison-card-title">
            Independent Sensors
          </h3>

          <div class="comparison-card-copy">
            <strong style="color:black">Two dedicated sensing paths</strong> providing separate measurement channels for flexible system design.
          </div>

          <div class="comparison-points">
            <p class="comparison-point">Separate pressure & temperature pathways</p> 
            <p class="comparison-point">Independent signal processing</p> 
            <p class="comparison-point">Real-time response</p> 
            <p class="comparison-point">High stability and resolution</p> 
          </div>
        </div>
      </div>
    </div>
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_19">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .ecosystem-section {
    background: #fff;
    color: #000;
    padding: 65px 0 100px;
    font-family: inherit;
    overflow: hidden;
  }

  .ecosystem-section,
  .ecosystem-section * {
    box-sizing: border-box;
    line-height: 110%;
  }

  .ecosystem-inner {
    width: min(1205px, calc(100% - 48px));
    margin: 0 auto;
    text-align: center;
  }

  .ecosystem-title {
    max-width: 700px;
    margin: 0 auto 36px;
    font-size: 92px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000;
  }

  .ecosystem-subtitle {
    max-width: 967px;
    margin: 0 auto 70px;
    font-size: 24px;
    font-weight: 600;
    color: #7d7d7d;
  }

  .aim-ecosystem-stage {
    --center-x: 48.96%;
    --center-y: 49.35%;
    --node-scale: 0.7;
    --node-hover-scale: 1.12;
    --active-glow-x: 27.14%;
    --active-glow-y: 28.60%;

    position: relative;
    width: 100%;
    aspect-ratio: 1205 / 853;
    margin: 0 auto;
  }

  .ecosystem-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1;
    opacity: 0;
    transform: scale(0.92);
    transform-origin: var(--center-x) var(--center-y);
    pointer-events: none;
    transition:
      opacity 700ms ease 250ms,
      transform 950ms cubic-bezier(0.16, 1, 0.3, 1) 250ms;
  }

  .ecosystem-lines path,
  .ecosystem-lines circle,
  .ecosystem-lines line {
    vector-effect: non-scaling-stroke;
  }

  .ecosystem-glow {
    position: absolute;
    left: var(--active-glow-x);
    top: var(--active-glow-y);
    width: 300px;
    max-width: 25%;
    aspect-ratio: 1;
    border-radius: 50%;
    background:
      radial-gradient(circle, rgba(220, 20, 20, 0.22) 0%, rgba(180, 0, 0, 0.13) 38%, rgba(255, 255, 255, 0) 70%);
    transform: translate(-50%, -50%) scale(0.35);
    opacity: 0;
    z-index: 2;
    pointer-events: none;
    transition:
      left 520ms cubic-bezier(0.16, 1, 0.3, 1),
      top 520ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 520ms ease 950ms,
      transform 720ms cubic-bezier(0.16, 1, 0.3, 1) 950ms;
  }

  .ecosystem-center {
    position: absolute;
    left: var(--center-x);
    top: var(--center-y);
    width: 23.74%;
    aspect-ratio: 1;
    border: 5px solid #000;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
    z-index: 8;
    display: grid;
    place-items: center;
  }

  .ecosystem-logo-img {
    display: block;
    width: 67%;
    height: auto;
  }

  .ecosystem-node {
    --x: var(--center-x);
    --y: var(--center-y);
    --delay: 0ms;

    position: absolute;
    left: var(--center-x);
    top: var(--center-y);
    width: calc(18.76% * var(--node-scale));
    aspect-ratio: 226 / 305;
    z-index: 6;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.15);
    cursor: pointer;
    will-change: left, top, transform, opacity;
    transition:
      left 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      top 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      transform 1050ms cubic-bezier(0.16, 1, 0.3, 1) var(--delay),
      opacity 350ms ease var(--delay),
      z-index 0ms linear;
  }

  .ecosystem-node::before {
    content: "";
    position: absolute;
    inset: 13%;
    border-radius: 999px;
    background:
      radial-gradient(circle, rgba(220, 20, 20, 0.22) 0%, rgba(220, 20, 20, 0.1) 42%, rgba(255, 255, 255, 0) 72%);
    opacity: 0;
    transform: scale(0.8);
    transition:
      opacity 320ms ease,
      transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
    pointer-events: none;
  }

  .ecosystem-node-img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.08));
    transform: translateY(0) rotate(0deg);
    transition:
      filter 360ms ease,
      transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, filter;
  }

  .ecosystem-node-lap {
    --x: 49.00%;
    --y: 9.79%;
    --delay: 120ms;
  }

  .ecosystem-node-displays {
    --x: 70.70%;
    --y: 26.60%;
    --delay: 230ms;
  }

  .ecosystem-node-cameras {
    --x: 71.04%;
    --y: 73.75%;
    --delay: 340ms;
  }

  .ecosystem-node-cables {
    --x: 49.00%;
    --y: 88.63%;
    --delay: 450ms;
  }

  .ecosystem-node-expansions {
    --x: 29.10%;
    --y: 71.55%;
    --delay: 560ms;
  }

  .ecosystem-node-sensors {
    --x: 27.14%;
    --y: 28.60%;
    --delay: 670ms;
  }

  .ecosystem-dot {
    position: absolute;
    width: 2.66%;
    aspect-ratio: 1;
    border: 5px solid #000;
    border-radius: 50%;
    background: #fff;
    z-index: 5;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.35);
    transition:
      opacity 450ms ease 1000ms,
      transform 650ms cubic-bezier(0.16, 1, 0.3, 1) 1000ms;
  }

  .ecosystem-dot-left {
    left: 23.57%;
    top: 49.30%;
  }

  .ecosystem-dot-right {
    left: 74.19%;
    top: 49.30%;
  }

  .ecosystem-label {
    position: absolute;
    z-index: 9;
    text-align: left;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition:
      opacity 520ms ease,
      transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-label {
    opacity: 0;
    transform: translateY(14px);
  }

  .aim-ecosystem-stage.is-visible.is-labels-ready .ecosystem-label.is-active {
    opacity: 1;
    transform: translateY(0);
  }

  .ecosystem-label h3 {
    margin: 0 0 12px;
    font-size: 21px;
    font-weight: 700;
    color: #000;
  }

  .ecosystem-label p {
    margin: 0;
    font-size: 16px;
    font-weight: 450;
    color: #000;
  }

  .ecosystem-label-sensors {
    left: 0;
    top: 22.85%;
    width: 190px;
  }

  .ecosystem-label-expansions {
    left: 0;
    top: 67.72%;
    width: 265px;
  }

  .ecosystem-label-lap {
    left: 58.50%;
    top: 0;
    width: 280px;
  }

  .ecosystem-label-displays {
    left: 80.66%;
    top: 21.80%;
    width: 235px;
  }

  .ecosystem-label-cameras {
    left: 80.66%;
    top: 66.35%;
    width: 235px;
  }

  .ecosystem-label-cables {
    left: 59.17%;
    top: 86.60%;
    width: 330px;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-lines {
    opacity: 1;
    transform: scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-glow {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node {
    left: var(--x);
    top: var(--y);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node-img {
    animation: ecosystem-node-float 4.8s ease-in-out infinite;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:nth-of-type(odd) .ecosystem-node-img {
    animation-delay: 0.35s;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:nth-of-type(even) .ecosystem-node-img {
    animation-delay: 0.7s;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node.is-active {
    z-index: 14;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node.is-active::before {
    opacity: 0.72;
    transform: scale(1.08);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible {
    z-index: 15;
    transform: translate(-50%, -54%) scale(var(--node-hover-scale));
    transition:
      left 1050ms cubic-bezier(0.16, 1, 0.3, 1),
      top 1050ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
      opacity 350ms ease,
      z-index 0ms linear;
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover::before,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible::before {
    opacity: 1;
    transform: scale(1.18);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node:focus-visible .ecosystem-node-img {
    animation-play-state: paused;
    transform: translateY(-4px) rotate(-1.5deg);
    filter:
      drop-shadow(0 20px 22px rgba(0, 0, 0, 0.16))
      drop-shadow(0 0 18px rgba(220, 20, 20, 0.18));
  }

  .aim-ecosystem-stage.is-visible .ecosystem-node-displays:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-cameras:hover .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-displays:focus-visible .ecosystem-node-img,
  .aim-ecosystem-stage.is-visible .ecosystem-node-cameras:focus-visible .ecosystem-node-img {
    transform: translateY(-4px) rotate(1.5deg);
  }

  .aim-ecosystem-stage.is-visible .ecosystem-dot {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  .aim-ecosystem-stage.is-resetting .ecosystem-lines,
  .aim-ecosystem-stage.is-resetting .ecosystem-glow,
  .aim-ecosystem-stage.is-resetting .ecosystem-node,
  .aim-ecosystem-stage.is-resetting .ecosystem-dot,
  .aim-ecosystem-stage.is-resetting .ecosystem-label,
  .aim-ecosystem-stage.is-resetting .ecosystem-node::before,
  .aim-ecosystem-stage.is-resetting .ecosystem-node-img {
    transition: none !important;
    animation: none !important;
  }

  .ecosystem-mobile-image {
    display: none;
  }

  .ecosystem-mobile-stack {
    display: none;
  }

  .ecosystem-copy {
    max-width: 637px;
    margin: 78px auto 0;
    font-size: 18px;
    font-weight: 450;
    letter-spacing: 0.02em;
    color: #7d7d7d;
  }

  @keyframes ecosystem-node-float {
    0% {
      transform: translateY(0) rotate(0deg);
    }

    50% {
      transform: translateY(-5px) rotate(0.6deg);
    }

    100% {
      transform: translateY(0) rotate(0deg);
    }
  }

  @media (max-width: 1240px) {
    .aim-ecosystem-stage,
    .ecosystem-mobile-image {
      display: none;
    }

    .ecosystem-mobile-stack {
      --mobile-node-size: 126px;
      --mobile-aim-size: 166px;
      --mobile-line-width: 4px;

      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: min(520px, 100%);
      margin: 0 auto;
      padding: 0 0 10px;
    }

    .ecosystem-mobile-stack::before {
      content: "";
      position: absolute;
      left: 50%;
      top: calc(var(--mobile-aim-size) / 2);
      bottom: calc(var(--mobile-node-size) / 2);
      width: var(--mobile-line-width);
      transform: translateX(-50%);
      background-image: repeating-linear-gradient(
        to bottom,
        #cfd4d6 0 14px,
        transparent 14px 25px
      );
      opacity: 0.9;
      pointer-events: none;
    }

    .ecosystem-mobile-aim {
      position: relative;
      z-index: 2;
      display: grid;
      place-items: center;
      width: var(--mobile-aim-size);
      aspect-ratio: 1;
      margin: 0 auto 42px;
      border: 5px solid #000;
      border-radius: 50%;
      background: #fff;
    }

    .ecosystem-mobile-aim img {
      display: block;
      width: 64%;
      height: auto;
    }

    .ecosystem-mobile-item {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }

    .ecosystem-mobile-item + .ecosystem-mobile-item {
      margin-top: 58px;
    }

    .ecosystem-mobile-node {
      position: relative;
      z-index: 2;
      display: grid;
      place-items: center;
      width: var(--mobile-node-size);
      aspect-ratio: 1;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
    }

    .ecosystem-mobile-node img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      opacity: 1;
      transition: filter 240ms ease;
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-node img {
      opacity: 1;
      filter:
        drop-shadow(0 16px 22px rgba(0, 0, 0, 0.18))
        drop-shadow(0 0 18px rgba(220, 20, 20, 0.18));
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-node::before {
      content: "";
      position: absolute;
      inset: -64px;
      z-index: -1;
      border-radius: 50%;
      background:
        radial-gradient(circle, rgba(220, 20, 20, 0.22) 0%, rgba(180, 0, 0, 0.12) 36%, rgba(255, 255, 255, 0) 70%);
      pointer-events: none;
    }

    .ecosystem-mobile-label {
      display: none;
      position: relative;
      z-index: 4;
      width: min(410px, calc(100vw - 42px));
      margin: 24px auto 0;
      padding: 36px 30px 40px;
      text-align: center;
      color: #000;
      border: 0;
      background:
        radial-gradient(
          ellipse at center,
          rgba(255, 255, 255, 0.98) 0%,
          rgba(255, 255, 255, 0.94) 38%,
          rgba(255, 255, 255, 0.64) 66%,
          rgba(255, 255, 255, 0) 100%
        );
    }

    .ecosystem-mobile-item.is-active .ecosystem-mobile-label {
      display: block;
    }

    .ecosystem-mobile-label h3 {
      position: relative;
      z-index: 2;
      margin: 0 0 18px;
      font-size: 23px;
      line-height: 110%;
      font-weight: 700;
      color: #000;
      text-align: center;
    }

    .ecosystem-mobile-label p {
      position: relative;
      z-index: 2;
      margin: 0;
      font-size: 22px;
      line-height: 120%;
      font-weight: 400;
      color: #000;
      text-align: center;
    }
  }

  @media (max-width: 1024px) {
    .ecosystem-section {
      padding: 70px 0 88px;
    }

    .ecosystem-title {
      font-size: 68px;
    }

    .ecosystem-subtitle {
      margin-bottom: 58px;
    }
  }

  @media (max-width: 768px) {
    .ecosystem-section {
      padding: 56px 0 64px;
    }

    .ecosystem-inner {
      width: calc(100% - 36px);
    }

    .ecosystem-title {
      margin-bottom: 24px;
      font-size: 42px;
    }

    .ecosystem-subtitle {
      margin-bottom: 42px;
      font-size: 18px;
    }

    .ecosystem-mobile-stack {
      --mobile-node-size: 116px;
      --mobile-aim-size: 150px;
    }

    .ecosystem-mobile-aim {
      margin-bottom: 38px;
    }

    .ecosystem-mobile-item + .ecosystem-mobile-item {
      margin-top: 52px;
    }

    .ecosystem-mobile-label {
      width: min(390px, calc(100vw - 36px));
      margin-top: 22px;
      padding: 32px 24px 36px;
    }

    .ecosystem-mobile-label h3 {
      font-size: 21px;
    }

    .ecosystem-mobile-label p {
      font-size: 20px;
    }

    .ecosystem-copy {
      margin-top: 44px;
      font-size: 15px;
      letter-spacing: 0.01em;
    }
  }

  @media (max-width: 480px) {
    .ecosystem-mobile-stack {
      --mobile-node-size: 104px;
      --mobile-aim-size: 136px;
    }

    .ecosystem-mobile-label {
      width: min(360px, calc(100vw - 28px));
      padding: 30px 22px 34px;
    }

    .ecosystem-mobile-label h3 {
      font-size: 20px;
    }

    .ecosystem-mobile-label p {
      font-size: 18px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .ecosystem-lines,
    .ecosystem-glow,
    .ecosystem-node,
    .ecosystem-dot,
    .ecosystem-label,
    .ecosystem-node::before,
    .ecosystem-node-img {
      transition: none !important;
      animation: none !important;
    }

    .aim-ecosystem-stage.is-visible.is-labels-ready .ecosystem-label.is-active {
      opacity: 1;
      transform: none;
    }
  }
</style>

<div class="ecosystem-section">
  <div class="ecosystem-inner">
    <h2 class="ecosystem-title">
      Built into the Aim Ecosystem
    </h2>

    <div class="ecosystem-subtitle">
      Designed to communicate, configure and perform as one unified system
    </div>

    <div class="aim-ecosystem-stage">
      <svg class="ecosystem-lines" viewBox="0 0 1205 853" aria-hidden="true">
        <circle
          cx="590"
          cy="421"
          r="306"
          fill="none"
          stroke="#cfd4d6"
          stroke-width="4"
          stroke-dasharray="14 10"
        />

        <line x1="590" y1="421" x2="590" y2="83" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="852" y2="244" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="856" y2="612" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="590" y2="756" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="327" y2="612" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
        <line x1="590" y1="421" x2="327" y2="244" stroke="#cfd4d6" stroke-width="4" stroke-dasharray="14 10" />
      </svg>

      <div class="ecosystem-glow"></div>

      <div class="ecosystem-center">
        <img decoding="async"
          class="ecosystem-logo-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/logo.webp"
          alt="AiM"
        >
      </div>

      <div class="ecosystem-dot ecosystem-dot-left"></div>
      <div class="ecosystem-dot ecosystem-dot-right"></div>

      <div
        class="ecosystem-node ecosystem-node-lap"
        data-ecosystem-target="lap"
        data-glow-x="49.00%"
        data-glow-y="9.79%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/6.webp"
          alt="Aim lap timing"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-displays"
        data-ecosystem-target="displays"
        data-glow-x="70.70%"
        data-glow-y="26.60%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/5.webp"
          alt="Aim displays and display loggers"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-cameras"
        data-ecosystem-target="cameras"
        data-glow-x="71.04%"
        data-glow-y="73.75%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/4.webp"
          alt="Aim cameras"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-cables"
        data-ecosystem-target="cables"
        data-glow-x="49.00%"
        data-glow-y="88.63%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/3.webp"
          alt="Aim cables and accessories"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-expansions"
        data-ecosystem-target="expansions"
        data-glow-x="29.10%"
        data-glow-y="71.55%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/2.webp"
          alt="Aim sensors and expansions"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div
        class="ecosystem-node ecosystem-node-sensors is-active"
        data-ecosystem-target="sensors"
        data-glow-x="27.14%"
        data-glow-y="28.60%"
        tabindex="0"
      >
        <img decoding="async"
          class="ecosystem-node-img"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/1.webp"
          alt="Aim sensors"
          width="226"
          height="305"
          loading="lazy"
        >
      </div>

      <div class="ecosystem-label ecosystem-label-sensors is-active" data-ecosystem-label="sensors">
        <h3>Sensors</h3>
        <p>Integrates cleanly with Aim displays, loggers, and control modules to deliver consistent, high-quality data.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-lap" data-ecosystem-label="lap">
        <h3>Lap Timing</h3>
        <p>Delivers precise, lap/session timing data that anchors the rest of the system’s performance analysis.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-displays" data-ecosystem-label="displays">
        <h3>Displays & Display Loggers</h3>
        <p>Presents real-time vehicle information through a unified interface that consolidates multiple data sources.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-cameras" data-ecosystem-label="cameras">
        <h3>Cameras</h3>
        <p>Aligns high-quality video with telemetry inputs to create a fully synchronised performance record.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-cables" data-ecosystem-label="cables">
        <h3>Cables & Accessories</h3>
        <p>Provides the physical and electrical pathways that maintain stable communication and reliable system operation.</p> 
      </div>

      <div class="ecosystem-label ecosystem-label-expansions" data-ecosystem-label="expansions">
        <h3>Sensors & Expansions</h3>
        <p>Extends the platform’s measurement capabilities by adding specialised channels and advanced acquisition modules.</p> 
      </div>
    </div>

    <div class="ecosystem-mobile-stack" data-ecosystem-mobile>
      <div class="ecosystem-mobile-aim">
        <img decoding="async"
          src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/logo.webp"
          alt="AiM"
        >
      </div>

      <div class="ecosystem-mobile-item is-active" data-mobile-target="sensors">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show sensors">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/1.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Sensors</h3>
          <p>Integrates cleanly with Aim displays, loggers, and control modules to deliver consistent, high-quality data.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="lap">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show lap timing">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/6.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Lap Timing</h3>
          <p>Delivers precise lap and session timing data that anchors the rest of the system’s performance analysis.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="displays">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show displays">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/5.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Displays & Display Loggers</h3>
          <p>Presents real-time vehicle information through a unified interface that consolidates multiple data sources.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="cameras">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show cameras">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/4.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Cameras</h3>
          <p>Aligns high-quality video with telemetry inputs to create a fully synchronised performance record.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="cables">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show cables">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/3.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Cables & Accessories</h3>
          <p>Provides the physical and electrical pathways that maintain stable communication and reliable system operation.</p> 
        </div>
      </div>

      <div class="ecosystem-mobile-item" data-mobile-target="expansions">
        <button class="ecosystem-mobile-node" type="button" aria-label="Show expansions">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/2.webp" alt="">
        </button>
        <div class="ecosystem-mobile-label">
          <h3>Sensors & Expansions</h3>
          <p>Extends the platform’s measurement capabilities by adding specialised channels and advanced acquisition modules.</p> 
        </div>
      </div>
    </div>

    <div class="ecosystem-copy">
      Combined sensors don’t operate in isolation. They connect directly to Aim dashes, loggers, and ECUs through the same unified CAN network for seamless data acquisition.
    </div>
  </div>
</div>

<script>
  (() => {
    const stages = document.querySelectorAll('.aim-ecosystem-stage');

    if (stages.length) {
      const defaultTarget = 'sensors';
      const defaultLabelRevealDelay = 1360;

      const setActiveItem = (stage, target) => {
        const nodes = stage.querySelectorAll('[data-ecosystem-target]');
        const labels = stage.querySelectorAll('[data-ecosystem-label]');
        const activeNode = stage.querySelector(`[data-ecosystem-target="${target}"]`);

        if (!activeNode) return;

        nodes.forEach((node) => {
          node.classList.toggle('is-active', node.dataset.ecosystemTarget === target);
        });

        labels.forEach((label) => {
          label.classList.toggle('is-active', label.dataset.ecosystemLabel === target);
        });

        stage.style.setProperty('--active-glow-x', activeNode.dataset.glowX || '27.14%');
        stage.style.setProperty('--active-glow-y', activeNode.dataset.glowY || '28.60%');
      };

      const showStage = (stage) => {
        if (stage.classList.contains('is-visible')) return;

        stage.classList.remove('is-resetting');
        stage.classList.remove('is-labels-ready');
        stage.classList.add('is-visible');

        setActiveItem(stage, defaultTarget);

        window.clearTimeout(stage.ecosystemLabelTimer);

        stage.ecosystemLabelTimer = window.setTimeout(() => {
          if (stage.classList.contains('is-visible')) {
            stage.classList.add('is-labels-ready');
          }
        }, defaultLabelRevealDelay);
      };

      const resetStage = (stage) => {
        if (!stage.classList.contains('is-visible')) return;

        window.clearTimeout(stage.ecosystemLabelTimer);

        stage.classList.add('is-resetting');
        stage.classList.remove('is-visible');
        stage.classList.remove('is-labels-ready');

        setActiveItem(stage, defaultTarget);

        requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            stage.classList.remove('is-resetting');
          });
        });
      };

      stages.forEach((stage) => {
        const nodes = stage.querySelectorAll('[data-ecosystem-target]');

        setActiveItem(stage, defaultTarget);

        nodes.forEach((node) => {
          node.addEventListener('mouseenter', () => {
            setActiveItem(stage, node.dataset.ecosystemTarget);

            if (stage.classList.contains('is-visible')) {
              stage.classList.add('is-labels-ready');
            }
          });

          node.addEventListener('focus', () => {
            setActiveItem(stage, node.dataset.ecosystemTarget);

            if (stage.classList.contains('is-visible')) {
              stage.classList.add('is-labels-ready');
            }
          });
        });
      });

      if (!('IntersectionObserver' in window)) {
        stages.forEach((stage) => {
          showStage(stage);
          stage.classList.add('is-labels-ready');
        });
      } else {
        const observer = new IntersectionObserver(
          (entries) => {
            entries.forEach((entry) => {
              if (entry.intersectionRatio >= 0.35) {
                showStage(entry.target);
                return;
              }

              if (!entry.isIntersecting) {
                resetStage(entry.target);
              }
            });
          },
          {
            threshold: [0, 0.35]
          }
        );

        stages.forEach((stage) => observer.observe(stage));
      }
    }

    const mobileStacks = document.querySelectorAll('[data-ecosystem-mobile]');

    mobileStacks.forEach((stack) => {
      const items = stack.querySelectorAll('.ecosystem-mobile-item');

      items.forEach((item) => {
        const button = item.querySelector('.ecosystem-mobile-node');

        if (!button) return;

        button.addEventListener('click', () => {
          items.forEach((otherItem) => {
            otherItem.classList.toggle('is-active', otherItem === item);
          });
        });
      });
    });
  })();
</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_20">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .use-guide-section {
    background: #fff;
    color: #000;
    padding: 86px 0;
    font-family: inherit;
    overflow: hidden;
  }

  .use-guide-section,
  .use-guide-section * {
    box-sizing: border-box;
    line-height: 110% !important;
  }

  .use-guide-inner {
    width: min(1170px, calc(100% - 48px));
    margin: 0 auto;
  }

  .use-guide-title {
    margin: 0 0 150px;
    font-size: 64px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #000;
  }

  .use-guide-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px;
  }

  .use-guide-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .use-guide-icon {
    display: block;
    width: 51px;
    height: 51px;
    margin: 0 0 34px;
  }

  .use-guide-icon img {
    display: block;
    width: 51px;
    height: 51px;
    object-fit: contain;
  }

  .use-guide-item-title {
    display: block;
    margin: 0 0 20px;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #000;
  }

  .use-guide-item-copy {
    margin: 0;
    max-width: 330px;
    font-size: 18px;
    font-weight: 500;
    color: #7d7d7d;
  }

  @media (max-width: 1024px) {
    .use-guide-section {
      padding: 78px 0;
    }

    .use-guide-title {
      margin-bottom: 76px;
      font-size: 54px;
    }

    .use-guide-items {
      gap: 32px;
    }

    .use-guide-icon {
      margin-bottom: 28px;
    }

    .use-guide-item-title {
      font-size: 26px;
    }

    .use-guide-item-copy {
      font-size: 18px;
    }
  }

  @media (max-width: 768px) {
    .use-guide-section {
      padding: 64px 0 72px;
    }

    .use-guide-inner {
      width: calc(100% - 36px);
    }

    .use-guide-title {
      margin-bottom: 58px;
      font-size: 42px;
    }

    .use-guide-items {
      grid-template-columns: 1fr;
      gap: 44px;
    }

    .use-guide-icon {
      margin-bottom: 24px;
    }

    .use-guide-item-title {
      margin-bottom: 16px;
      font-size: 26px;
    }

    .use-guide-item-copy {
      max-width: 100%;
      font-size: 18px;
    }
  }
</style>

<div class="use-guide-section">
  <div class="use-guide-inner">
    <h2 class="use-guide-title">
      Built For The Way You Race
    </h2>

    <div class="use-guide-items">
      <div class="use-guide-item">
        <div class="use-guide-icon">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Cog-Icon.svg" alt="">
        </div>

        <h3 class="use-guide-item-title">
          Easy CAN Integration
        </h3>

        <p class="use-guide-item-copy">
          Connects instantly to the Aim network for clean, reliable sensor data flow.
        </p> 
      </div>

      <div class="use-guide-item">
        <div class="use-guide-icon">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Data-Icon.svg" alt="">
        </div>

        <h3 class="use-guide-item-title">
          Configured in Race Studio 3
        </h3>

        <p class="use-guide-item-copy">
          Set up and calibrate pressure and temperature channels from one familiar workspace.
        </p> 
      </div>

      <div class="use-guide-item">
        <div class="use-guide-icon">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/Dash-Icon.svg" alt="">
        </div>

        <h3 class="use-guide-item-title">
          Real-Time Monitoring
        </h3>

        <p class="use-guide-item-copy">
          View live sensor values and diagnostics the moment they’re active.
        </p> 
      </div>
    </div>
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_21">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .sensor-range-section {
    background: #fff;
    color: #000;
    padding: 107px 0 67px;
    font-family: inherit;
    overflow: hidden;
  }

  .sensor-range-section,
  .sensor-range-section * {
    box-sizing: border-box;
  }

  .sensor-range-inner {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
  }

  .sensor-range-header {
    max-width: 886px;
    margin: 0 auto 70px;
    text-align: center;
  }

  .sensor-range-title {
    margin: 0 0 70px;
    font-size: 71px;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: -0.01em;
    color: #000;
  }

  .sensor-range-subtitle {
    max-width: 720px;
    margin: 0 auto;
    font-size: 18px;
    font-weight: 450;
    line-height: 120%;
    letter-spacing: 0.02em;
    color: #7d7d7d;
  }

  .sensor-range-grid {
    display: grid;
    grid-template-columns: repeat(3, 312px);
    justify-content: space-between;
    gap: 48px;
  }

  .sensor-range-card {
    width: 312px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
  }

  .sensor-range-image {
    width: 312px;
    height: 312px;
    border-radius: 15px;
    background: #f4f4f4;
    overflow: hidden;
  }

  .sensor-range-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .sensor-range-card-title {
    margin: 0;
    width: 100%;
    font-size: 20px;
    font-weight: 600;
    line-height: 100%;
    color: #000;
    text-align: left;
  }

  .sensor-range-card-copy {
    margin: 0;
    width: 100%;
    font-size: 18px;

    line-height: 120%;
    letter-spacing: 0.02em;
    color: #7d7d7d;
    text-align: left;
  }

  .sensor-range-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 98px;
    height: 28px;
    padding: 4px 10px;
    background: #0088ff;
    border-radius: 1000px;
    color: #fff;
    font-size: 15px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -0.23px;
    text-decoration: none;
    text-align: center;
  }

  @media (max-width: 1024px) {
    .sensor-range-section {
      padding: 86px 0 72px;
    }

    .sensor-range-title {
      margin-bottom: 48px;
      font-size: 56px;
    }

    .sensor-range-header {
      margin-bottom: 58px;
    }

    .sensor-range-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 28px;
    }

    .sensor-range-card {
      width: 100%;
    }

    .sensor-range-image {
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
    }
  }

  @media (max-width: 768px) {
    .sensor-range-section {
      padding: 64px 0 72px;
    }

    .sensor-range-inner {
      width: calc(100% - 36px);
    }

    .sensor-range-header {
      margin-bottom: 48px;
    }

    .sensor-range-title {
      margin-bottom: 28px;
      font-size: 42px;
    }

    .sensor-range-subtitle {
      font-size: 18px;
    }

    .sensor-range-grid {
      grid-template-columns: 1fr;
      gap: 48px;
    }

    .sensor-range-card {
      width: 100%;
      gap: 20px;
    }

    .sensor-range-image {
      width: 100%;
      max-width: 312px;
      height: auto;
      aspect-ratio: 1 / 1;
    }

    .sensor-range-card-title {
      font-size: 20px;
    }

    .sensor-range-card-copy {
      font-size: 18px;
    }
  }
</style>

<div class="sensor-range-section">
  <div class="sensor-range-inner">
    <div class="sensor-range-header">
      <h2 class="sensor-range-title">
        More from the Sensor Range
      </h2>

      <p class="sensor-range-subtitle">
        Explore additional sensors designed to deliver reliable measurements, consistent performance, and easy system integration.
      </p> 
    </div>

    <div class="sensor-range-grid">
      <div class="sensor-range-card">
        <div class="sensor-range-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/1.png" alt="Speed and position sensors">
        </div>

        <div class="sensor-range-card-title">
          Speed & Position Sensors
        </div>

        <p class="sensor-range-card-copy">
          Wheel, shaft, and movement detection
        </p> 

        <a class="sensor-range-button" href="https://www.aimtechnologies.com/speed-sensors/">
          Learn More
        </a>
      </div>

      <div class="sensor-range-card">
        <div class="sensor-range-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/2.png" alt="Temperature sensors">
        </div>

        <div class="sensor-range-card-title">
          Temperature Sensors
        </div>

        <p class="sensor-range-card-copy">
          Coolant, oil, brake, and exhaust
        </p> 

        <a class="sensor-range-button" href="https://www.aimtechnologies.com/thermocouples/">
          Learn More
        </a>
      </div>

      <div class="sensor-range-card">
        <div class="sensor-range-image">
          <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/05/3.png" alt="Pressure sensors">
        </div>

        <div class="sensor-range-card-title">
          Pressure Sensors
        </div>

        <p class="sensor-range-card-copy">
          Oil, fuel, and fluid pressure
        </p> 

        <a class="sensor-range-button" href="https://www.aimtechnologies.com/pressure-sensors/">
          Learn More
        </a>
      </div>
    </div>
  </div>
</div></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_18 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_9">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_18">
				
				
				
				
				<div class="et_pb_code_inner"><script>
function setupScrollAnimationObserver() {
    const animations = [
        { className: 'animate1', threshold: 0.1, delay: 200 },
        { className: 'animate2', threshold: 0.3, delay: 200 },
        { className: 'animate3', threshold: 0.4, delay: 200 }
    ];

    animations.forEach(animation => {
        const observer = new IntersectionObserver((entries, observer) => {
            entries.forEach(entry => {
                if (entry.isIntersecting && entry.target.classList.contains(animation.className)) {
                    let timer = setTimeout(() => {
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = getTransform(animation.className);
                        observer.unobserve(entry.target);
                    }, animation.delay);
                }
            });
        }, { threshold: animation.threshold });

        document.querySelectorAll(`.${animation.className}`).forEach(el => observer.observe(el));
    });
}

function getTransform(className) {
    if (className === 'animate1') {
        return 'translatey(0)';
    } else if (className === 'animate2') {
        return 'translate(0,0)';
    } else if (className === 'animate3') {
        return 'scale(1)';
    }
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/epm-expansion-power-module-tech-spec/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 10:50:53 +0000</pubDate>
				<category><![CDATA[Tech Spec]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=290043</guid>

					<description><![CDATA[Short description of the product, possible the tagline from the page.]]></description>
										<content:encoded><![CDATA[
<div class="et_pb_section et_pb_section_19 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_10">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_10  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_19">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  h1 div{
    font-size: 14px;
    font-weight:normal
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: start;
  }
  .Aim_sectionColumn{
    width: 80%;
    display:flex;
		justify-content:start;
    
  }
  .Aim_center{
    justify-content:center !important; 
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 25px;
    white-space:nowrap;
    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li,
  .Aim_sectionColumn ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}

    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
    .Aim_sectionColumnOne, .Aim_sectionColumnTwo {

    flex-direction: column;
    align-items: center;
}
  }
  #mobileMenuCont{
    padding: 0 ;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
  }

    @media only screen and (max-width: 600px) {
    #mobileMenuCont a{
      font-size: 13px;
    }

  }
    .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
<h1 style="padding:0;margin:0; font-weight:600">
    EPM
    <div>
      Technical Information
    </div>
  </h1>
  <div id="Aim_secondMenuOptions">
    <div id="mobileMenuCont">
    	<a href="https://www.aimtechnologies.com/aim-epm-expansion-power-module/" class="active">Overview</a>
    </div>
    <a class="buyMe" href="https://www.aimtechnologies.com/aim-epm-expansion-power-module/">
        Buy
    </a>
  </div>
  </div>
</div></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_11">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_11  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div id="Aim_titleCont" class="et_pb_module et_pb_code et_pb_code_20">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_titleSpecsCont">
  <div class="Aim_sectionTitle">

  </div>
    
  <h2 class="Aim_sectionColumnOne Aim_titles">
    EPM08
  </h2>
  <h2 class="Aim_sectionColumnTwo Aim_titles">
    EPM32
  </h2>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_21">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .noMarg{
    margin:0 !important;
    padding:0 !important
  }
  #mobyTitle{
    display:none;
  }
    @media only screen and (max-width: 460px){
      #mobyTitle{
    display:block;
  }
  }
</style>
<div class="Aim_rowSpecsCont " >
  <h3 class="Aim_sectionTitle">
    Model
  </h3>
  <div class="Aim-spanner">
    <div class="Aim_sectionColumnOne noMarg">
      <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-202EPM.webp" alt="EPM08"/>
      <div id="mobyTitle">
        EPM08
      </div>
    </div>
    <div class="Aim_sectionColumnTwo noMarg">
      <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-201EPM.webp" alt="EPM32" />
      <div id="mobyTitle">
        EPM32
      </div>
    </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_22">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Overview
  </h3>
  <div class="Aim-spanner">
	<div class="Aim_sectionColumn">
    The Expansion Power Module adds power outputs to your installation. They are available in two variants, the EPM08 with 8 power outputs, and the EPM32 with 32 power outputs.
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_24">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Size & Weight
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumnOne">
  <ul>
    <li><span>Dimensions:</span> 161 x 100.6 x 50.6mm</li>
    <li><span>Weight:</span> 370g</li>
    </ul>
  </div>
  <div class="Aim_sectionColumnTwo">
    <ul>
      <li><span>Dimensions:</span> 234.4 x 95.1 x 49mm</li>
      <li><span>Weight:</span> 740g</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_25">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Waterproof
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumnOne">
  <ul>
    <li>IP 65</li>
    </ul>
  </div>
  <div class="Aim_sectionColumnTwo">
    <ul>
      <li>IP 65</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_26">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    In The Box
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumnOne">
  <ul>
    <li>EPM08 Module</li>
    </ul>
  </div>
  <div class="Aim_sectionColumnTwo">
    <ul>
      <li>EPM32 Module</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_27">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Technical
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumnOne">
    <ul>
     <li><span>Connectors:</span> 1 AMP connector + 1 Amphenol Surlok connector</li> 
      <li><span>LEDs:</span> 8 RGB LEDs + 1 EPM ON + 1 EPM STS (status)</li> 
      <li><span>Inputs:</span> <br />
     Analogue Inputs: 6 fully configurable analogue inputs (0-5V; 0-12V) recorded at max 500Hz each<br />
      Digital Inputs: Pull-up/pull-down<br />
      </li> 
    <li><span>Power Outputs:</span> <br />
     1 with series diode rated up to 20A (high side)<br />
     1 rated up to 25A (high side)<br />
    6 rated up to 15A (high side)<br />
     Protected For: overvoltage, undervoltage, short circuit, overcurrent and overtemperature<br />
     All outputs have an internal freewheeling diode<br />
     Total Max Current: 100A<br />
      </li> 
      <li><span>Body:</span> Anodised aluminium</li> 
    </ul>
  </div>
  <div class="Aim_sectionColumnTwo">
      <ul>
      <li><span>Connectors:</span> 2 AMP connector + 1 Amphenol Surlok connector</li> 
      <li><span>LEDs:</span> 32 RGB LEDs + 1 EPM ON + 1 EPM STS (status)</li> 
      <li><span>Inputs:</span> <br />
      Up to 8 analogue inputs recorded at max 500Hz each (8 configurable as analogue or digital, 4 digital only)<br />
      Digital Inputs: Pull-up/pull-down<br />
      </li> 
    <li><span>Power Outputs:</span> <br />
      1 with series diode + 3 rated up to 20A (high side)<br />
     12 rated up to 15A (high side)<br />
    	12 rated up to 10A (high side)<br />
     4 rated up to 35A (high side/half bridge/low side/configurable)<br />
     Protected For: overvoltage, undervoltage, short circuit, overcurrent, overtemperature<br />
     Total Max Current: 120A<br />
      </li> 
      <li><span>Body:</span> Anodised aluminium</li> 
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_28">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .lightbox {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 100000; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

.lightbox-content {
    margin: auto;
    display: block;
    width: 80%;
}

.close-btn {
    position: absolute;
    top: 105px;
    right: 15px;
    color: white;
    font-size: 35px;
    font-weight: bold;
    cursor: pointer;
}
  .lightbox-trigger{
    cursor:pointer;
  }
</style>
<div id="DiagramBox" class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Diagram
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumnOne">
  <img decoding="async" class="lightbox-trigger" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/AiM_EPM_Ver_1_Technical.webp" alt="epm08 diagram"/>
  </div>
  <div class="Aim_sectionColumnTwo">
    <img decoding="async" class="lightbox-trigger" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/epm32_dimensions_drawing.webp" alt="epm32 diagram"/>
  </div>
  </div>
  
<!-- Lightbox Modal -->
<div id="lightbox-modal" class="lightbox">
    <span class="close-btn">×</span>
    <img class="lightbox-content">
    <div class="caption"></div>
</div>
</div>
<script>// Get the modal
  document.addEventListener('DOMContentLoaded', function () {
var modal = document.getElementById("lightbox-modal");

// Get the image and insert it inside the modal
var images = document.getElementsByClassName('lightbox-trigger');
var modalImg = document.querySelector(".lightbox-content");
var captionText = document.querySelector(".caption");

Array.from(images).forEach(function(img) {
    img.onclick = function() {
        modal.style.display = "block";
        modalImg.src = this.src;
        captionText.innerHTML = this.alt;
    }
});

// Get the <span> element that closes the modal
var closeBtn = document.querySelector(".close-btn");

// When the user clicks on <span> (x), close the modal
closeBtn.onclick = function() { 
    modal.style.display = "none";
}
}, false);</script>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_29">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Downloads
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumnOne">
  	<ul>

      <li><a href="https://cdn.shopify.com/s/files/1/0214/9392/files/aim_epm08_tech_sheet.pdf?v=1755073674" target="_new" rel="noopener">Technical Sheet</a></li>
      <li><a href="/support/downloads/software-downloads/">Race Studio 3</a></li>
    </ul>
  </div>
  <div class="Aim_sectionColumnTwo">
   <ul>
      <li><a href="https://cdn.shopify.com/s/files/1/0214/9392/files/aim_epm32_tech_sheet_1.pdf?v=1756740167" target="_new" rel="noopener">Technical Sheet</a></li>
      <li><a href="/support/downloads/software-downloads/">Race Studio 3</a></li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/aim-epm-expansion-power-module/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 11:48:14 +0000</pubDate>
				<category><![CDATA[Car]]></category>
		<category><![CDATA[Car PDM]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[drag pdms]]></category>
		<category><![CDATA[off road]]></category>
		<category><![CDATA[off road pdm]]></category>
		<category><![CDATA[powerboat]]></category>
		<category><![CDATA[powerboat pdm]]></category>
		<category><![CDATA[truck]]></category>
		<category><![CDATA[truck pdm]]></category>
		<category><![CDATA[EPM]]></category>
		<category><![CDATA[power distribution module]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=289711</guid>

					<description><![CDATA[The Expansion Power Module adds power outputs to your installation. ]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_20 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_12">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_12  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_30">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 30px;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont h1{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-circle-chevron-down{
    display: none;
    cursor:pointer;
    font-size: 24px;
    color:#0066ff !important

  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont h1{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
  @media only screen and (max-width: 750px){
    #mobileMenuCont {
      position:absolute;
      width: 100%;
      left:0;
      right:0;
      flex-direction: column;
      top: 50px;
      backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
      background-color: rgb(236 236 236 / 80%);
      padding: 20px 0;
      transition: all 0.5s ease;
      overflow: hidden;
      height: 0;
      opacity:0;
    }
    .fa-circle-chevron-down{
      display:block;
      transition: all 0.5s ease;
      transform: rotate(0deg);
    }
  }
      .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <h1 style="padding-right: 20px;">
   Aim EPM Expansion Power Module
  </h1>
  <div id="Aim_secondMenuOptions">
    <i class="fa-solid fa-circle-chevron-down" id="mobileSubMenuBtn"></i>
    <div id="mobileMenuCont">
    	<a href="/epm-expansion-power-module-tech-spec/" class="active">EPM Tech Specs</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/collections/aim-epm-unit-systems" target="_blank" rel="noopener">
        Buy  
    </a>
  </div>
  </div>
</div>
<script>

	document.addEventListener("DOMContentLoaded", function() {
		const mobileMenuBtn = document.getElementById('mobileSubMenuBtn');
    const mobileMenuCont = document.getElementById('mobileMenuCont');
    
    let isMouseOverButton = false;
  	let isMouseOverMenu = false;
  	let isMenuOpen = false;
    
     const setNavContainerHeight = () => {
       if(!isMenuOpen){
        mobileMenuCont.style.height = '70px';
         mobileMenuBtn.style.transform = 'rotate(180deg)'
         mobileMenuCont.style.opacity = '1';
       } else  {
       	mobileMenuCont.style.height = '0';
         mobileMenuBtn.style.transform = 'rotate(0deg)'
        mobileMenuCont.style.opacity = '0';
        }
       isMenuOpen = !isMenuOpen;
    };
    
    mobileMenuBtn.addEventListener("click", (e) => {
      setNavContainerHeight();
    })
    
});
</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_21 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_22">
				
				
				
				
				<div class="et_pb_code_inner"><!-- Optional: preload BOTH images so the correct one is ready quickly -->
<link
  rel="preload"
  as="image"
  href="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-217EPM.webp"
  imagesrcset="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-222EPM.webp 600w, https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-217EPM.webp 1920w"
  imagesizes="(max-width: 600px) 100vw, 1920px"
/>

<style>
  html,
  body {
    overflow-x: hidden;
  }

  #heroHeaderContainer {
    max-width: 1920px;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    padding-top: 30px;
    overflow: hidden; /* keeps the backdrop tidy */
  }

  /* Backdrop image (replaces video) */
  #heroBackdrop {
    width: 100%;
    max-width: 1920px;
    height: auto;
    display: block;

    /* If you want the same “pulled up” look you had before */
    margin-top: -250px;
  }

  /* Text/logo overlay */
  #heroTextContainer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;

    color: white;
    overflow: hidden;
    padding: 100px 30px 0 30px;
    z-index: 2;
    pointer-events: none; /* overlay shouldn't block clicks unless you add buttons */
  }

  #logo {
    width: 500px;
    z-index: 2;
    pointer-events: auto; /* allow interaction if needed */
  }

  /* Your existing animation helper (kept) */
  .animate1 {
    transition: all 0.7s ease;
    transform: translateY(50px);
    opacity: 0;
  }

  /* Bottom fade gradient (kept) */
  #heroHeaderContainer:after {
    content: "";
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    pointer-events: none;
    background-image: linear-gradient(
      to bottom,
      hsla(0, 0%, 0%, 0) 0%,
      hsla(0, 0%, 0%, 0.013) 8.1%,
      hsla(0, 0%, 0%, 0.049) 15.5%,
      hsla(0, 0%, 0%, 0.104) 22.5%,
      hsla(0, 0%, 0%, 0.175) 29%,
      hsla(0, 0%, 0%, 0.259) 35.3%,
      hsla(0, 0%, 0%, 0.352) 41.2%,
      hsla(0, 0%, 0%, 0.45) 47.1%,
      hsla(0, 0%, 0%, 0.55) 52.9%,
      hsla(0, 0%, 0%, 0.648) 58.8%,
      hsla(0, 0%, 0%, 0.741) 64.7%,
      hsla(0, 0%, 0%, 0.825) 71%,
      hsla(0, 0%, 0%, 0.896) 77.5%,
      hsla(0, 0%, 0%, 0.951) 84.5%,
      hsla(0, 0%, 0%, 0.987) 91.9%,
      hsl(0, 0%, 0%) 100%
    );
    width: 100%;
    height: 8em;
  }

  /* Mobile tweaks */
  @media only screen and (max-width: 600px) {
    #heroBackdrop {
      margin-top: 0; /* usually better on mobile; adjust if you still want the lift */
    }

    #logo {
      margin-top: 20px;
      width: min(85vw, 300px);
      height: auto;
    }

    #heroTextContainer {
      padding-top: 60px;
    }
  }
</style>

<div id="heroHeaderContainer">
  <div id="heroTextContainer">
    <img
      id="logo"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-215EPM.webp"
      height="273"
      width="764"
      alt="Aim EPM Expansion Power Module"
      loading="eager"
      decoding="async"
    />
  </div>

  <!-- Backdrop image with mobile/desktop sources -->
  <picture>
<source
media="(max-width: 600px)"
      srcset="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-222EPM.webp"
    />
    <img
      id="heroBackdrop"
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-217EPM.webp"
      alt="Aim Expansion Power Module EPM32 and EPM08" 
      role="presentation"
      loading="eager"
      decoding="async"
      fetchpriority="high"
      width="1920"
    />
  </picture>
</div>

<script>
  // If you want to preserve your "don't swap on mobile UA resize" idea,
  // here’s an equivalent that swaps the <img> src ONLY on non-mobile devices.
  (function () {
    function isMobileDevice() {
      return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
        navigator.userAgent
      );
    }

    function updateBackdropSource() {
      var img = document.getElementById("heroBackdrop");
      if (!img) return;

      var isMobileWidth = window.innerWidth <= 600;

      var desktopSrc = "https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-217EPM.webp";
      var mobileSrc = "https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-222EPM.webp";

      // Only set the <img> fallback src; <picture><source>handles most cases already.
      // This helps if the browser ignores <picture> for some reason.
      img.src = isMobileWidth ? mobileSrc : desktopSrc;
    }

    document.addEventListener("DOMContentLoaded", updateBackdropSource);

    if (!isMobileDevice()) {
      window.addEventListener("resize", updateBackdropSource);
    }
  })();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_22 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_23">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  #section1Container{
    max-width:1920px;
    margin: 0 auto;
    background-color:black;
    padding: 30px;
    padding-top: 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:white;
    align-items:center;

  }
  #section1Container .altTitle{
    font-weight: bold;
     color:white;
    font-size: 24px;
    margin-bottom: 20px;
  }
  #section1Container h2{
    font-weight: 600;
     color:white;
    font-size: 78px;
    margin-top: 50px;
  }
 #section1Container  .quote{
    font-weight: 600;
   margin-top:20px;
    font-size: 39px;
    line-height: 50px;
    text-align:center;
    max-width: 900px;
  }
  .circuitManagementText{
    font-size: 24px;
    max-width: 880px;
    text-align:center;
    margin-top: 50px;
  }
   @media only screen and (max-width: 1000px)  {

      #section1Container h2{
        font-size: 39px;
      }
  }
   @media only screen and (max-width: 600px)  {

      #section1Container .quote{
        font-size: 20px;
    		line-height: 30px;
      }
      .circuitManagementText{
    font-size: 18px;

  }
  }

</style>

  <div id="section1Container">
    <p class="quote animate-on-scroll animate1">
"Expansion Power Modules designed for the future of motorsport engineering."
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_23 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_24">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  body, html { overflow-x: hidden; }

  .mychron-slider-container-outer{
    position: relative;
    display:flex;
    justify-content:center;
    align-items:center;
    padding: 40px 16px;
  }

  .mychron-slider-container{
    position:relative;
    width: 100%;
    max-width: 1200px;
    display:flex;
    flex-direction:column;
    align-items:center;
    user-select: none;
  }

  /* ---- Carousel layout ---- */
  .carousel{
    width: 100%;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .carousel__list{
    list-style:none;
    position: relative;
    width: 100%;
    height: 340px;
    margin: 0;
    padding: 0;
    display:flex;
    justify-content:center;
    perspective: 900px;
  }

  /* Card base */
  .carousel__item{
    position:absolute;
    width: 360px;
    height: 340px;
    padding: 26px 26px 22px;
    border-radius: 14px;
    cursor: pointer;

    background: radial-gradient(120% 120% at 20% 10%, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.04) 45%, rgba(255,255,255,0.02) 100%),
                rgba(0,0,0,0.92);

    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 18px 40px rgba(0,0,0,0.55);

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;

    transition:
      transform 420ms cubic-bezier(.2,.9,.2,1),
      opacity 320ms ease,
      filter 320ms ease,
      border-color 320ms ease,
      box-shadow 420ms cubic-bezier(.2,.9,.2,1);
  }

  .carousel__item img{
    width: 70px;
    height: 70px;
    margin: 6px 0 14px;
    pointer-events:none;
  }

  .carousel__item h2{
    font-size: 24px;
    font-weight: 650;
    margin: 0 0 12px;
    padding: 0;
    text-align:center;
    color: #ffffff;
    letter-spacing: 0.2px;
  }

  .carousel__item p{
    font-size: 16px;
    line-height: 1.35;
    margin: 0;
    text-align:center;
    color: rgba(255,255,255,0.78);
    max-width: 280px;
  }

  /* Focus ring for keyboard users */
  .carousel__item:focus{ outline: none; }
  .carousel__item:focus-visible{
    box-shadow: 0 0 0 3px rgba(68,188,73,0.45), 0 18px 40px rgba(0,0,0,0.55);
    border-color: rgba(68,188,73,0.7);
  }

  /* ---- Desktop positioning by data-pos (depth) ---- */
  .carousel__item[data-pos="0"]{
    z-index: 6;
    transform: translateX(0) scale(1);
    opacity: 1;
    filter: none;

    border-color: rgba(68,188,73,0.55);
    box-shadow:
      0 26px 60px rgba(0,0,0,0.65),
      0 0 0 1px rgba(68,188,73,0.20),
      0 0 42px rgba(68,188,73,0.18);
  }

  .carousel__item[data-pos="-1"]{
    z-index: 5;
    transform: translateX(-62%) scale(0.92) rotateY(6deg);
    opacity: 0.72;
    filter: saturate(0.9);
  }
  .carousel__item[data-pos="1"]{
    z-index: 5;
    transform: translateX(62%) scale(0.92) rotateY(-6deg);
    opacity: 0.72;
    filter: saturate(0.9);
  }

  .carousel__item[data-pos="-2"]{
    z-index: 4;
    transform: translateX(-112%) scale(0.84) rotateY(10deg);
    opacity: 0.35;
    filter: grayscale(0.15) blur(1px);
  }
  .carousel__item[data-pos="2"]{
    z-index: 4;
    transform: translateX(112%) scale(0.84) rotateY(-10deg);
    opacity: 0.35;
    filter: grayscale(0.15) blur(1px);
  }

  .carousel__item[data-pos="-3"],
  .carousel__item[data-pos="3"],
  .carousel__item[data-pos="-4"],
  .carousel__item[data-pos="4"],
  .carousel__item[data-pos="-5"],
  .carousel__item[data-pos="5"]{
    opacity: 0;
    pointer-events: none;
    transform: translateX(0) scale(0.75);
    filter: blur(6px);
    z-index: 1;
  }

  /* Chevrons */
  #leftChevron, #rightChevron{
    position:absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    color: rgba(255,255,255,0.85);
    font-size: 22px;
    cursor:pointer;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(0,0,0,0.35);
    border: 1px solid rgba(255,255,255,0.16);
    transition: color 220ms ease, border-color 220ms ease, background 220ms ease;
  }
  #leftChevron{ left: 6px; }
  #rightChevron{ right: 6px; }

  #leftChevron:hover, #rightChevron:hover{
    color: #44bc49;
    border-color: rgba(68,188,73,0.5);
    background: rgba(0,0,0,0.5);
  }

  /* Dots */
  .mychron-slider-dots-container{
    margin-top: 18px;
    display:flex;
    gap: 14px;
    justify-content:center;
    align-items:center;
  }
  .slider-dot{
    height: 10px;
    width: 10px;
    border-radius:999px;
    cursor:pointer;
    background-color: rgba(255,255,255,0.45);
    transition: transform 220ms ease, background-color 220ms ease, opacity 220ms ease;
  }
  .slider-dot.active1{
    background-color:#44bc49;
    transform: scale(1.6);
  }

  /* ---------- Mobile: Splide-style (one slide, neighbours offscreen) ---------- */
  @media (max-width: 720px){
    :root{
      --mobile-snap-ms: 800ms;
      --mobile-snap-ease: cubic-bezier(.18,.9,.22,1);
    }

    .carousel__list{
      height: 380px;
      perspective: none;
      overflow: hidden;
      justify-content: center;
      touch-action: pan-y;
    }

    .carousel__item{
      width: min(92vw, 420px);
      height: 380px;
      left: 50%;
      transform: translateX(-50%);
      opacity: 1;
      filter: none;

      /* smoother mobile snap */
      transition:
        transform var(--mobile-snap-ms) var(--mobile-snap-ease),
        opacity 260ms ease,
        filter 260ms ease,
        border-color 260ms ease,
        box-shadow 320ms ease;
    }

    .carousel__item[data-pos="0"]{
      z-index: 3;
      transform: translateX(-50%) translateX(0%);
      opacity: 1;
      filter: none;
    }

    .carousel__item[data-pos="-1"]{
      z-index: 2;
      transform: translateX(-50%) translateX(-115%);
      opacity: 1;
      filter: none;
      border-color: rgba(255,255,255,0.18);
      box-shadow: 0 12px 30px rgba(0,0,0,0.45);
    }

    .carousel__item[data-pos="1"]{
      z-index: 2;
      transform: translateX(-50%) translateX(115%);
      opacity: 1;
      filter: none;
      border-color: rgba(255,255,255,0.18);
      box-shadow: 0 12px 30px rgba(0,0,0,0.45);
    }

    .carousel__item[data-pos="-2"],
    .carousel__item[data-pos="-3"],
    .carousel__item[data-pos="-4"],
    .carousel__item[data-pos="-5"]{
      opacity: 0;
      pointer-events: none;
      transform: translateX(-50%) translateX(-180%);
      filter: none;
    }

    .carousel__item[data-pos="2"],
    .carousel__item[data-pos="3"],
    .carousel__item[data-pos="4"],
    .carousel__item[data-pos="5"]{
      opacity: 0;
      pointer-events: none;
      transform: translateX(-50%) translateX(180%);
      filter: none;
    }

    #leftChevron, #rightChevron{ display:none; }
  }

  @media (prefers-reduced-motion: reduce){
    .carousel__item{ transition: none; }
  }
</style>

<div class="mychron-slider-container-outer" id="slider-container" aria-label="Feature carousel">
  <div class="mychron-slider-container">
    <button id="leftChevron" type="button" aria-label="Previous" onclick="chevronClick('backwards')">
      <i class="fa-solid fa-chevron-left"></i>
    </button>

    <button id="rightChevron" type="button" aria-label="Next" onclick="chevronClick('forwards')">
      <i class="fa-solid fa-chevron-right"></i>
    </button>

    <div class="mychron-slider carousel" role="region" aria-roledescription="carousel" aria-label="Key features">
      <ul class="carousel__list" id="mychron-carousel-list">
        <li class="carousel__item" data-index="0" data-pos="-2" tabindex="0" role="group" aria-label="Smart Power Expansion" onclick="updatePosition(0)">
          <img decoding="async" loading="lazy" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-195EPM.webp" alt="Smart Power Expansion icon">
<br /><h2>Smart Power Expansion</h2>
          <p>The system dynamically allocates power across modules, ensuring stable delivery as new hardware is added or congurations evolve.</p> 
        </li>

        <li class="carousel__item" data-index="1" data-pos="-1" tabindex="0" role="group" aria-label="Live Current Monitoring" onclick="updatePosition(1)">
          <img decoding="async" loading="lazy" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-198EPM.webp" alt="Live Current Monitoring icon">
<br /><h2>Live Current Monitoring</h2>
          <p>Every output is tracked in real time, giving you clear visibility into load behaviour and early indicators of irregular performance.</p> 
        </li>

        <li class="carousel__item" data-index="2" data-pos="0" tabindex="0" role="group" aria-label="Automatic Protection" onclick="updatePosition(2)">
          <img decoding="async" loading="lazy" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-194EPM.webp" alt="Automatic Protection icon">
<br /><h2>Automatic Protection</h2>
          <p>Fault conditions are detected and isolated instantly, safeguarding connected components and maintaining system integrity.</p> 
        </li>

        <li class="carousel__item" data-index="3" data-pos="1" tabindex="0" role="group" aria-label="CAN-Driven Control" onclick="updatePosition(3)">
          <img decoding="async" loading="lazy" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-223EPM.webp" alt="CAN-Driven Control icon">
<br /><h2>CAN-Driven Control</h2>
          <p>All commands and status updates flow through a unified CAN interface, enabling precise, predictable control across the entire platform.</p> 
        </li>

        <li class="carousel__item" data-index="4" data-pos="2" tabindex="0" role="group" aria-label="Cleaner, Lighter Wiring" onclick="updatePosition(4)">
          <img decoding="async" loading="lazy" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-196EPM.webp" alt="Cleaner, Lighter Wiring icon">
<br /><h2>Cleaner, Lighter Wiring</h2>
          <p>A centralised distribution approach removes bulky relays and fuses, reducing harness weight and simplifying installation.</p> 
        </li>

        <li class="carousel__item" data-index="5" data-pos="3" tabindex="0" role="group" aria-label="Scalable Architecture" onclick="updatePosition(5)">
          <img decoding="async" loading="lazy" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-197EPM.webp" alt="Scalable Architecture icon">
<br /><h2>Scalable Architecture</h2>
          <p>Modules stack logically, allowing the system to grow with your project while keeping conguration and integration straightforward.</p> 
        </li>
      </ul>
    </div>

    <div class="mychron-slider-dots-container" aria-label="Carousel pagination">
      <span class="slider-dot" title="Smart Power Expansion" onclick="updatePosition(0)"></span>
      <span class="slider-dot" title="Live Current Monitoring" onclick="updatePosition(1)"></span>
      <span class="slider-dot" title="Automatic Protection" onclick="updatePosition(2)"></span>
      <span class="slider-dot" title="CAN-Driven Control" onclick="updatePosition(3)"></span>
      <span class="slider-dot" title="Cleaner, Lighter Wiring" onclick="updatePosition(4)"></span>
      <span class="slider-dot" title="Scalable Architecture" onclick="updatePosition(5)"></span>
    </div>
  </div>
</div>

<script>
  const dots = Array.from(document.querySelectorAll(".slider-dot"));
  const carouselItems = Array.from(document.querySelectorAll(".carousel__item"));
  const carouselList = document.getElementById("mychron-carousel-list");

  let activeIndex = 2;

  function clamp(n, min, max) {
    return Math.max(min, Math.min(max, n));
  }

  function isMobile() {
    return window.matchMedia("(max-width: 720px)").matches;
  }

  function updateDots() {
    dots.forEach((dot, idx) => {
      dot.className = idx === activeIndex ? "slider-dot active1" : "slider-dot";
    });
  }

  function renderPositions() {
    carouselItems.forEach((item, idx) => {
      const pos = idx - activeIndex;
      item.dataset.pos = String(pos);
      item.setAttribute("aria-hidden", pos === 0 ? "false" : "true");
      item.style.transitionDuration = "";
      item.style.willChange = "";
      item.style.transform = "";
    });
    updateDots();
  }

  function updatePosition(nextIndex) {
    activeIndex = clamp(nextIndex, 0, carouselItems.length - 1);
    renderPositions();

    const activeEl = carouselItems[activeIndex];
    if (activeEl && !isMobile()) activeEl.focus({ preventScroll: true });
  }

  function chevronClick(direction) {
    if (direction === "forwards") updatePosition(activeIndex + 1);
    if (direction === "backwards") updatePosition(activeIndex - 1);
  }

  carouselItems.forEach((item) => {
    item.addEventListener("click", () => {
      const idx = Number(item.getAttribute("data-index"));
      if (!Number.isNaN(idx)) updatePosition(idx);
    });
  });

  // ---------- Drag on mobile ----------
  let dragging = false;
  let pointerId = null;
  let startX = 0;
  let startY = 0;
  let dx = 0;
  let dy = 0;
  let lockedAxis = null;

  function getActiveTriplet() {
    const prev = carouselItems[activeIndex - 1] || null;
    const active = carouselItems[activeIndex] || null;
    const next = carouselItems[activeIndex + 1] || null;
    return { prev, active, next };
  }

  function setDragTransforms(deltaPx) {
    const { prev, active, next } = getActiveTriplet();
    if (!active) return;

    const width = active.getBoundingClientRect().width;
    const base = width * 1.15;

    if (prev) {
      prev.style.transitionDuration = "0ms";
      prev.style.willChange = "transform";
      prev.style.transform = `translateX(-50%) translateX(${-base + deltaPx}px)`;
    }

    active.style.transitionDuration = "0ms";
    active.style.willChange = "transform";
    active.style.transform = `translateX(-50%) translateX(${deltaPx}px)`;

    if (next) {
      next.style.transitionDuration = "0ms";
      next.style.willChange = "transform";
      next.style.transform = `translateX(-50%) translateX(${base + deltaPx}px)`;
    }
  }

  function applyReleaseTransition() {
    const { prev, active, next } = getActiveTriplet();
    const ms = 520;
    const ease = "cubic-bezier(.18,.9,.22,1)";
    const t = `${ms}ms ${ease}`;

    [prev, active, next].forEach((el) => {
      if (!el) return;
      el.style.transitionDuration = "";
      el.style.transitionTimingFunction = "";
      el.style.transitionProperty = "transform";
      el.style.transition = `transform ${t}`;
      el.style.willChange = "transform";
    });
  }

  function endDrag() {
    const { active } = getActiveTriplet();
    const width = active ? active.getBoundingClientRect().width : 320;
    const threshold = Math.max(40, width * 0.18);

    const moved = dx;

    dragging = false;
    pointerId = null;
    lockedAxis = null;

    // Ensure the "snap to slot" uses a smooth transition on mobile
    if (isMobile()) applyReleaseTransition();

    if (moved < -threshold) updatePosition(activeIndex + 1);
    else if (moved > threshold) updatePosition(activeIndex - 1);
    else renderPositions();

    dx = 0;
    dy = 0;
  }

  carouselList.addEventListener("pointerdown", (e) => {
    if (!isMobile()) return;
    if (e.pointerType === "mouse" && e.button !== 0) return;

    dragging = true;
    pointerId = e.pointerId;
    startX = e.clientX;
    startY = e.clientY;
    dx = 0;
    dy = 0;
    lockedAxis = null;

    try { carouselList.setPointerCapture(pointerId); } catch (_) {}
  }, { passive: true });

  carouselList.addEventListener("pointermove", (e) => {
    if (!isMobile()) return;
    if (!dragging || e.pointerId !== pointerId) return;

    dx = e.clientX - startX;
    dy = e.clientY - startY;

    if (lockedAxis === null) {
      const ax = Math.abs(dx);
      const ay = Math.abs(dy);
      if (ax < 6 && ay < 6) return;
      lockedAxis = ax > ay ? "x" : "y";
    }

    if (lockedAxis === "y") return;

    e.preventDefault();
    setDragTransforms(dx);
  }, { passive: false });

  carouselList.addEventListener("pointerup", (e) => {
    if (!isMobile()) return;
    if (!dragging || e.pointerId !== pointerId) return;
    endDrag();
  }, { passive: true });

  carouselList.addEventListener("pointercancel", (e) => {
    if (!isMobile()) return;
    if (!dragging || e.pointerId !== pointerId) return;
    dragging = false;
    pointerId = null;
    lockedAxis = null;
    renderPositions();
    dx = 0;
    dy = 0;
  }, { passive: true });

  carouselList.addEventListener("click", (e) => {
    if (!isMobile()) return;
    if (Math.abs(dx) > 8) {
      e.preventDefault();
      e.stopPropagation();
    }
  }, true);

  document.addEventListener("DOMContentLoaded", () => {
    const sliderContainer = document.getElementById("slider-container");

    const observer = new IntersectionObserver((entries) => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          updatePosition(activeIndex);
          observer.unobserve(entry.target);
        }
      });
    }, { threshold: 0.35 });

    observer.observe(sliderContainer);
    updatePosition(activeIndex);
  });

  window.addEventListener("resize", () => {
    renderPositions();
  });
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_24 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_25">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  #section2Container{
    max-width:1920px;
    margin: 0 auto;
    background-color:black;
    padding: 30px;
    padding-top: 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:white;
    align-items:center;

  }
  #section2Container .altTitle{
    font-weight: bold;
     color:white;
    font-size: 24px;
    margin-bottom: 20px;
  }
  #section2Container h2{
    font-weight: 600;
     color:white;
    font-size: 78px;
    margin-top: 50px;
    max-width:700px;
    text-align:center
  }
  #section2Container .quote{
    font-weight: 100;
    margin-top: 20px;
    font-size: 24px;
    line-height: 30px;
    text-align:center;
    max-width: 900px;
    color:#bcbcbc;
  }
  .circuitManagementText{
    font-size: 24px;
    max-width: 880px;
    text-align:center;
    margin-top: 50px;
  }
   @media only screen and (max-width: 1000px)  {

      #section2Container h2{
        font-size: 39px;
      }
  }
   @media only screen and (max-width: 600px)  {

      #section2Container  .quote{
        font-size: 18px;
    		line-height: 22px;
      }
      .circuitManagementText{
    font-size: 18px;

  }
  }

</style>

  <div id="section2Container">
    <h2 class="animate-on-scroll animate1">
Intelligent Power Distribution
    </h2>
      <p class="quote animate-on-scroll animate1">
No relays. No fuse boxes. No compromises.
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_25 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_26">
				
				
				
				
				<div class="et_pb_code_inner"><style>
/* Scoped hero: only affects the element with id="epmHero" */
#epmHero {
  background: #000;
  overflow: hidden;
}

#epmHero .epm-hero-inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 90px) 24px;
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* Subtle pulsing glow behind the image */
#epmHero .epm-glow {
  position: absolute;
  left: 50%;
  top: 50%;

  /* Smaller contained circle */
  width: min(65vw, 1100px);
  aspect-ratio: 1 / 1;

  transform: translate(-50%, -50%);
  border-radius: 999px;

  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.38) 0%,
    rgba(255, 255, 255, 0.22) 20%,
    rgba(255, 255, 255, 0.10) 40%,
    rgba(255, 255, 255, 0.04) 55%,
    rgba(0, 0, 0, 0) 68%
  );

  filter: blur(42px);
  opacity: 0.85;
  pointer-events: none;
  z-index: 0;

  animation: epmGlowPulse 7.5s ease-in-out infinite;
}

@keyframes epmGlowPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(0.98);
    opacity: 0.75;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.08);
    opacity: 1;
  }
}
/* Image wrapper: starts hidden/off to the right, becomes visible on scroll */
#epmHero .epm-art {
  position: relative;
  z-index: 1;

  /* scroll-in initial state */
  opacity: 0;
  transform: translateX(44px);
  transition: opacity 900ms ease, transform 900ms ease;
  will-change: opacity, transform;
}

#epmHero.is-visible .epm-art {
  opacity: 1;
  transform: translateX(0);
}

/* The image itself scales naturally with screen */
#epmHero .epm-art img {
  display: block;
  width: min(92vw, 800px);
  height: auto;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  #epmHero .epm-glow { animation: none; }
  #epmHero .epm-art,
  #epmHero.is-visible .epm-art {
    transition: none;
    opacity: 1;
    transform: none;
  }
}</style>

<div id="epmHero">
  <div class="epm-hero-inner">
    <div class="epm-glow" aria-hidden="true"></div>

    <div class="epm-art">
      <img
        src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/new-1.webp"
        alt="AiM EPM Expansion Power Module"
        loading="lazy"
        decoding="async"
      />
    </div>
  </div>
</div>

<script>
  (function () {
    var root = document.getElementById("epmHero");
    if (!root) return;

    // If IntersectionObserver isn't available, just show it
    if (!("IntersectionObserver" in window)) {
      root.classList.add("is-visible");
      return;
    }

    var io = new IntersectionObserver(
      function (entries) {
        for (var i = 0; i < entries.length; i++) {
          if (entries[i].isIntersecting) {
            root.classList.add("is-visible");
            io.disconnect(); // one-time trigger
            break;
          }
        }
      },
      { threshold: 0.25 } // trigger when ~25% of section is visible
    );

    io.observe(root);
  })();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_26 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_27">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  #section3Container{
    max-width:1920px;
    margin: 0 auto;
    background-color:black;
    padding: 30px;
    padding-top: 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:white;
    align-items:center;

  }
  #section3Container .quote{
    font-weight: 100;
    font-size: 24px;
    line-height: 30px;
    text-align:center;
    max-width: 600px;
    color:#bcbcbc;
  }


   @media only screen and (max-width: 600px)  {

      #section3Container  .quote{
        font-size: 18px;
    		line-height: 22px;
      }
  }

</style>

  <div id="section3Container">
      <p class="quote animate-on-scroll animate1">
Digitally control, monitor and protect your vehicle's electrical circuits through Aim's CAN and Race Studio 3.
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_27 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_28">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  #section4Container{
    max-width:1920px;
    margin: 0 auto;
    background-color:black;
    padding: 30px;
    padding-top: 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:white;
    align-items:center;
  }

  #section4Container h2{
    font-weight: 600;
    color: white;
    font-size: 78px;
    margin-top: 50px;
    max-width: 1200px;
    text-align: center;
  }

  #section4Container .quote{
    font-weight: 100;
    font-size: 24px;
    margin-top: 20px;
    line-height: 30px;
    text-align:center;
    max-width: 900px;
    color:#bcbcbc;
  }

  /* --- Double box layout --- */
  #section4Container .doubleBox-container{
    width: 100%;
    max-width: 1000px;
    margin-top: 100px;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;

    border: 2px solid #22c55e;
    border-radius: 22px;
    overflow: hidden;
    background: #000;
  }

  #section4Container .db-col{
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  #section4Container .db-col + .db-col{
     border-left: 2px solid #b5b8b6;
  }

  /* NEW: white top container */
  #section4Container .db-top{
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 500px;
    padding: 30px;
  }

  #section4Container .db-top img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  /* bottom text area */
  #section4Container .db-bottom{
    position: relative;
    background: #000;
    color: #fff;
    padding: 70px 60px;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  /* larger diamond lip aligned with logo */
  #section4Container .db-bottom .lip{
    position: absolute;
    top: 0;
    left: 80px;
    width: 40px;
    height: 40px;
    background: #fff;
    transform: translateY(-50%) rotate(45deg);
    z-index: 3;
    pointer-events: none;

    /* NEW: start off-screen to the left, invisible */
    transform: translate(300px, -50%) rotate(45deg);
    transition: transform 1200ms cubic-bezier(0.22, 1, 0.36, 1), opacity 700ms ease;
    will-change: transform, opacity;
  }

  /* NEW: when in view, slide into place */
  #section4Container .db-bottom .lip.lip-inview{
    opacity: 1;
    transform: translate(0, -50%) rotate(45deg);
  }

  #section4Container .db-logo{
    width: 180px;
    height: auto;
    display: block;
    margin-bottom:50px;
  }

  #section4Container .db-title{
    font-size: 24px;
    font-weight: 600;
    margin: 6px 0 0 0;
    line-height: 1.2;
  }

  #section4Container .db-text{
    margin: 0;
    color: #d6d6d6;
    font-weight: 200;
    font-size: 18px;
    line-height: 26px;
  }

  #section4Container .db-bullets{
    margin: 6px 0 0 0;
    padding-left: 18px;
    color: #cfcfcf;
    font-weight: 200;
    font-size: 18px;
    line-height: 26px;
  }

  #section4Container .db-bullets li{
    margin: 6px 0;
  }

  .munstorBold{
    font-weight:600 !important;
    font-size:20px !important;
  }

  @media only screen and (max-width: 1000px){
    #section4Container h2{ font-size: 39px; }
  }

  @media only screen and (max-width: 600px){

    #section4Container .quote{
      font-size: 18px;
      line-height: 22px;
    }

    #section4Container .doubleBox-container{
      grid-template-columns: 1fr;
    }

    #section4Container .db-col + .db-col{
      border-left: 0;
      border-left: unset;
    }

    #section4Container .db-top{
      height: 400px;
      padding: 20px;
    }

    #section4Container .db-bottom{
      padding: 60px 40px;
    }

    #section4Container .db-bottom .lip{
      left: 52px;
      width: 34px;
      height: 34px;
      /* keep same animation, but a slightly smaller initial slide reads better on mobile */
      transform: translate(200px, -50%) rotate(45deg);
    }

    #section4Container .db-bottom .lip.lip-inview{
      transform: translate(0, -50%) rotate(45deg);
    }

    #section4Container .db-logo{
      width: 160px;
    }

    #section4Container .db-title{
      font-size: 22px;
    }

    #section4Container .db-text,
    #section4Container .db-bullets{
      font-size: 16px;
      line-height: 24px;
    }

    #section4Container .db-col + .db-col{
      border-left: unset;
    }
  }

  .greenMunstor{
    color:#22c55e;
  }
</style>

<div id="section4Container">
  <h2 class="animate-on-scroll animate1">
    Two Modules,<br /> One Intelligent Power Platform
  </h2>

  <p class="quote animate-on-scroll animate1">
    Pick the configuration that fits your vehicle's complexity.
  </p> 

  <div class="doubleBox-container">

    <!-- LEFT -->
    <div class="db-col">
      <div class="db-top">
        <img loading="lazy" decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-202EPM.webp" alt="EPM Module" />
      </div>

      <div class="db-bottom">
        <div class="lip"></div>

        <img class="db-logo" loading="lazy" decoding="async"
             src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-220EPM.webp"
             alt="EPM Logo" />

        <p class="db-text munstorBold">
          <span class="greenMunstor"> Compact power</span> expansion for focused builds.
        </p> 

        <p class="db-text">
          8 Outputs - 100A Capacity
        </p> 
        <p class="db-text">
          Perfect for lightweight vehicles and streamlined electrical systems.
        </p> 
      </div>
    </div>

    <!-- RIGHT -->
    <div class="db-col">
      <div class="db-top">
        <img loading="lazy" decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-201EPM.webp" alt="PDM Module" />
      </div>

      <div class="db-bottom">
        <div class="lip"></div>

        <img class="db-logo" loading="lazy" decoding="async"
             src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-219EPM.webp"
             alt="PDM Logo" />

        <p class="db-text munstorBold">
          <span class="greenMunstor"> High-channel</span> power control for complex systems.
        </p> 

        <p class="db-text">
          32 Outputs - 120A Capacity
        </p> 
        <p class="db-text">
          Designed for high-channel systems and advanced power distribution.
        </p> 
      </div>
    </div>

  </div>
</div>

<script>
  (function () {
    var container = document.getElementById("section4Container");
    if (!container) return;

    var lips = Array.prototype.slice.call(container.querySelectorAll(".db-bottom .lip"));
    if (lips.length === 0) return;

    function revealLip(el) {
      if (!el.classList.contains("lip-inview")) {
        el.classList.add("lip-inview");
      }
    }

    if (!("IntersectionObserver" in window)) {
      lips.forEach(revealLip);
      return;
    }

    var io = new IntersectionObserver(
      function (entries) {
        entries.forEach(function (entry) {
          if (entry.isIntersecting) {
            revealLip(entry.target);
            io.unobserve(entry.target); // animate once
          }
        });
      },
      {
        root: null,
        threshold: 0.35,
        rootMargin: "0px 0px -10% 0px",
      }
    );

    lips.forEach(function (lip) {
      io.observe(lip);
    });
  })();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_28 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_29">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  /* Scoped wrapper */
  #epmPathWrap {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding: 40px;

    /* allow the glow/ball to render outside without being clipped */
    overflow: visible;
  }

  /* You can tune this to shift the background image left/right */
  #epmPathWrap .epm-bg-wrap {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;

    /* adjust these to nudge the background image */
    padding-left: 16%;
    padding-right: 20%;
    padding-top: 0px;
    padding-bottom: 0px;

    display: flex;
    align-items: center;
    justify-content: center;

    /* also make sure nothing clips here */
    overflow: visible;
  }

  #epmPathWrap .epm-bg-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
  }

  /* SVG stays above the background */
  #epmPathWrap svg {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;

    /* avoid clipping glow at SVG bounds */
    overflow: visible;
  }
</style>

<div id="epmPathWrap" aria-label="EPM path animation">
  <div class="epm-bg-wrap" aria-hidden="true">
    <img
      src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-226EPM.webp"
      alt="power perfectly managed text"
      loading="lazy"
      decoding="async"
    />
  </div>

  <svg xmlns="http://www.w3.org/2000/svg" id="epmPathSvg" viewBox="0 0 1016.83 497.97" preserveAspectRatio="xMidYMid meet">
    <defs>
      <style>
        .uuid-a9238bf2-7d01-4ca7-8d56-72acfcbf41f6 {
          fill: none;
          stroke: #606060;
          stroke-miterlimit: 10;
          stroke-width: 3.27px;
        }
      </style>
    </defs>
    <g id="uuid-77d5d8aa-bf06-46f7-8cd9-5ad1ca9c386d">
      <path class="uuid-a9238bf2-7d01-4ca7-8d56-72acfcbf41f6" d="M758.72,1.64h150.5c5.79,0,8.79,3.5,13.58,4.93,9.14,2.72,19.92-.29,29.55,1.12,6.11.9,9.1,6.65,9.03,12.43-.12,10.01,1.06,19.27-3.07,26.62-.81,14.22-.32,28.21-.29,42.42.02,9.75-5.71,17.1-15.38,19.15-5.57,1.18-11.53,3.93-15.33,8.12l-.2,10.97,8.76,1.38c.28.73.39,1.55.73,1.95.89,1.04,4.71-.26,5.44,1.32,1.15,2.49,1.62,6.69,1.81,9.32.11,1.48.1,2.96-.04,4.44-.27,2.94-.91,8.18-2.16,9.94-4.75.18-4.46,1.09-4.46,1.09-.23.07-.2,1.59.13,1.6l48.81.09c5.42,0,1.53,4.53,6.94,5.55l21.57,4.06c.56,1.84.98,40.33-.41,40.59l-21.66,4.16c-4.02.77-1.24,2.26-4.61,6.04l-50.9.35c-.21,1.48.18,2.34.98,2.28.55-.04,2.54-.06,3.32.53.77.59,1.23,1.93,1.4,3.02,0,0,.8,9.77.78,10.58.45,4.69,3.2,11.72-5.92,11.49-.96-.24-3.23,1.52-2.73,2.52,3.04,6.04,4.21,12.15,4.21,19.08l-.02,44.23c2.69,1.59,5.16,2.19,7.9,2.77,8.35,1.76,14.26,8.71,14.29,17.32l.06,21.27c.01,3.64-2.17,6.61-3.29,9.6l-.2,41.4c-.01,2.54-1.35,7.73-4.07,7.79l-24.84.58c-3.58,5.93-9.19,9.32-16.08,9.34l-48.91.11c-.04,2.13-.88,3.18-2.11,4.08-.73,1.35.12,3.46-.09,5.11-.52,4.05-5.34,3.3-6.25,3.63-.98.36-.01,4.1-.64,4.92-1.55,2.01-4.01,1.95-6.29,1.99-4.42.08-36.62.42-43.93-.25-2.68-.24-2.92-2.42-3.68-4.25-1.29-1-4.99.73-6.22-1.28s-.73-4.86-.84-7.23-2.84-.68-5.55-2.71c-1.02-.76-.71-2.32-1.29-4.14h-68.93c-1.42,0-1.52,1.17-1.52,2.2v63.18c0,4.26-3.46,7.71-7.71,7.71l-247.72-.05c-4.26,0-7.71-3.45-7.7-7.71v-65.32s-82.07.03-82.07.03l-.06,65.79c0,4.03-3.27,7.29-7.3,7.29l-250.38.16c-4.03,0-7.3-3.26-7.3-7.29l-.08-66.02-56.03.07c-7.47,0-13.92-2.7-17.74-9.47l-23.09-.31c-2.51-.95-3.85-4.95-3.89-7.6l-.64-41.7c-.05-3.37-3.56-6.23-3.27-10.33.47-6.62.1-13.29.1-20.01,0-8.86,5.75-16.11,14.43-17.96,2.19-.47,4.33-.94,6.3-2.11l-.03-46.65c0-10.84,4.49-20.65,12.83-27.85l.04-123.49c-4.46-4.19-9.94-6.33-15.8-7.73-8.07-1.92-13.96-8.51-14.06-16.92l-.51-44.03c-.04-3.39-3.34-6.23-3.3-10.35l.21-18.3c.06-5.05,3.62-10.03,8.89-10.63,9.53-1.07,19.35.98,28.86-.77,4.05-1.58,7.4-5.25,12.68-5.25l706.41-.02"/>
    </g>
  </svg>
</div>
<script>
(function () {

  /* ===========================
     🔧 GLOW CONTROL PANEL
     =========================== */

  var SPEED_SECONDS = 8;

  var BALL_RADIUS = 12;            // core size
  var BALL_COLOR = "#22c55e";      // core colour
  var BALL_OPACITY = 1;

  var BALL_EDGE_BLUR = 2.8;        // 0 = sharp, 1.5–3 = nicely soft

  var GLOW_COLOR = "white";        // glow tint
  var GLOW_INNER = 10;             // tight halo blur
  var GLOW_OUTER = 36;             // wide halo blur

  // NEW: how strong the glow is (multiplies brightness)
  var GLOW_STRENGTH_INNER = 2.0;   // 1 = normal, 2–4 = strong
  var GLOW_STRENGTH_OUTER = 3.0;   // 1 = normal, 3–6 = powerful

  var GLOW_SPREAD = 350;           // prevents clipping (bigger = safer)

  /* =========================== */

  var svg = document.getElementById("epmPathSvg");
  if (!svg) return;

  var path = svg.querySelector("path");
  if (!path) return;
  path.setAttribute("id", "epmMotionPath");

  var defs = svg.querySelector("defs");
  if (!defs) {
    defs = document.createElementNS("http://www.w3.org/2000/svg", "defs");
    svg.insertBefore(defs, svg.firstChild);
  }

  // Only create once (Divi can re-run scripts)
  if (svg.querySelector("#epmGlow") || svg.querySelector("[data-epm-ball='1']")) return;

  /* ===========================
     ✨ FILTER BUILD
     =========================== */

  var filter = document.createElementNS("http://www.w3.org/2000/svg", "filter");
  filter.setAttribute("id", "epmGlow");
  filter.setAttribute("x", "-" + GLOW_SPREAD + "%");
  filter.setAttribute("y", "-" + GLOW_SPREAD + "%");
  filter.setAttribute("width", (GLOW_SPREAD * 2) + "%");
  filter.setAttribute("height", (GLOW_SPREAD * 2) + "%");


  var blurBall = document.createElementNS("http://www.w3.org/2000/svg", "feGaussianBlur");
  blurBall.setAttribute("in", "SourceGraphic");
  blurBall.setAttribute("stdDeviation", String(BALL_EDGE_BLUR));
  blurBall.setAttribute("result", "ballSoft");


  var blurInner = document.createElementNS("http://www.w3.org/2000/svg", "feGaussianBlur");
  blurInner.setAttribute("in", "ballSoft");
  blurInner.setAttribute("stdDeviation", String(GLOW_INNER));
  blurInner.setAttribute("result", "inner");

  var blurOuter = document.createElementNS("http://www.w3.org/2000/svg", "feGaussianBlur");
  blurOuter.setAttribute("in", "ballSoft");
  blurOuter.setAttribute("stdDeviation", String(GLOW_OUTER));
  blurOuter.setAttribute("result", "outer");

  var flood = document.createElementNS("http://www.w3.org/2000/svg", "feFlood");
  flood.setAttribute("flood-color", String(GLOW_COLOR));
  flood.setAttribute("flood-opacity", "1");
  flood.setAttribute("result", "color");

  var compositeInner = document.createElementNS("http://www.w3.org/2000/svg", "feComposite");
  compositeInner.setAttribute("in", "color");
  compositeInner.setAttribute("in2", "inner");
  compositeInner.setAttribute("operator", "in");
  compositeInner.setAttribute("result", "innerGlow");

  var compositeOuter = document.createElementNS("http://www.w3.org/2000/svg", "feComposite");
  compositeOuter.setAttribute("in", "color");
  compositeOuter.setAttribute("in2", "outer");
  compositeOuter.setAttribute("operator", "in");
  compositeOuter.setAttribute("result", "outerGlow");


  var boostOuter = document.createElementNS("http://www.w3.org/2000/svg", "feColorMatrix");
  boostOuter.setAttribute("in", "outerGlow");
  boostOuter.setAttribute("type", "matrix");
  boostOuter.setAttribute(
    "values",
    String(GLOW_STRENGTH_OUTER) + " 0 0 0 0  " +
    "0 " + String(GLOW_STRENGTH_OUTER) + " 0 0 0  " +
    "0 0 " + String(GLOW_STRENGTH_OUTER) + " 0 0  " +
    "0 0 0 3 0"
  );
  boostOuter.setAttribute("result", "outerBoost");

  var boostInner = document.createElementNS("http://www.w3.org/2000/svg", "feColorMatrix");
  boostInner.setAttribute("in", "innerGlow");
  boostInner.setAttribute("type", "matrix");
  boostInner.setAttribute(
    "values",
    String(GLOW_STRENGTH_INNER) + " 0 0 0 0  " +
    "0 " + String(GLOW_STRENGTH_INNER) + " 0 0 0  " +
    "0 0 " + String(GLOW_STRENGTH_INNER) + " 0 0  " +
    "0 0 0 1 0"
  );
  boostInner.setAttribute("result", "innerBoost");


  var merge = document.createElementNS("http://www.w3.org/2000/svg", "feMerge");
  ["outerBoost", "innerBoost", "ballSoft"].forEach(function (id) {
    var node = document.createElementNS("http://www.w3.org/2000/svg", "feMergeNode");
    node.setAttribute("in", id);
    merge.appendChild(node);
  });

  filter.appendChild(blurBall);
  filter.appendChild(blurInner);
  filter.appendChild(blurOuter);
  filter.appendChild(flood);
  filter.appendChild(compositeInner);
  filter.appendChild(compositeOuter);
  filter.appendChild(boostOuter);
  filter.appendChild(boostInner);
  filter.appendChild(merge);

  defs.appendChild(filter);


  var ball = document.createElementNS("http://www.w3.org/2000/svg", "circle");
  ball.setAttribute("data-epm-ball", "1");
  ball.setAttribute("r", String(BALL_RADIUS));
  ball.setAttribute("fill", String(BALL_COLOR));
  ball.setAttribute("opacity", String(BALL_OPACITY));
  ball.setAttribute("filter", "url(#epmGlow)");

  var motion = document.createElementNS("http://www.w3.org/2000/svg", "animateMotion");
  motion.setAttribute("dur", String(SPEED_SECONDS) + "s");
  motion.setAttribute("repeatCount", "indefinite");
  motion.setAttribute("rotate", "auto");
  motion.setAttribute("calcMode", "linear");

  var mpath = document.createElementNS("http://www.w3.org/2000/svg", "mpath");
  mpath.setAttribute("href", "#epmMotionPath");
  mpath.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "#epmMotionPath");

  motion.appendChild(mpath);
  ball.appendChild(motion);
  svg.appendChild(ball);

})();
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_29 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_30">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .whiteSectionContainer{
    max-width:1920px;
    margin: 0 auto;
    padding: 30px;
    padding-top: 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:black;
    align-items:center;

  }
  .whiteSectionContainer h2{
    font-weight: 600;
     color:black;
    font-size: 78px;
    margin-top: 50px;
    text-align:center;
    max-width:600px;
  }
 .whiteSectionContainer  .quote{
    font-weight: 100;
   margin-top:20px;
    font-size: 20px;
    text-align:center;
    max-width: 450px;
   color:#4b4b4b;
  }

   @media only screen and (max-width: 1000px)  {

      .whiteSectionContainer h2{
        font-size: 39px;
      }
  }
   @media only screen and (max-width: 600px)  {

      .whiteSectionContainer .quote{
        font-size: 18px;
      }
  }

</style>

  <div class="whiteSectionContainer">
    <h2 class="animate-on-scroll animate1">
      Engineerd for Total Control
    </h2>
    <p class="quote animate-on-scroll animate1">
Every detail of the system is designed for precision, reliability, and motorsport-grade performance.
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_30 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_31">
				
				
				
				
				<div class="et_pb_code_inner"><!-- Splide.js -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.3/dist/css/splide.min.css">
<script src="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.3/dist/js/splide.min.js"></script>

<style>
  :root {
    --idr-slide-max: 1127px;     /* slide width */
    --idr-side-pad: 28px;        /* page padding */
    --idr-gap: 16px;

    /* nav sizing */
    --idr-arrow-size: 34px;
    --idr-arrow-pad: 0px;        /* keep 0 so arrows hug the bar */
  }

  @media (max-width: 768px) {
    :root {
      --idr-side-pad: 30px;
      --idr-gap: 25px;
      --idr-arrow-size: 32px;
    }
  }

  .smart-container2 p, .smart-container2 h2 { color: black; }
  .mb-322 { margin-bottom: 100px; }
  .mt-322 { margin-top: 128px; }

  .smart-container2 p { font-size: 18px; max-width: 700px; }

  .divider {
    background-color: #2480e7;
    height: 5px;
    width: 100px;
    margin-left: auto;
    margin-right: auto;
  }

  .boxes-slider {
    width: 100%;
    max-width: 1920px;
    margin-top: 64px;
    padding-left: var(--idr-side-pad);
    padding-right: var(--idr-side-pad);
    box-sizing: border-box;
    overflow: visible !important;
  }

  .boxes-track,
  .splide__track,
  .splide__list { overflow: visible !important; }

  .splide__slide {
    width: min(var(--idr-slide-max), calc(100vw - (var(--idr-side-pad) * 2))) !important;
    height: auto !important;
  }

  .slide-inner {
    width: 100%;
    background: #f1f1f1;
    border-radius: 22px;
    overflow: hidden;
    box-sizing: border-box;
  }

  .slide-top {
    padding: 56px 64px 40px 64px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    box-sizing: border-box;
  }

  .slide-top h3 {
    margin: 0;
    padding: 0;
    font-size: 18px;
    color: #111;
  }

  .slide-top p {
    margin: 0;
    padding: 0;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 600;
    color: #111;
  }

  .slide-bottom img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  /* ----------
     NAV ROW: arrows hug the bar, and the WHOLE thing is max slide width
     ---------- */
  .idr-progress-row {
    margin-top: 22px;

    /* key bit: cap to slide width and center */
    width: min(var(--idr-slide-max), calc(100vw - (var(--idr-side-pad) * 2)));
    margin-left: auto;
    margin-right: auto;

    display: grid;
    grid-template-columns: var(--idr-arrow-size) 1fr var(--idr-arrow-size);
    align-items: center;
    gap: 0; /* no gap so chevrons sit right against the bar */
  }

  .idr-arrow {
    width: var(--idr-arrow-size);
    height: var(--idr-arrow-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(0,0,0,0.22);
    background: rgba(255,255,255,0.9);
    border-radius: 999px;

    padding: var(--idr-arrow-pad);
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;

    transition: transform 120ms ease, background 120ms ease, opacity 120ms ease;
  }

  .idr-arrow:hover { background: rgba(255,255,255,1); transform: scale(1.03); }
  .idr-arrow:active { transform: scale(0.98); }

  .idr-arrow:disabled {
    opacity: 0.35;
    cursor: default;
    transform: none;
  }

  /* Make arrows visually "touch" the bar */
  #idrPrev { justify-self: start; }
  #idrNext { justify-self: end; }

  .idr-arrow svg { width: 16px; height: 16px; display: block; }

  .my-slider-progress {
    background: #ccc;
    height: 4px;
    width: 98%;
    border-radius: 999px;
    overflow: hidden;

    /* snug up against the circular buttons */
    margin-left: 6px;
    margin-right: 6px;
  }

  .my-slider-progress-bar {
    background: black;
    height: 100%;
    transition: width 400ms ease;
    width: 0;
  }

  @media (max-width: 1002px) {
    .smart-container2 h2 { font-size: 48px; }
    .smart-container2 { align-items: flex-start; }
    .smart-container2 p, .smart-container2 h2 { text-align: left; }
    .mb-322 { margin-bottom: 50px; }
    .mt-322 { margin-top: 96px; }
    .divider { margin-left: 0; margin-right: 0; }
  }

  @media (max-width: 768px) {
    .boxes-slider { margin-top: 32px; }
    .slide-top { padding: 28px 16px 22px 16px; }
    .slide-top h3 { font-size: 16px; }
    .slide-top p { font-size: 18px; line-height: 1.3; }
    .idr-progress-row { margin-top: 16px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .my-slider-progress-bar { transition: none; }
    .idr-arrow { transition: none; }
  }
</style>

<div style="background-color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:visible" class="sitePadding">
  <div class="smart-container2 mb-322" style="color:black; max-width:1920px; width:100%; display:flex; flex-direction:column; overflow:visible;">
    <div class="boxes-slider splide" id="idr-slider">
      <div class="boxes-track splide__track">
        <ul class="boxes-list splide__list">
          <li class="splide__slide">
<div class="slide-inner">
              <div class="slide-top">
                <h3>Precision Control</h3>
                <p>Up to 32 configurable power outputs for precise, flexible power delivery.</p> 
              </div>
              <div class="slide-bottom">
                <img decoding="async" loading="lazy" alt="impact detect"
                     src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-206EPM.webp">
              </div>
            </div>
          </li>

          <li class="splide__slide">
<div class="slide-inner">
              <div class="slide-top">
                <h3>Advanced Input Monitoring</h3>
                <p>12 configurable inputs with high-speed sampling up to 500Hz.</p> 
              </div>
              <div class="slide-bottom">
                <img decoding="async" loading="lazy" alt="impact detect"
                     src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-207EPM.webp">
              </div>
            </div>
          </li>

          <li class="splide__slide">
<div class="slide-inner">
              <div class="slide-top">
                <h3>Built for Motorsport</h3>
                <p>IP65-sealed anodised aluminium housing with intelligent thermal and overcurrent protection.</p> 
              </div>
              <div class="slide-bottom">
                <img decoding="async" loading="lazy" alt="impact detect"
                     src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-208EPM.webp">
              </div>
            </div>
          </li>
        </ul>
      </div>

      <!-- arrows + bar (together max slide width) -->
      <div class="idr-progress-row" aria-label="Slider navigation">
        <button class="idr-arrow" type="button" id="idrPrev" aria-label="Previous slide">
          <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
            <path d="M14.5 5.5L8.5 12l6 6.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
        </button>

        <div class="my-slider-progress" aria-hidden="true">
          <div class="my-slider-progress-bar"></div>
        </div>

        <button class="idr-arrow" type="button" id="idrNext" aria-label="Next slide">
          <svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
            <path d="M9.5 5.5l6 6.5-6 6.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
          </svg>
        </button>
      </div>
    </div>
  </div>
</div>

<script>
  document.addEventListener("DOMContentLoaded", () => {
    const root = document.querySelector("#idr-slider");
    if (!root) return;

    const gap =
      getComputedStyle(document.documentElement).getPropertyValue("--idr-gap").trim() || "16px";

    const splide = new Splide(root, {
      type: "slide",
      autoWidth: true,
      focus: "center",
      gap,
      arrows: false,
      pagination: false,
      drag: true,
      snap: true,
      speed: 500,
      autoHeight: true,
      trimSpace: false
    });

    const bar = root.querySelector(".my-slider-progress-bar");
    const prevBtn = document.getElementById("idrPrev");
    const nextBtn = document.getElementById("idrNext");

    function updateProgressAndButtons() {
      const end = splide.Components.Controller.getEnd(); // last index
      const max = Math.max(end, 0);

      if (bar) {
        const rate = max === 0 ? 1 : (splide.index / max);
        bar.style.width = `${Math.min(Math.max(rate, 0), 1) * 100}%`;
      }

      if (prevBtn) prevBtn.disabled = splide.index <= 0;
      if (nextBtn) nextBtn.disabled = splide.index >= max;
    }

    if (prevBtn) prevBtn.addEventListener("click", () => splide.go("<"));
    if (nextBtn) nextBtn.addEventListener("click", () => splide.go(">"));

    splide.on("mounted move resized updated", updateProgressAndButtons);

    splide.mount();
  });
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_31 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_32">
				
				
				
				
				<div class="et_pb_code_inner">

  <div class="whiteSectionContainer">
    <h2>
      Built into the Aim Ecosystem
    </h2>
    <p class="quote animate-on-scroll animate1" style="max-width:350px">
Designed to communicate, configure and perform as one unified system.
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_32 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_33">
				
				
				
				
				<div class="et_pb_code_inner">

  <div class="whiteSectionContainer" style="max-width:1200px">
    <img src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/graphic.webp" alt="Aim eco system graphic" decoding="async" loading="lazy" />
        <p class="quote animate-on-scroll animate1" style="max-width:450px; margin-top: 100px">
<strong>EPM Modules</strong> don't operate independently. They integrate directly with MX dashes, PDM systems and steering wheels through Aim's CAN network.
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_33 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_34">
				
				
				
				
				<div class="et_pb_code_inner"><style>
.leftHeader{
        align-items: start;
  max-width:1060px;
  }
  .leftHeader h2{
    max-width:unset;
  }
 @media (max-width: 900px) {
   .leftHeader{
         align-items: center;
   }
  }
</style>

  <div class="whiteSectionContainer leftHeader">
    <h2>
      Built For The Way You Race
    </h2>
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_34 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_35">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .idr-features {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  .idr-features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
  }

  .idr-feature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 12px;
  }

  .idr-feature-icon {
    width: 45px;
    height: 45px;
    display: block;
    margin-bottom:20px;
  }

  .idr-feature h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.25;
    font-weight:bold;
    color: #111;
  }

  .idr-feature p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: #111;
    max-width: 36ch;
  }

  @media (max-width: 900px) {
    .idr-features-grid {
      grid-template-columns: 1fr;
      gap: 40px;
      padding: 0 30px;
    }
    .idr-feature{
      display:flex;
      flex-direction: column;
      align-items:center;
    }

    .idr-feature p {
      max-width: none;
      text-align:center;
    }
  }
</style>

<section class="idr-features">
  <div class="idr-features-grid">
    <div class="idr-feature">
      <!-- icon: swap the SVG if you want -->
      <img class="idr-feature-icon" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-229EPM.svg" alt="CAN integration icon" decoding="async" loading="lazy" />

      <h3>Easy CAN Integration</h3>
      <p>Connects instantly with the Aim network for unified data flow.</p> 
    </div>

    <div class="idr-feature">
      <img class="idr-feature-icon" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-228EPM.svg" alt="Race Studio 3 configuration icon" decoding="async" loading="lazy" />

      <h3>Configured in Race Studio 3</h3>
      <p>Set up, adjust, and refine everything from one familiar workspace.</p> 
    </div>

    <div class="idr-feature">
      <img class="idr-feature-icon" src="https://www.aimtechnologies.com/wp-content/uploads/2026/02/Asset-227EPM.svg" alt="Display icon showing real time data monitoring" decoding="async" loading="lazy" />

      <h3>Real-Time Monitoring</h3>
      <p>See live status, current, and activation the moment it happens.</p> 
    </div>
  </div>
</section></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_35 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_36">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .headerBottom{
        font-size: 39px;

    font-weight:bold;
  }
  @media only screen and (max-width: 600px) {
    .headerBottom{
        font-size: 30px;

    }
}

</style>

  <div class="whiteSectionContainer">
    <h3 class="animate-on-scroll animate1 headerBottom">
      More from the EPM range
    </h3>
    <p class="quote animate-on-scroll animate1" style="max-width:600px">
Explore more of the EPM range, featuring 5, 6 and 10-inch PDM Displays, remote interface module and PDM power distribution modules.
    </p> 
  </div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_36 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_37">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  #newSection5Container{
    max-width:1100px;
    margin: 0 auto;
    padding: 0 30px;
    display:flex;
    flex-wrap:wrap;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background-color:white;

  }

  #newSection5Container h2{
    font-weight: 600;
    font-size: 48px;
    margin-bottom: 0px;
    margin-top: 200px;
    max-width: 750px;
    text-align:center;
  }

   @media only screen and (max-width: 1000px)  {

      #newSection5Container h2,#newSection5Container h3{
        font-size: 34px;
      }
  }
  

  .newGridContainer{
    display:flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 100px;
  }
  .newItem{
    max-width:30%;
  }
  .newImageContainer{
    background-color:#f4f4f4;
    border-radius:0.75rem;
  }
  .newTextContainer{
    padding-bottom:20px;
  }
  .newTextContainer h3{
    font-weight: 600;
    margin-top: 25px;
    font-size: 18px;
    margin-bottom:0;
    padding-bottom:0;
  }
    .newTextContainer p{
    font-size: 18px;
      margin: 25px 0 ;
      margin-top: 20px;
  }
     @media only screen and (max-width: 1060px)  {
  .newGridContainer{
    align-items:center;
    flex-direction:column;
    gap:20px;
    width: 100%;

  }
  .newItem{
    max-width:100%;
    max-width: 312px;
  }
  .newTextContainer h3{
    font-size: 18px !important;

  }
       #newSection5Container p{
         font-size: 18px !important;
         line-height:22px;
       }

  }
</style>  
<div id="newSection5Container">
  <div class="newGridContainer">
    <div class="newItem">
      <div class="newImageContainer">
        <img loading="lazy" decoding="async" src="/wp-content/uploads/2024/07/Asset-182PDM-Range-More.webp" width="381" height="381" alt="MXSL Dash Display" />
      </div>
      <div class="newTextContainer">
        <h3>
          MXSL Dash Display
        </h3>
        <p>
         Integrated power dash display
        </p> 
        <a class="siteButton2" href="/aim-mxsl/" target="_blank" rel="noopener noreferrer">Learn More</a>
      </div>
    </div>
    
     <div class="newItem">
      <div class="newImageContainer">
        <img loading="lazy" decoding="async" src="/wp-content/uploads/2024/07/Asset-184PDM-Range-More.webp" width="381" height="381" alt="RIO Module" />
      </div>
      <div class="newTextContainer">
        <h3>
          RIO Module
        </h3>
        <p>
         Remote input/output module
        </p> 
        <a class="siteButton2" href="/rio/" target="_blank" rel="noopener noreferrer">Learn More</a>
      </div>
    </div>
    
     <div class="newItem">
      <div class="newImageContainer">
        <img loading="lazy" decoding="async" src="/wp-content/uploads/2026/02/compressed_PDMS2.webp" width="381" height="381" alt="PDM Power Distribution Module" />
      </div>
      <div class="newTextContainer">
        <h3>
         PDM Power Distribution Module
        </h3>
        <p>
         An easier solution to a traditional fuse box
        </p> 
        <a class="siteButton2" href="/aim-pdm-power-distribution-module/" target="_blank" rel="noopener noreferrer">Learn More</a>
      </div>
    </div>
  </div>
</div></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_37 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_38">
				
				
				
				
				<div class="et_pb_code_inner">
  
<script>
	function setupScrollAnimationObserver() {
    const observer = new IntersectionObserver((entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
              if (entry.target.classList.contains('animate-on-scroll')) {

                      if (entry.target.classList.contains('animate1')) {

                            let timer = setTimeout(() =>{
                                entry.target.style.opacity = '1';
                              entry.target.style.transform = 'translatey(0)';
                              observer.unobserve(entry.target); 
                            },200);
                      }
                			if (entry.target.classList.contains('overlayImage')) {

                            let timer = setTimeout(() =>{
                                entry.target.style.opacity = '1';
                              entry.target.style.transform = 'scale(1)';
                              observer.unobserve(entry.target); 
                            },200);
                      }
                            if (entry.target.classList.contains('laptopContainer')) {
											document.getElementById('videoToPlay2').play();
                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translate(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
                             if (entry.target.classList.contains('rsa_off')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '0';
                        observer.unobserve(entry.target); 
                      },500);
                }
              if (entry.target.classList.contains('rsa_on')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        observer.unobserve(entry.target); 
                      },500);
                }
                }
            }
        });
    }, {
        threshold: 0.1
    });

    document.querySelectorAll('.animate-on-scroll').forEach(el => {
        observer.observe(el);
    });
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_39">
				
				
				
				
				<div class="et_pb_code_inner"><!-- <style>
	  #pageController{
    z-index:1000;
    position: fixed;
    bottom: 10px;
    left: 50%;
    padding:10px 10px;
    transform: translate(0,-50%);
    transition:all 0.5s ease;
    overflow:hidden;
    border-radius: 100px;
    opacity:0;
    filter: drop-shadow(0 10px 8px rgb(0 0 0 / 0.34)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
    background-color: hsl(0deg 0% 100% / 37%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
      -moz-backdrop-filter: blut(10px);

    
  }
  .buttonOuter{
    color: white;
    text-align: center;
    background-color:#0066FF;
    border-radius: 100px;
		z-index:1000;
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap: 10px;
  }
  .buttonControl{
    height:40px;
    width:40px;
    background-color:white;
    border-radius:100px;
    cursor:pointer;
    filter: drop-shadow(5px -0px 8px rgb(0 0 0 / 0.34)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index:1000;
  }
  .buttonContainer{
    transition:all 0.5s ease;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  #pageController P{
    font-size: 12px;
    text-align:center;
    font-weight:bold;
    white-space:nowrap;
  }
  #controllerText{
    opacity:0;
    transition:all 0.5s ease;
  }
  
   .buttonOuter2{
     opacity:0;
     transition:all 0.5s ease;
     position:absolute;
     top:0;
     left:0;
    border-radius: 100px;
		padding:10px 10px;
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap: 10px;
  }
  .buttonControl2{
    
    height:40px;
    width:40px;
    border: 2px dashed white;
    border-radius:100px;
    cursor:pointer
  }
  .buttonContainer2{
    transition:all 0.5s ease;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  #controllerText2{
    opacity:0;
    cursor:pointer;
  }
  #iconIndicator{
    transition:all 0.5s ease
  }

</style>
<div id="pageController">  
  <div class="buttonOuter2">
  <div class="buttonContainer2" id="leftSpot" style="z-index:0;">
    <div class="buttonControl2">
      
    </div>
  </div>
    <p id="controllerText2">
    Swap Icons
  </p> 
<div class="buttonContainer2">
    <div class="buttonControl2" id="rightSpot" style="z-index:1000;">
      
    </div>
  </div>
  </div>
  <div class="buttonOuter">
  <div class="buttonContainer">
    <div class="buttonControl">
      <img loading="lazy" decoding="async" id="iconIndicator" src="/wp-content/uploads/2024/03/raceIcon.svg" width="40" height="40" alt="icons" />
    </div>
  </div>
    <p id="controllerText">
    Swap Icons
  </p> 

  </div>
  
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
  
  const targetStart = document.querySelector('#targetStart');
  const icon = document.querySelector('#iconIndicator');
  const target = document.querySelector('#pageController');
  const left = document.querySelector('#leftSpot');
  const right = document.querySelector('#rightSpot');
  const targetButton = document.querySelectorAll('.buttonContainer');
  const controllerText = document.querySelector('#controllerText');
  const buttonControl = document.querySelector('.buttonControl');
  const buttonOuter = document.querySelector('.buttonOuter');
  const buttonOuter2 = document.querySelector('.buttonOuter2');
  const raceIcons = document.querySelectorAll('.raceIcons');
  const roadIcons = document.querySelectorAll('.roadIcons');
  
  let dragStartX = 0;
  let buttonStartX = 0;
  let dragged = false;
  
  buttonControl.addEventListener('mousedown', function(e) {
    dragStartX = e.pageX;
    // Adjusted to consider the padding; assuming left padding is the same as right padding
    buttonStartX = buttonControl.getBoundingClientRect().left - buttonOuter.getBoundingClientRect().left - 10; // Subtracting left padding
    dragged = false;
    e.preventDefault(); // Prevent text selection or other drag behaviors

    document.addEventListener('mousemove', onMouseMove);
    document.addEventListener('mouseup', onMouseUp);
  });
  left.addEventListener('click', leftClick);
  right.addEventListener('click', rightClick);
  const textClick = document.getElementById('controllerText2');
  let mswitch = false;
  textClick.addEventListener('click', testPos);
  function testPos(){
    if(mswitch){
      leftClick();
    } else {
      rightClick();
    }
  }
  function leftClick(){
    mswitch = false;
     roadIcons.forEach(icon => {
       right.style.zIndex = '1000';
          left.style.zIndex = '0';
        		icon.style.opacity = '0'
        	});
          raceIcons.forEach(icon => {
        		icon.style.opacity = '1'
        	});
    buttonControl.style.transition = 'all 0.5s ease'
    buttonControl.style.transform = 'translateX(0px)';
    icon.style.opacity = '0';
    setTimeout(()=>{
      icon.src = "/wp-content/uploads/2024/03/raceIcon.svg";
      icon.style.opacity = '1';
    },500)
    buttonControl.style.filter = 'drop-shadow(5px -0px 8px rgb(0 0 0 / 0.34)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1))';
    setTimeout(()=>{
      buttonControl.style.transition = 'unset'
    },500)
  }
  function rightClick(){
    mswitch = true;
    right.style.zIndex = '0';
          left.style.zIndex = '1000';
    raceIcons.forEach(icon => {
        		icon.style.opacity = '0'
        	});
          roadIcons.forEach(icon => {
        		icon.style.opacity = '1'
        	});
    buttonControl.style.transition = 'all 0.5s ease'
    buttonControl.style.transform = `translateX(${buttonOuter.offsetWidth - buttonControl.offsetWidth}px)`;
    icon.style.opacity = '0';
    setTimeout(()=>{
      icon.src = "/wp-content/uploads/2024/03/roadIcon.svg";
      icon.style.opacity = '1';
    },500)
    buttonControl.style.filter = 'drop-shadow(-5px -0px 8px rgb(0 0 0 / 0.34)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1))';
    setTimeout(()=>{
      buttonControl.style.transition = 'unset'
    },500)
  }

  function onMouseMove(e) {
    let currentX = e.pageX;
    let deltaX = currentX - dragStartX;
			
    // Adjust the maximum allowed translation to consider the padding
    let maxTranslation = buttonOuter.offsetWidth - buttonControl.offsetWidth - 20; // Subtracting total horizontal padding (10px * 2)
    let newPositionX = Math.max(0, Math.min(buttonStartX + deltaX, maxTranslation));

    buttonControl.style.transform = `translateX(${newPositionX}px)`;
    dragged = true;
    
      // Calculate the opacity based on the control's position
      let midpoint = maxTranslation / 2;
      let distanceFromMidpoint = Math.abs(newPositionX - midpoint);
      let opacity = 0.5 + (distanceFromMidpoint / midpoint) * 0.5; // Opacity ranges from 0.5 at the midpoint to 1.0 at the ends
      opacity = Math.min(Math.max(opacity, 0.5), 1); // Ensure opacity stays within the 0.5 to 1 range
			controllerText.style.transition = 'all 0s ease';
      // Apply the calculated opacity to the text
      controllerText.style.opacity = opacity;
      }
  	

  function onMouseUp(e) {
   	 	document.removeEventListener('mousemove', onMouseMove);
    	document.removeEventListener('mouseup', onMouseUp);

    	if (dragged) {
        // Determine action based on the final position
        var finalPositionX = buttonControl.getBoundingClientRect().left - buttonOuter.getBoundingClientRect().left - 10; // Adjusting for left padding
        var threshold = (buttonOuter.offsetWidth - 20) / 2; // Adjusting threshold for padding
        controllerText.style.transition = 'all 0.5s ease';
				controllerText.style.opacity = 1;
        if (finalPositionX > threshold) {
          // Slide to the right action
          raceIcons.forEach(icon => {
        		icon.style.opacity = '0'
        	});
          roadIcons.forEach(icon => {
        		icon.style.opacity = '1'
        	});
          right.style.zIndex = '0';
          left.style.zIndex = '1000'
          icon.style.opacity = '0';
          setTimeout(()=>{
            icon.src = "/wp-content/uploads/2024/03/roadIcon.svg";
            icon.style.opacity = '1';
          },500)
          buttonControl.style.transform = `translateX(${buttonOuter.offsetWidth - buttonControl.offsetWidth}px)`;
          buttonControl.style.filter = 'drop-shadow(5px -0px 8px rgb(0 0 0 / 0.34)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1))';
        } else {
          roadIcons.forEach(icon => {
        		icon.style.opacity = '0'
        	});
          raceIcons.forEach(icon => {
        		icon.style.opacity = '1'
        	});
          right.style.zIndex = '1000';
          left.style.zIndex = '0';
          // Slide back to left action
          buttonControl.style.transform = 'translateX(0px)';
          icon.style.opacity = '0';
          setTimeout(()=>{
            icon.src = "/wp-content/uploads/2024/03/raceIcon.svg";
            icon.style.opacity = '1';
          },500)
          buttonControl.style.filter = 'drop-shadow(-5px -0px 8px rgb(0 0 0 / 0.34)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1))';
        }
      }
    }

      // Options for the Intersection Observer
      const observerOptions = {
        root: null, // observing changes to visibility in the viewport
        rootMargin: '-80px 0px 20px 0px', // 50px margin at the top of the root
        threshold: 0.01, // callback is executed when a tiny part of the target is visible
      };
  
       const scaleElements = () => {
         target.style.opacity = '1';
        target.style.transform = 'translatey(-20px) translateX(-50%) scale(1.2) ';
        setTimeout(() => {
        	target.style.width = '191.81px';
        },200);
        setTimeout(() => { // Adding a small delay
          let time = 0;
				buttonOuter2.style.opacity = '1';
          targetButton.forEach(div => {
            time += 80
            setTimeout(() => {
              div.style.transform = 'scale(1) ';
            },time);        
          });

          setTimeout(() => {
            controllerText.style.opacity = '1';
          
            target.style.transform = ' translatey(-10px) translateX(-50%) scale(1)';

            },550);
        }, 500); // Delay in milliseconds, adjust as needed
      };

     	const reverseScaleElements = () => {
        controllerText.style.opacity = '0';
        // Assuming you want to collapse it fully
        buttonOuter2.style.opacity = '0';
        targetButton.forEach(div => {
            div.style.transform = 'scale(0)'; // Reversing the scale to initial
        });
          setTimeout(() => { 
            target.style.opacity = '0';
          target.style.transform = ' translatey(130px) translateX(-50%) scale(0)'; // Assume initial scale is 0
          target.style.width = '0px'
          },400);
         // Reversing the color transition

      };

    // Modified Intersection Observer callback
    	const observerCallback = (entries, observer) => {
        entries.forEach(entry => {
          if (entry.isIntersecting) {
            scaleElements();
          } else {
            reverseScaleElements();
          }
        });
      };

      // Creating an Intersection Observer
      const observer = new IntersectionObserver(observerCallback, observerOptions);

      // Target element to observe
      observer.observe(targetStart);

    })
</script>
--></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_40">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    #pageController2 {
        z-index: 1000;
        position: fixed;
        bottom: 30px;
        left: 50%;
        border-radius: 2rem;
        background-color: #f1f1f1;
        width: fit-content;
        transform:  translatey(130px) translateX(-50%) scale(0);
        transition: all 0.5s ease;
        display: flex;
        gap: 0px;
        align-items: center;
        justify-content: center;
        user-select: none; /* Prevent text selection */
          border: 3px solid white;
    }


    #pageController2 div .btnText {
        font-size: 29px;
        font-weight: 700;
        color: black;
        width: 130px;
        text-align: center;
        padding: 20px;
        position: relative;
        pointer-events: none; /* Allow clicks to pass through to the slider */
        z-index: 2; /* Keep the text above the slider visually */
        cursor: pointer;
        transition: color 0.3s ease; /* Smooth transition for text color */
    }

    .white-fade {
        color: white !important; /* Text will fade to white when the slider is over it */
    }

    #pageController2 .selectorCont {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .buttonSlider {
        position: absolute;
        left: 0;
        top: 0px;
        bottom: 0px;
        margin: 6px;
        background-color: #0066ff;
        border-radius: 2rem;
        width: 130px;
        transition: all 0.3s ease;
        z-index: 1; /* Slider behind the buttons visually */
        pointer-events: auto; /* Slider is still interactable */
    }
  .selectorCont{
    padding:0 4px;
  }
  .initalHide{
    display:none;
  }
  .initalSize{
    width: 251px;
    height: 54.59px;
    margin-left: 13px;
  }
    .initalSizeCont{
    width:268px;
    height: 66.59px;
      color:white;
      display:flex;
      justify-content:center;
      align-items:center;
      z-index:2;
        font-size: 23px;
        font-weight: 700;
        text-align: center;
  }
</style>

<div id="pageController2">  
    <div class="selectorCont">
			<div class="initalSizeCont">
        Click to Change Icons
      </div>
        <div class="btnText white-fade initalHide" data-index="0">Race</div>
        <div class="btnText initalHide" data-index="1">Road</div>
        <div class="buttonSlider initalSize"></div>
    </div>
</div>
<script>
  document.addEventListener('DOMContentLoaded', () => {
    const aim_buttons = document.querySelectorAll('.btnText');
    const aim_slider = document.querySelector('.buttonSlider');
    const initialSizeCont = document.querySelector('.initalSizeCont');
    let aim_isDragging = false;
    let aim_startX, aim_currentX, aim_sliderStartX;
    let firstClick = true; // Track the first click
    const raceIcons = document.querySelectorAll('.raceIcons'); // Assuming these are the Race icons
    const roadIcons = document.querySelectorAll('.roadIcons'); // Assuming these are the Road icons

    // Get the container width and the boundaries for the slider
    const aim_container = document.querySelector('.selectorCont');

    // Function to update container and slider boundaries dynamically
    function updateSliderBounds() {
        aim_containerWidth = aim_container.offsetWidth;
        aim_sliderWidth = aim_slider.offsetWidth;
        aim_minLeft = 0;
        aim_maxLeft = aim_containerWidth - aim_sliderWidth;
    }

    updateSliderBounds(); // Initial call to set the correct values

    // Function to snap slider to nearest button with the modifier
    function snapSlider(aim_position) {
        const aim_buttonWidth = aim_buttons[0].offsetWidth;
        const aim_closestIndex = Math.round(aim_position / aim_buttonWidth);

        const newPosition = aim_closestIndex * aim_buttonWidth;
        // Apply modifier based on the index
        let aim_modifier = aim_closestIndex > 0 ? newPosition - 4 : newPosition + 2;
        
        aim_slider.style.left = `${aim_modifier}px`;
        updateTextColor(aim_closestIndex); // Update the text color
        updateIconVisibility(aim_closestIndex); // Update icons based on slider position
    }

    // Function to update the text color based on the slider position
    function updateTextColor(aim_index) {
        aim_buttons.forEach((button, index) => {
            if (index === aim_index) {
                button.classList.add('white-fade'); // Add white color when under the slider
            } else {
                button.classList.remove('white-fade'); // Remove white color when slider is not over it
            }
        });
    }

    // Function to update icon visibility based on slider position
    function updateIconVisibility(aim_index) {
      console.log(aim_index)
        if (aim_index === 0) {
            // If 'Race' is selected, show race icons and hide road icons
            roadIcons.forEach(icon => {
                icon.style.transition = 'opacity 0.5s ease';
                icon.style.opacity = '0'; // Fade out road icons
            });
            setTimeout(() => {
                raceIcons.forEach(icon => {
                    icon.style.transition = 'opacity 0.5s ease';
                    icon.style.opacity = '1'; // Fade in race icons after road icons fade out
                });
            }, 500);
        } else if (aim_index === 1) {
            // If 'Road' is selected, show road icons and hide race icons
            raceIcons.forEach(icon => {
                icon.style.transition = 'opacity 0.5s ease';
                icon.style.opacity = '0'; // Fade out race icons
            });
            setTimeout(() => {
                roadIcons.forEach(icon => {
                    icon.style.transition = 'opacity 0.5s ease';
                    icon.style.opacity = '1'; // Fade in road icons after race icons fade out
                });
            }, 500);
        }
    }

    // Function to handle the first click
    function handleFirstClick() {
        if (firstClick) {
            // Hide the initial size container and show the buttons
            initialSizeCont.style.display = 'none';
            aim_buttons.forEach(button => {
                button.classList.remove('initalHide'); // Show hidden buttons
            });
            aim_slider.classList.remove('initalSize'); // Remove initial size class from the slider
            firstClick = false; // Ensure this runs only once
        }
    }

    // Add click events for snapping
    aim_buttons.forEach(aim_button => {
        aim_button.addEventListener('click', () => {
            handleFirstClick(); // Handle the first click if necessary

            const aim_index = aim_button.getAttribute('data-index');
            const aim_buttonWidth = aim_button.offsetWidth;

            const newPosition = aim_index * aim_buttonWidth;
            let aim_modifier = aim_index > 0 ? newPosition - 4 : newPosition + 2;

            aim_slider.style.left = `${aim_modifier}px`;
            updateTextColor(parseInt(aim_index)); // Update the text color when clicked
            updateIconVisibility(parseInt(aim_index)); // Update icons when clicked
        });
    });

    // Mouse down to start dragging
    aim_slider.addEventListener('mousedown', (e) => {
        e.preventDefault(); // Prevent default behavior
        handleFirstClick(); // Handle the first click if necessary
        aim_isDragging = true;
        aim_startX = e.clientX;
        aim_sliderStartX = parseInt(aim_slider.style.left) || 0;

        document.addEventListener('mousemove', handleMouseMove);
        document.addEventListener('mouseup', handleMouseUp);
    });

    // Handle mouse move to drag slider within container confines
    function handleMouseMove(e) {
        if (!aim_isDragging) return;
        aim_currentX = e.clientX;
        const aim_deltaX = aim_currentX - aim_startX;
        let aim_newLeft = aim_sliderStartX + aim_deltaX;

        // Update the slider boundaries dynamically
        updateSliderBounds();

        // Confine the slider movement to the container's bounds
        if (aim_newLeft < aim_minLeft) {
            aim_newLeft = aim_minLeft;
        } else if (aim_newLeft > aim_maxLeft) {
            aim_newLeft = aim_maxLeft;
        }

        aim_slider.style.left = `${aim_newLeft}px`;
    }

    // Mouse up to stop dragging and snap to nearest button
    function handleMouseUp() {
        if (!aim_isDragging) return;
        aim_isDragging = false;

        // Remove event listeners for move and up when dragging stops
        document.removeEventListener('mousemove', handleMouseMove);
        document.removeEventListener('mouseup', handleMouseUp);

        const aim_sliderPosition = parseInt(aim_slider.style.left) || 0;
        snapSlider(aim_sliderPosition);
    }

    // Touch events for mobile
    aim_slider.addEventListener('touchstart', (e) => {
        handleFirstClick(); // Handle the first click if necessary
        aim_isDragging = true;
        aim_startX = e.touches[0].clientX;
        aim_sliderStartX = parseInt(aim_slider.style.left) || 0;

        document.addEventListener('touchmove', handleTouchMove);
        document.addEventListener('touchend', handleTouchEnd);
    });

    function handleTouchMove(e) {
        if (!aim_isDragging) return;
        aim_currentX = e.touches[0].clientX;
        const aim_deltaX = aim_currentX - aim_startX;
        let aim_newLeft = aim_sliderStartX + aim_deltaX;

        // Update the slider boundaries dynamically
        updateSliderBounds();

        // Confine the slider movement to the container's bounds
        if (aim_newLeft < aim_minLeft) {
            aim_newLeft = aim_minLeft;
        } else if (aim_newLeft > aim_maxLeft) {
            aim_newLeft = aim_maxLeft;
        }

        aim_slider.style.left = `${aim_newLeft}px`;
    }

    function handleTouchEnd() {
        if (!aim_isDragging) return;
        aim_isDragging = false;

        // Remove touchmove and touchend listeners
        document.removeEventListener('touchmove', handleTouchMove);
        document.removeEventListener('touchend', handleTouchEnd);

        const aim_sliderPosition = parseInt(aim_slider.style.left) || 0;
        snapSlider(aim_sliderPosition);
    }

    // Add click listener to the main container to slide the slider based on click position
    aim_container.addEventListener('click', (e) => {
        handleFirstClick(); // Handle the first click if necessary
        const containerRect = aim_container.getBoundingClientRect();
        const clickX = e.clientX - containerRect.left;
        const containerMidpoint = containerRect.width / 2;

        const aim_buttonWidth = aim_buttons[0].offsetWidth;

        if (clickX < containerMidpoint) {
            // Clicked on the left side, move the slider to the left (index 0)
            const newPosition = 0 * aim_buttonWidth;
            let modifier = 2;  // Add modifier for left side
            aim_slider.style.left = `${newPosition + modifier}px`;
            updateTextColor(0); // Update text color
            updateIconVisibility(0); // Update icons based on slider position
        } else {
            // Clicked on the right side, move the slider to the right (index 1)
            const newPosition = 1 * aim_buttonWidth;
            let modifier = newPosition - 4;  // Add modifier for right side
            aim_slider.style.left = `${modifier}px`;
            updateTextColor(1); // Update text color
            updateIconVisibility(1); // Update icons based on slider position
        }
    });
    // Adjust container size and boundaries on window resize
    window.addEventListener('resize', updateSliderBounds);
  
  
  
  
  const target2 = document.getElementById('pageController2');
      // Options for the Intersection Observer
      const observerOptions = {
        root: null, // observing changes to visibility in the viewport
        rootMargin: '-80px 0px 20px 0px', // 50px margin at the top of the root
        threshold: 0.01, // callback is executed when a tiny part of the target is visible
      };
  
       const scaleElements = () => {
         target2.style.opacity = '1';
        target2.style.transform = 'translatey(-20px) translateX(-50%) scale(1.2) ';
        setTimeout(() => {
        	target2.style.width = '268px';
        },200);

          setTimeout(() => {
          
          
            target2.style.transform = ' translatey(-10px) translateX(-50%) scale(0.7)';

        }, 500); // Delay in milliseconds, adjust as needed
      };

     	const reverseScaleElements = () => {
          setTimeout(() => { 
            target2.style.opacity = '0';
          target2.style.transform = ' translatey(130px) translateX(-50%) scale(0)'; // Assume initial scale is 0
          target2.style.width = '0px'
          },400);
         // Reversing the color transition

      };

    // Modified Intersection Observer callback
    	const observerCallback = (entries, observer) => {
        entries.forEach(entry => {
          if (entry.isIntersecting) {
            scaleElements();
          } else {
            reverseScaleElements();
          }
        });
      };

      // Creating an Intersection Observer
      const observer = new IntersectionObserver(observerCallback, observerOptions);

      // Target element to observe
      observer.observe(targetStart);
  })
  
</script>
</div>
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/mxq-tech-spec/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Thu, 16 Oct 2025 09:20:32 +0000</pubDate>
				<category><![CDATA[Tech Spec]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=289245</guid>

					<description><![CDATA[Short description of the product, possible the tagline from the page.]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_38 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_13">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_13  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_31">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: start;
  }
  .Aim_sectionColumn{
    width: 80%;
    display:flex;
		justify-content:start;
    
  }
  .Aim_center{
    justify-content:center !important; 
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 25px;
    white-space:nowrap;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont span{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li,
  .Aim_sectionColumn ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont span{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
  #mobileMenuCont{
    padding: 0 ;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
  }
  @media only screen and (max-width: 600px) {
    #mobileMenuCont a{
      font-size: 13px;
    }
        #Aim_innerCont span{
      max-width: 150px;
    }
  }
    .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <span>
   Technical Information
  </span>
  <div id="Aim_secondMenuOptions">
    <div id="mobileMenuCont">
    	<a href="/mxq/" class="active">Overview</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/products/mxq-dash-logger" target="_blank" rel="noopener">
        Buy 
    </a>
  </div>
  </div>
</div></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_14">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_14  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div id="Aim_titleCont" class="et_pb_module et_pb_code et_pb_code_32">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .Aim_titleSpecsCont{
   justify-content: center;
  }
  .Aim_titleSpecsCont h1{
    text-align:center;
  }
</style>
<div class="Aim_titleSpecsCont">
  <div class="Aim_sectionTitle">

  </div>
<h1>MXq<br />
<span style="font-size: 14px;">Technical Information</span></h1>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_33">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .noMarg{
    margin:0 !important;
    padding:0 !important;
    flex-direction: column;
    text-align: center;
    font-weight:bold;
    max-width:400px;
  }
  #mobyTitle{
    display:none;
  }
    @media only screen and (max-width: 460px){
      #mobyTitle{
    display:block;
  }
  }
</style>
<div class="Aim_rowSpecsCont " >
  <h3 class="Aim_sectionTitle">
    Model
  </h3>
  <div class="Aim-spanner">
    <div class="Aim_sectionColumn noMarg Aim_center">
      <img decoding="async" src="/wp-content/uploads/2025/10/mxq_techspecimage.webp" alt="MXq"/>
      <div id="mobyTitle">
        MXq
      </div>
    </div>

  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_34">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Overview
  </h3>
  <div class="Aim-spanner">
	<div class="Aim_sectionColumn">
    <p>
      
      The MXq dash logger is the lighter version of the MXm, divering only in the number of analogue and digital inputs, outputs and connectors. It delivers crucial racing data like speed, lap times, RPM, and gear selection, enhanced with multiple math channels. Its compact design fits easily in any car or bike, overing plug-and-play simplicity. Ideal for both professional and amateur racers, the MXq seamlessly integrates detailed performance tracking in a user-friendly format.</p> 
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_35">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Key Features
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
			<li>High contrast configurable display</li>
			<li>CAN & Analogue Data Input</li>
			<li>5 configurable RGB LEDs Shift lights</li>
			<li>Waterproof</li>
			<li>Integrated GPS</li>
			<li>5 configurable RGB colours</li>
			<li>2 configurable RGB LEDs alarms</li>
			<li>Free race studio 3 download</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_36">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Size & Weight
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><span>Dimensions:</span> 137 x 88.4 x 31.9 mm
</li>
      <li><span>Weight:</span> 330g
</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_37">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Waterproof
  </h3>
  <div class="Aim-spanner">

  <div class="Aim_sectionColumn">
    <ul>
      <li>IP 65</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_38">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    In The Box
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li>MXq</li>
      <li>RS232 / OBDII or RPM harness</li>

    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_39">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Technical
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><span>Ambient light sensor:</span> Yes</li> 
      <li><span>Shift Lights:</span> 5 configurable RGB LEDs</li> 
      <li><span>Alarm LEDs:</span> 2 configurable RGB LEDs</li> 
      <li><span>CAN connections:</span> 2</li> 
      <li><span>ECU connection:</span> CAN, RS232 or K-Line to 1,000+ industry leading ECUs </li> 
      <li><span>GPS:</span> Integrated</li> 
      <li><span>External modules:</span> Lambda Controller, SmartyCam HD, ACC3</li> 
      <li><span>Analogue inputs:</span> 1 fully configurable, max 500Hz each</li> 
      <li><span>Digital inputs:</span> Low level coil RPM input, 0-5 V square wave</li> 
      <li><span>WiFi connection:</span> Yes</li> 
      <li><span>Internal Memory:</span> 4 GB</li> 
      <li><span>Body:</span> PA6 GS30%</li> 
      <li><span>Pushbuttons:</span> Metallic</li> 
      <li><span>Connectors:</span> 3 Binder connectors</li> 

    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_40">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Display
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><span>Resolution:</span> 268 x 128 pixels</li>
      <li><span>Backlight:</span> 8 configurable RGB colours</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_41">
				
				
				
				
				<div class="et_pb_code_inner"><div id="DiagramBox" class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Diagram
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <img decoding="async" src="/wp-content/uploads/2025/10/mxqDia.png" alt="mxq diagram"/>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_42">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Downloads
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
   <ul>
      <li><a href="https://cdn.shopify.com/s/files/1/0214/9392/files/aim_mxq.pdf" target="_new" rel="noopener">Technical Sheet</a></li>
      <li><a href="/support/downloads/software-downloads/">Race Studio 3</a></li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/mxq/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Thu, 16 Oct 2025 09:19:33 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<category><![CDATA[Bike]]></category>
		<category><![CDATA[Bike Display Loggers]]></category>
		<category><![CDATA[Car]]></category>
		<category><![CDATA[Car Display Loggers]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[drag display loggers]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[logger]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=289237</guid>

					<description><![CDATA[Unleash your potential with the compact and precise MXq dash logger]]></description>
										<content:encoded><![CDATA[
<div class="et_pb_section et_pb_section_39 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_15">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_15  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_43">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 30px;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont h1{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-chevron-down{
    display: none;
    cursor:pointer;
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont h1{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
    .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  @media only screen and (max-width: 600px) {

    #mobileMenuCont a{
      font-size: 13px;
    }
        #Aim_innerCont h1{
      max-width: 200px;
    }
  }
</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
    
 
 <h1>
   MXq Dash Display
  </h1>
  <div id="Aim_secondMenuOptions">
    <div id="mobileMenuCont">
    	<a href="/mxq-tech-spec/" class="active">Tech Specs</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/products/mxq-dash-logger" target="_blank" rel="noopener">
        Buy  
    </a>
  </div>
  </div>
</div></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_40 et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_41">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  html,body{
    overflow-x:hidden;
  }
  .heroContainer{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
     padding-top: clamp(25px, 10vw, 75px);

  }
  .line{
    height:5px;
    width:100%;
  }
  .redLine{
    background-color:red;
    position:relative;
  }
  .blueLine{
    background-color:blue;
    position:relative;
  }
  .yellowLine{
    background-color:yellow;
    position:relative;
  }
  .whiteLine{
    background-color:white;
    position:relative;
  }
  .mxmLogo{
    position:absolute;
    background-color:white;
    padding: 20px;
    max-width: 80%;
  }
  .mxmLogo p{
    margin-top: 20px;
    font-size: 18px;
    text-align:center
  }
  .heroVideo{
  
  }
</style>
<div class="heroContainer">
    <div class="line blueLine"></div>
  <div class="line redLine"></div>
    <div class="line whiteLine"></div>
  <div class="line yellowLine"></div>
  <div class="mxmLogo" style="padding-top: 50px">
    <img decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2025/10/MXq_Logo.svg" width="400" height="auto" alt="aim mxq logo" />
    <p>
      Compact Data Logger
    </p> 
  </div>
</div>
<div class="heroContainer" style=" padding-top: clamp(100px, 10vw, 150px);">
  <video id="heroVideo" autoplay playsinline muted width="800" height="auto" src="/wp-content/uploads/2025/10/mxq_hero_ani_white-optimised.mp4" ></video>
</div>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_41 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_42">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .artPerf{
    display:flex;
    flex-direction:column;
    align-items:center;
        padding-top: clamp(100px, 10vw, 200px);

  }
  .artPerf h2{
    font-size: 79px;
    line-height: 83px;
    margin-bottom:10px;
    max-width: 700px;
    text-align:center;
    margin-bottom: 50px;
    font-weight:600;    
  }

  .artPerf p{
    font-size:24px;
    line-height:28px;
    max-width: 900px;
    text-align:center;
    margin-bottom:50px;
  }
    .squeeze-text2 {
            display: inline-block;
            white-space: nowrap;
            transition: transform 2s;
      transform-origin: left;
        }
  .squeeze-wrapper2{
    transition:all 2s ease;
    white-space:nowrap;
  }
        .squeeze2 {
            transform: scaleX(0.5);
          color:#0066FF;
        }
    .translate2 {
            transform: translateX(12%);
        }

  @media only screen and (max-width: 650px) {
  .artPerf h2{
    font-size: 39px;
    line-height: 43px;
  }
  .artPerf p{
    font-size:18px;
    line-height:22px;
  }
}
 
</style>
<div class="artPerf">
  <h2>
   <div>
     The Data Logger
    </div>
    <div class="squeeze-wrapper2">
     For Tight <span class="squeeze-text2">Squeezes</span>
    </div>
  </h2>
  <p class="animate-on-scroll animate1">
The MXq dash logger is the lighter version of the MXm, divering only in the number of
analogue and digital inputs, outputs and connectors. It delivers crucial racing data like
speed, lap times, RPM, and gear selection, enhanced with multiple math channels. Its
compact design fits easily in any car or bike, overing plug-and-play simplicity. Ideal for
both professional and amateur racers, the MXq seamlessly integrates detailed
performance tracking in a user-friendly format.
  </p> 
</div>
<script>
	document.addEventListener('DOMContentLoaded', function () {
    const target = document.querySelector('.squeeze-text2');
            const wrapper = document.querySelector('.squeeze-wrapper2');

    const observer = new IntersectionObserver((entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                entry.target.classList.add('squeeze2');
                observer.unobserve(entry.target);
              wrapper.classList.add('translate2');
            } else {
              entry.target.classList.remove('squeeze2');
              wrapper.classList.remove('translate2');
            }
        });
    }, {
         threshold: [0, 0.5, 1]
    });

    observer.observe(target);
});

</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_42 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_43">
				
				
				
				
				<div class="et_pb_code_inner"><link rel="preload" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/css/splide.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/css/splide.min.css">
</noscript>
<!-- Defer external script loading -->
<script defer src="https://cdn.jsdelivr.net/npm/@splidejs/splide@4.1.4/dist/js/splide.min.js"></script>
<style>
  /* Ensure the swiper container is wide enough */
  .quickDetailsSlider{
    cursor:grab;
  }
  .swiper-wrapper{
    width: 400px !important;
  }

  .heroSlider-Slide {
    max-width:90vw;
  width: 400px ;
    overflow: hidden;height:360px;
    border-radius: 0.75rem;
    background-color:white;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction:column;
    justify-content:space-between;
    padding-bottom: 30px;
    box-shadow: 0px 2px 8px 0px rgb(0 0 0 / 39%); 
  }

  .slider-main-image {
	width: 400px;
    max-width:90vw;
    height: 341px;
    margin-bottom:20px;
  }

  .slide-text-container {
	display:flex;
    flex-direction:column;
    align-items:center;
    padding: 30px;
  }

  .slider-logo-image {
    height: auto;
    width: 150px;
    margin-bottom:20px;
  }

  .heroSlider-Slide p {
    font-size: 16px;
    line-height:20px;
   
    text-align:center;
  }

  .splide__slide {
    transition: all 0.3s ease;
    max-width:90vw;
    width: 400px ;
    height:320px;
  }


  .splide__slide{
    margin-right: 20px !important;
    margin-top: 10px !important;
  }
  .splide__pagination {
    bottom: unset !important;

}
  .pageSectionTitle{
    font-size: 30px; font-weight: 600;
  }
  @media only screen and (max-width: 787px)
  {
.pageSectionTitle {
    font-size: 28px;
}

  }
  .slider-logo-image{
    width:70px;
    height:70px;
    
  }
  .slide-text-container h3{
    font-size: 29px;
    font-weight:bold
  }
  .slide-text-container h3 span{
    
  }
  .splide__pagination__page {
    background: #ccc;
    height: 15px;
    width: 15px;
}
  .splide__pagination__page.is-active {
    background: #0066ff;

}
  .font-white div h3{
    color:#0066ff !important;
    text-align:center;
  }

  .font-white{
    background-color:white;
  }
  .twoLine{
    margin-top: -20px;
  }
  .heroSlider-Slide{
    transition:all 0.7s ease;
  }
  .splide__slide.is-active .slide-container .heroSlider-Slide{
   
    
  }
</style>

<section class="splide quickDetailsSlider">
  <div class="splide__track">
		<ul class="splide__list" id="itsme">

		</ul>
  </div>
</section>
<script>


  const slides = [
        {
      iconImage: "/wp-content/uploads/2024/07/MXm_GPS09-Icon.svg",
      iconHeight: "70px",
      iconWidth: "70px",
      subTitle: "The GPS Module included in the kit is connected via CAN and makes lap time calculation and track position analysis easy. It locates position, identifies track line coordinates and starts immediately sampling lap and split times",
      containerClass: "font-black supportBg",
      titleOne:'',
      titleTwo:'GPS09',
    },
    {
      iconImage: "/wp-content/uploads/2024/07/MXm_ECU-Icon.svg",
      iconHeight: "70px",
      iconWidth: "70px",
      subTitle: "The MXm dash can be configured to show all the information coming from the ECU, analogue/digital inputs, predefined math channels and GPS Module",
      containerClass: "font-black  supportBg",
      titleOne:'',
      titleTwo:'ECU Connection',
    },

    {
      iconImage: "/wp-content/uploads/2024/07/MXm_Analogue-Digital-Inputs-Icon.svg",
      iconHeight: "70px",
      iconWidth: "70px",
      subTitle: "The MXm Dash has 4 analogue and 2 digital inputs. Performance and data acquired can also be incremented by adding expansion modules",
      containerClass: "font-black supportBg",
      titleOne:'',
      titleTwo:'Analogue/Digital Inputs',
    },
    {
      iconImage: "/wp-content/uploads/2024/07/MXm_Accelerometer-Icon.svg",
      iconHeight: "70px",
      iconWidth: "70px",
      subTitle: "You can choose the conditions and colours, select a solid arm or flashing one, also the flashing frequency. You can also configure an accompanying text message and set the alarm priorities",
      containerClass: "font-black supportBg",
      titleOne:'',
      titleTwo:'LED Alarms',
    },
    {
      iconImage: "/wp-content/uploads/2024/07/MXm_Sencond-CAN-Icon_2.svg",
      iconHeight: "70px",
      iconWidth: "70px",
      subTitle: "Sampled data depends on the actual ECU, but will typically include RPM, throttle position (TPS), oil, air, water temperature, oil pressure, battery voltage, speed, gear & lambda value (air/fuel ratio)",
      containerClass: "font-black supportBg",
      titleOne:'',
      titleTwo:'Math Channels',
    },
    {
      iconImage: "/wp-content/uploads/2024/07/MXm_Sencond-CAN-Icon_1.svg",
      iconHeight: "70px",
      iconWidth: "70px",
      subTitle: "With CAN Output, you can send messages directly to an existing CAN network to improve the range of vehicle control possibilities",
      containerClass: "font-black supportBg",
      titleOne:'',
      titleTwo:'Second CAN',
    },
  ];
addEventListener("DOMContentLoaded", () => {
   function initializeSlickCarousel(){
  const t = document.getElementById("itsme");

  let n = "";
  slides.map((e, index) => {
    n += `
          <li class="splide__slide ">
           <div class="slide-container splide__slide">
        <div class="heroSlider-Slide ${e.containerClass}">
          <div class="slide-text-container">
          <p style="font-size: 14px;">${e.titleOne}</p> 
          <img decoding="async" loading="lazy" class="slider-logo-image" src="${e.iconImage }" width="${e.iconWidth}" height="${e.iconHeight}" alt="${e.alt} Title" />
         <h3 style="padding-bottom:10px;">${e.titleTwo}</h3>
<p>${e.subTitle}</p> 
          </div>
        </div>
      </div>
    </li>
          `;
  });
  
  t.innerHTML = n;
  try {
    var splide2 = new Splide(".quickDetailsSlider", {
      type: "slide",
      height: "400px",
      focus: "center",
      snap:true,
      padding: "5rem",
      autoWidth: true,
			pagination:false,
      interval:3000,
          breakpoints: {
      768: {
        pagination:true,
        arrows: false, // Disable arrows for screens 768px and smaller
      },
    },
    });
  } catch (error) {
    t.innerHTML = error;
  }

  splide2.mount();
     window.removeEventListener('click', initializeSlickCarousel);
    window.removeEventListener('scroll', initializeSlickCarousel);
    window.removeEventListener('keydown', initializeSlickCarousel);
   }
    // Add event listeners for first interaction
  window.addEventListener('click', initializeSlickCarousel);
  window.addEventListener('scroll', initializeSlickCarousel);
  window.addEventListener('keydown', initializeSlickCarousel);
});

</script>
</div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_43 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_44">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .et_pb_section_0 {
    padding:0
  }
  body, html{
    overflow-x:hidden;
  }
  .mychron-slider-container h2{
    font-size: 78px;
    font-weight:600;
		
    margin-bottom:44px;
    text-align:center;
    max-width: 600px;
  }
  .mychron-slider-container h3{
    font-size: 39px;
		color:#0066ff;
    margin-bottom:20px;
    text-align:center;
    font-weight:600
  }
  .mychron-slider-container p{
    font-size: 24px;
    text-align:center;
    max-width: 1050px;
    
  }
  .siteButton{
    background-color: #0066FF;
    border-radius: 2rem;
    padding: 2.5px 15px;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: normal;
    width:fit-content;
    margin:50px auto;
  }
  .mychron-slider-container-outer{
    height: 400px;
    position: relative;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .mychron-slider-container{
      position:relative;
    width: 100%;
    max-width: 1200px;
    display: flex;
    align-items: center;
    justify-content:center;
  }
  .mychron-slide h3{
    font-size: 29px;
    text-align:center;
    margin-bottom: 20px;
    padding:0; 
  }
  .mychron-slide p{
    font-size: 18px;
		line-height:22px;
    text-align:center;
    margin-bottom:50px;
  }
  .mychron-slide{
    width: 350px;
    height: 400px;
    border-radius: 0.75rem;
  /* background: linear-gradient(128deg, rgba(206,13,0,1) 0%, rgba(22,0,0,1) 78%); */
    background-color:white;
    padding: 30px;
    
  }
  .mychron-bg-image{
    min-width:1921px;
  }
  .mychron-slider-container, .mychron-slide{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .mychron-slider-track{
    position:relative;
    display:flex;
    gap:30px;
  }

  .before{
    transform:translatex(270px) scale(0.9);
      opacity:0.7;
  }
  .after{
    transform:translatex(-270px) scale(0.9);
    opacity:0.7;
  }
  .active{
    z-index:1;
    transform:translatex(0);
  }
  @media screen and (max-width:600px){
     .mychron-slider-container h2{
        font-size: 48px;
      }
      .mychron-slider-container h3{
        font-size: 29px;
      }
      .mychron-slider-container p{
        font-size: 18px; 
      }
  }

.carousel {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
}
.carousel__list {
  display: flex;
  list-style: none;
  position: relative;
  width: 100%;
  height: 300px;
  justify-content: center;
  perspective: 300px;
}
.carousel__item {
  display: flex;
  align-items: center;
  justify-content: center;
	background-color:white;
  font-size: 0px;
	cursor:pointer;
  border-radius: 12px;
  border: 2px solid white;
    box-shadow: 0px 2px 8px 0px rgb(0 0 0 / 39%); 
  position: absolute;
  transition: all 0.5s ease, border 0.3s ease, transform 0.5s ease;
	transform: translateX(0%) 

}
  .carousel__item:hover{
    border-color:white
  }
.carousel__item[data-pos="0"] {
  z-index: 5;
}

.carousel__item[data-pos="-1"], .carousel__item[data-pos="1"] {
  opacity: 0.7;
  filter: blur(1px) grayscale(10%);
  z-index: 4;
  transform: translateX(0) scale(0.9);
}

.carousel__item[data-pos="-2"], .carousel__item[data-pos="2"] {
  opacity: 0.4;
  filter: blur(3px) grayscale(20%);
  z-index: 3;
  transform: translateX(40%) scale(0.8);
}

.carousel__item[data-pos="-3"], .carousel__item[data-pos="3"] {
  opacity: 0.2;
  filter: blur(6px) grayscale(30%);
  z-index: 2;
  transform: translateX(70%) scale(0.7);
}

.carousel__item[data-pos="-4"], .carousel__item[data-pos="4"] {
  opacity: 0.1;
  filter: blur(8px) grayscale(40%);
  z-index: 1;
  transform: translateX(100%) scale(0.6);
}

.carousel__item[data-pos="-5"], .carousel__item[data-pos="5"] {
  opacity: 0;
  filter: blur(10px) grayscale(50%);
  z-index: 0;
  transform: translateX(130%) scale(0.5);
}

  .mychron-slider-dots-container{
    margin-top: 140px;
    display: flex;
    bottom: 0;
    gap: 20px;
    width: 100%;
    justify-content: center;
    
  }
  .slider-dot{
    height:15px;
    width:15px;
    transition:all 0.5s ease;
    border-radius:100%;
    cursor:pointer;
    opacity:1;
    background-color:grey;
  }
  .active1{
    opacity:1;
    transform:scale(1.5);
    background-color:#0066ff;
  }
  .mychron-slider-container {
    -webkit-user-select: none;
    -moz-user-select: none; 
    -ms-user-select: none;
    user-select: none; 
}

.mychron-slider-container img {
    pointer-events: none;
}
  #mychron-steering-logo{
    max-width: 450px;
    margin-bottom:44px;
    opacity:0;
    transform:translatey(100px);
    transition: all 0.7s ease;
  }
  .underLineText{
    text-decoration: underline;
    text-decoration-color: #0066ff; 
    text-decoration-thickness: 1px; 
    text-underline-offset: 3px;
  }
  .underLineText:hover {
      text-decoration-thickness: 2px;
    	text-underline-offset: 2px;
    }
    #leftChevron, #rightChevron{
    cursor:pointer;
    transition:color 0.7s ease;
  }
  #leftChevron:hover, #rightChevron:hover{
    color:#0066ff !important; 
  }



</style>
<div class="mychron-slider-container-outer" id="slider-container">
  <div class="mychron-slider-container">
  <div id="leftChevron" style="position:absolute; color:black; font-size: 24px; z-index:2; left:0" onclick="chevronClick('backwards')">
      <i class="fa-solid fa-chevron-left"></i>
    </div>
          <div id="rightChevron" style="position:absolute; color:black; font-size: 24px; z-index:2; right:0"onclick="chevronClick('forwards')">
      <i class="fa-solid fa-chevron-right"></i>
    </div>
    <div class="mychron-slider carousel">
      <ul class=" carousel__list">
        
        <li style="transform: translateX(0%)" class="mychron-slide carousel__item" data-pos="-2" onclick="updatePosition(0)">
          <img decoding="async" loading="lazy"  src="/wp-content/uploads/2024/07/MXm_GPS09-Icon.svg" width="70px" height="70px" alt="undefined Title">
          <h3 data-pos="-2">
            GPS09
          </h3>
          <p data-pos="-2">
            The GPS Module included in the kit is connected via CAN and makes lap time calculation and track position analysis easy. It locates position, identifies track line coordinates and starts immediately sampling lap and split times
          </p> 
        </li>
        
        <li style="transform: translateX(0%)" class="mychron-slide carousel__item" data-pos="-1" onclick="updatePosition(1)">
          <img decoding="async" loading="lazy" src="/wp-content/uploads/2024/07/MXm_ECU-Icon.svg" width="70px" height="70px" alt="undefined Title">
          <h3 data-pos="-1">
            ECU Connection
          </h3>
          <p data-pos="-1">
            The MXq dash can be configured to show all the information coming from the ECU, analogue/digital inputs, predefined math channels and GPS Module
          </p> 
        </li>
        
        <li style="transform: translateX(0%)" class="mychron-slide carousel__item" data-pos="0" onclick="updatePosition(2)">
          <img decoding="async" loading="lazy" src="/wp-content/uploads/2024/07/MXm_Analogue-Digital-Inputs-Icon.svg" width="70px" height="70px" alt="undefined Title">
          <h3 data-pos="0">
            Analogue/Digital Inputs
          </h3>
          <p data-pos="0">
            The MXq has 1 analogue input and 1
            digital input. Performance and data
            acquired can also be incremented
            by adding expansion modules
          </p> 
        </li>
        
        <li style="transform: translateX(0%)" class="mychron-slide carousel__item" data-pos="1" onclick="updatePosition(3)">
          <img decoding="async" loading="lazy"  src="/wp-content/uploads/2024/07/MXm_Accelerometer-Icon.svg" width="70px" height="70px" alt="undefined Title">
          <h3>
            LED Alarms
          </h3>
          <p>
            You can choose the conditions and colours, select a solid arm or flashing one, also the flashing frequency. You can also configure an accompanying text message and set the alarm priorities
          </p> 
        </li>
        
                <li style="transform: translateX(0%)" class="mychron-slide carousel__item" data-pos="2" onclick="updatePosition(4)">
<img decoding="async" loading="lazy" src="/wp-content/uploads/2024/07/MXm_Sencond-CAN-Icon_2.svg" width="70px" height="70px" alt="undefined Title">
          <h3>
            Math Channels
          </h3>
          <p>
            Sampled data depends on the actual ECU, but will typically include RPM, throttle position (TPS), oil, air, water temperature, oil pressure, battery voltage, speed, gear & lambda value (air/fuel ratio)
          </p> 
        </li>
        
                        <li style="transform: translateX(0%)" class="mychron-slide carousel__item" data-pos="3" onclick="updatePosition(5)">
<img decoding="async" loading="lazy"  src="/wp-content/uploads/2024/07/MXm_Sencond-CAN-Icon_1.svg" width="70px" height="70px" alt="undefined Title">
          <h3>
           Second CAN
          </h3>
          <p>
            With CAN Output, you can send messages directly to an existing CAN network to improve the range of vehicle control possibilities
          </p> 
        </li>
      </ul>
      
    </div>
    <div class="mychron-slider-dots-container">

      <span class="slider-dot" title="ECU Connection" onclick="updatePosition(0)">
      </span>
                <span class="slider-dot" title="Rear Camera" onclick="updatePosition(1)">
      </span>
                <span class="slider-dot" title="Analogue / Digital Inputs" onclick="updatePosition(2)">
      </span>
                <span class="slider-dot" title="LED Alarms" onclick="updatePosition(3)">
      </span>    
                <span class="slider-dot" title="Math Channels" onclick="updatePosition(4)">
      </span>    
                <span class="slider-dot" title="Second CAN" onclick="updatePosition(5)">
      </span>    
            </div>
  </div>
</div>
<script>
const carouselList = document.querySelector('.carousel__list');
const dots = document.querySelectorAll('.slider-dot');
const carouselItems = Array.from(document.querySelectorAll('.carousel__item'));

let startX;
let currentTranslate = 0;
let lastTranslate = 0;
let isDragging = false;

function setCarouselPosition() {
    carouselItems.forEach((item, index) => {
        item.style.transform = `translateX(${currentTranslate}px)`;
    });
}

function touchStart(index) {
    return function(event) {
        startX = event.touches[0].clientX;
        isDragging = true;
        const activeIndex = carouselItems.findIndex(item => parseInt(item.dataset.pos) === 0);
        currentTranslate = -activeIndex * item.clientWidth;
        lastTranslate = currentTranslate;
    }
}

function touchMove(event) {
    if (isDragging) {
        const currentX = event.touches[0].clientX;
        currentTranslate = lastTranslate + (currentX - startX);
    }
}

function touchEnd() {
    isDragging = false;
    const movedBy = currentTranslate - lastTranslate;
    const threshold = carouselList.clientWidth / 6;
    const activeIndex = carouselItems.findIndex(item => parseInt(item.dataset.pos) === 0);

    if (movedBy < -threshold && activeIndex < carouselItems.length - 1) {
        updatePosition(activeIndex + 1);
    } else if (movedBy > threshold && activeIndex > 0) {
        updatePosition(activeIndex - 1);
    } else {
        updatePosition(activeIndex);
    }
}

carouselItems.forEach((item, index) => {
    const slide = item;
    slide.addEventListener('touchstart', touchStart(index));
    slide.addEventListener('touchmove', touchMove);
    slide.addEventListener('touchend', touchEnd);
});

function updatePosition(activeIndex) {
    carouselItems.forEach((item, index) => {
        let newPos = index - activeIndex;
        item.dataset.pos = newPos;
  
        item.style.transform = `translateX(${newPos * 30}%) scale(${1 - Math.abs(newPos) * 0.1})`;
      

        
        item.style.opacity = 1 - Math.abs(newPos) * 0.2;
    });
    updateDots(activeIndex);
}
  
    function chevronClick(direction){

    const activeIndex = carouselItems.findIndex(item => parseInt(item.dataset.pos) === 0);

    if (direction === 'forwards' && activeIndex < carouselItems.length - 1) {
        updatePosition(activeIndex + 1);
    } else if (direction === 'backwards' && activeIndex > 0) {
        updatePosition(activeIndex - 1);
    } 
}

function updateDots(activeIndex) {
    dots.forEach((dot, index) => {
        dot.className = index === activeIndex ? 'slider-dot active1' : 'slider-dot';
    });
}


document.addEventListener('DOMContentLoaded', () => {
    const sliderContainer = document.getElementById('slider-container');

    const observerOptions = {
        root: null, // Use the viewport as the container
        threshold: 0.5 // Trigger when 50% of the element is visible
    };

    const observerCallback = (entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                // Trigger the updatePosition function when the element is in view
                setTimeout(() => {
                    updatePosition(2);
                }, 300);

                // Optionally, unobserve the element after triggering the animation
                observer.unobserve(entry.target);
            }
        });
    };

    const observer = new IntersectionObserver(observerCallback, observerOptions);

    // Start observing the slider container
    observer.observe(sliderContainer);
});


</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_44 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_45">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .crazyBoxesContainer{
    max-width:1200px;
    margin:0 auto;
    display:flex;
    justify-content:center;
    gap:30px;
    margin-top: 10%
  }
  .cbLeft, .cbRight{
    display:flex;
    flex-direction:column;
    gap:30px;
  }
  .cbLeft{
    align-items:flex-end;
    padding-top: 100px;
  }
  .cbRight{
    align-items:flex-start;
  }
  .cbBorderBox{
    position:relative;
		display:flex;
    flex-direction:column;
    align-items:center;
    justify-content: space-between;
    border-radius:1.75rem;
    padding: 50px;
    background-color:white;
    min-height: 350px;
    max-width:500px;
  }
  .cbBorderBox2 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 1.75rem;
    padding: 80px;
    background-color: white;
    min-height: 433.59px;
    max-width: 500px;
}
  .cbBorderBox:before, .cbBorderBox2:before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -1; /* Ensures the border is behind the content of the box */
    background: linear-gradient(-45deg,#2ca9da, #1643da );
    border-radius: 1.75rem; /* Match this to the border-radius of the .box if any */
}
  .stringyTextContainer h3{
    font-size: 39px;
    line-height: 43px;
    font-weight:600;
  }
  .cbBorderBox h3{
    text-align:center;
    font-size: 39px;
    line-height: 43px;
    font-weight:600;
  }
   .cbBorderBox2 h3 {
    text-align: center;
    font-size: 84px;
    line-height: 43px;
    font-weight: 600;
}
  .cbBorderBox2 h3 div {
    font-size: 160px;
    line-height: 160px;
    font-weight: 600;
}
  .cbBorderBox p, .stringyTextContainer p{
    font-size: 18px;
    line-height: 22px;
    text-align:center;
    margin-bottom:20px;
  }
  .cbBorderBox p{
    max-width: 400px;
  }
  .stringyTextContainer p{
    max-width: 300px;
  }
  .stringyBox{
    border-radius:1.75rem;
    overflow:hidden;
    position:relative;
    display:flex;
    justify-content:center;
    max-width:80%;
  }
  .stringyTextContainer{
    position:absolute;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-top: 50px;
    padding: 30px 10px;
 background: 
    linear-gradient(to top, transparent, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.3) 80%, transparent),
    linear-gradient(to left, transparent, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.3) 80%, transparent),
    linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.3) 80%, transparent),
    linear-gradient(to right, transparent, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.3) 80%, transparent);

  background-repeat: no-repeat;
    border-radius:1.75rem;
    backdrop-filter: blur(2px);
    z-index:1
  }
  .cbNestedBoxes h3, .cbNestedBoxes h4, .cbNestedBoxes p{
    color:white;
  }
  .cbNestedBoxes h3{
    font-size: 79px;
    font-weight:600;
  }
  .cbNestedBoxes h4{
    font-size: 39px;
    font-weight:600;
    border-bottom: 2px solid white
  }
  .cbNestedBoxes p{
    font-size: 24px;
  }
  .cbNestedBoxes,.nestedInnerOne,.nestedInnerTwo{
    padding:30px 25px;
    border-radius:1.57rem
  }
  .nestedInnerThree{
     border-radius:1.57rem;
    padding:5px;
  }
  .nestedInnerLoop{
    border-radius: 1.57rem;
    padding: 50px;
    border: 3px solid #004fff;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;

  }
  .cbNestedBoxes{
    background-color:#b0c8ff;
    max-width: 600px;
  }
  .nestedInnerOne{
    background-color:#7fa7ff;
  }
  .nestedInnerTwo{
    background-color:#004fff;
  }
  .nestedInnerThree{
  	background-color:#7a9aff;
  }

  @media only screen and (max-width: 1200px) {
  .crazyBoxesContainer{
    flex-direction:column;
    flex-wrap:wrap;
    align-items:center;
    display: block;
  }
    .cbLeft, .cbRight{
    align-items:center;
  }

}
   @media only screen and (max-width: 650px) {
   .cbNestedBoxes h3{
    font-size: 39px;

  }
  .cbNestedBoxes h4{
    font-size: 22px;

  }
  .cbNestedBoxes p{
    font-size: 18px;
  }
      .cbBorderBox2 h3 {
    font-size: 39px;
    line-height: 43px;
}
     .cbNestedBoxes,
      .nestedInnerOne,
      .nestedInnerTwo,
     .nestedInnerThree{
       padding:10px
     }
     .nestedInnerLoop{
       padding:20px;
       align-items: flex-start
     }
  .cbBorderBox2 h3 div {
    font-size: 79px;
    line-height: 83px;
}
     .cbBorderBox2 {

    min-height: 233.59px;
       max-width: unset; 
    width: 100%;

}
     .stringyBox{
        padding-bottom: 20px;
       max-width: unset;
     }

}
</style>
<div class="crazyBoxesContainer">
  <div class="cbLeft">
    <div class="cbBorderBox2">
        <h3 class="animate-on-scroll animate1">
          <div>
            4GB
          </div>
          Memory 
      </h3>
    </div>
    <div class="stringyBox">
      <div class="stringyTextContainer">
        <h3 class="animate-on-scroll animate1">
          IP65 Rated
        </h3>
        <p class="animate-on-scroll animate1">
          An all-weather capable GPS device, designed to function in the
wettest or driest conditions
        </p> 
      </div>
      <img decoding="async" loading="lazy" src="/wp-content/uploads/2024/03/Waterproof.svg" width="500" alt="ip65 rated background" />
    </div>
  </div>
  <div class="cbRight">
    <div class="cbNestedBoxes">
      <div class="nestedInnerOne">
        <div class="nestedInnerTwo">
          <div class="nestedInnerThree">
            <div class="nestedInnerLoop">
<h3>
            No Fuss,<br />
            No Worry
          </h3>
          <h4>
            Constantly Logging Your Data
          </h4>
          <p>
						The Aim MXq  offers comprehensive data display and logging capabilities directly from your vehicle         </p> 
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="cbBorderBox">
      <h3 class="animate-on-scroll animate1" style="max-width: 350px; margin-bottom:20px;">
        Idestructible Chassis
      </h3>
      <p>
        Made from glass ﬁbre reinforced nylon
      </p> 
      <img decoding="async" src="/wp-content/uploads/2024/04/Asset-246.svg" width="200" height="auto" alt="idestructible chassis icon" />
    </div>
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_46">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .mychronCard{
    max-width: 1000px;
    width: 100%;
    border-radius:0.75rem;
    transition:all 0.7s ease;
    filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
    margin: 0 auto;
    position:relative;
    margin-bottom:30px;
    overflow:hidden;
  }
  .mychronCard p{
    font-size: 18px;
    color:white;
  }
  .mychronCard1{
    background-image: radial-gradient(farthest-side at 73% 58%, #008707, #000000);
  }
  .mychronCard2{
    background-image: radial-gradient(farthest-side at 27% 28%, #ce0d00, #000000);
  }
  .boxMask{
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-image: radial-gradient(farthest-side at 32% 39%, transparent 80%, #000000);
  }
   .maskBlue{
     position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 44%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 55%, rgba(0,0,0,1) 100%);
  
  }
  .btnContainer{
    display:flex;
    gap:15px;
    margin-top: 50px;
  }
  .siteButton {
    background-color: #0066FF;
    border-radius: 2rem;
    padding: 2.5px 20px;
    color: white;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: normal;
}
  .infoCont{
    position:absolute;
    top:50px;
    left:50px;
  }
   .infoCont2{
    position:relative;
    top:50px;
    left:50px;
  }
  .mychronFlex{
    display:flex
  }
  @media only screen and (max-width: 600px) {
    .mychronMainImage{
      margin-top: 150px
    }
    .mychronLogo{
      width: 90%;
    }
    .mychronLogo2{
      width: 60%;
    }
}
    @media only screen and (max-width: 870px) {
      .mychronFlex{
        flex-direction:column;
      }
      .mychronMainImageexp{
        margin-left:-50px;
        margin-bottom:50px;
      }
}
  
  
  .changeImageBox{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
  }
  .colorBtnsContainer{
    height: 33.3%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
  }
  .colorBtn{
    border-radius:100%;
    height:15px;
    width:15px;
    background-color:white;
    cursor:pointer;
    transition:all 0.7s ease;
    filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));


  }
  .colorBtn.activecol{
    transform:scale(1.5);

  }
  .activecol::after{
    content: "f077";
        font-family: "Font Awesome 5 Free";
    font-weight: 900;
    padding-top: 15px;
    font-size: 10px;
    display: inline-block;
    cursor: pointer;
    justify-content: center;
    display: flex;
    width: 100%;
  }

  .DisplaysContainer{
    max-width: 720px;
    margin: 100px auto;
    margin-bottom:20px;
    
  }
  .DisplaysContainer p{
    font-size: 18px;
    line-height: 22px;
    text-align: center;
  }
  .DisplaysContainer h2{
    font-size: 78px;
    line-height: 82px;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center;
}

 
.containerAim {
  display: flex;
  flex-direction: column;
  align-items:center;
  gap: 30px;
  max-width: 1000px;
  width: 100%;
  margin:0 auto;
}

.top-box, .box {
  display: flex;
  width:100%;
  border-radius:0.75rem;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  background-color:#F3F3F3;
  
}
  .top-box{
  align-items:center;
  }
.top-box video {
  width: 50%; /* Adjust based on your preference */
}
  .box img{
    width: 100%;
  }
  .box h2, .box p, .text h2, .text p {
    text-align:center;
  }
  .box h2,.text h2{
    font-weight:600;
    font-size:39px;
    line-height: 43px;
  }
  .box p, .text p{
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .box h3{
    font-size: 15px;
  }

.text, .box {
  flex: 1;
  padding:30px;
}
  .box2{
    padding:0 !important;
    overflow:hidden;
  }
  .top-box{
    gap: 30px;
    overflow:hidden;
  }
  .box{
    justify-content: space-between;
    align-items:center;
flex-direction:column;
  }

.bottom {
  display: flex;
  gap: 30px;
  max-width: 1000px;
    width: 100%;
}

.left-column, .right-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 50%;
}

/* Adjust heights for the right column boxes if needed */
.right-column .box:nth-child(1) {
  /* height: 200px; */ /* Example height */
}

.right-column .box:nth-child(2) {
  /* height: 300px; */ /* Different height */
}

  .imageCont img{
    width:100%;
    margin-top: 50px;
  }
  .mb-100{
    margin-bottom:100px;
    margin-top: 150px;
  }
  .noIconBox{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:0;
    margin-top: -15%;
  }
  .noIcon{
    position:absolute;
    z-index:0
  }
   .getHeight{
   justify-content:space-between;
  }
   .sensorImg{
    width:100%; height:auto; bottom:50px; position:relative
  }
  @media only screen and (max-width: 650px){
    .DisplaysContainer h2 {
        font-size: 39px;
        line-height: 43px;
    }
  }
@media (max-width: 768px) {
  .bottom {
    flex-direction: column;
  }
  .top-box{
    flex-direction: column-reverse;
  }
  .sensorImg{
    bottom:0px
  }
  .box h2,.text h2{
  	margin-bottom:20px;
  }
  .top-box img {
    width: 100%;
    align-items:flex-start;
  }
  .left-column, .right-column {
  width: 100%;
}
  .top-box video,.box img {
  width: 100%; /* Adjust based on your preference */
}
  .mb-100 {
    margin-bottom: 50px;
    margin-top: 100px;
}
}

</style>

<div id="generate-stp" class="DisplaysContainer mb-100">
  <h2 class="animate-on-scroll animate1">
    Choose What <br /> Works For You
  </h2>
</div>

<div class="containerAim">
  <div class="top-box">
    <video playsinline autoplay muted loop src="/wp-content/uploads/2025/10/mxq_alarms-optimised.mp4" ></video>
    <div class="text">
      <h2 class="animate-on-scroll animate1">Flexible Alarms</h2>
      <p class="animate-on-scroll animate1">Customise your RGB alarm LEDs, choosing colour and conditions to match your preferences. Set alarms with a variety of ﬂashing options and prioritise them as you see ﬁt</p> 
    </div>
  </div>
  <div class="bottom">
    <div class="left-column">
      <div class="box">
        <div class="changeImageBox">
           <img loading="lazy" decoding="async" style="position:absolute" id="backLightImageChange" src="/wp-content/uploads/2024/04/Asset-290.webp" width="495" height="349" alt="mychron backlight screen" />
          <img decoding="async" loading="lazy"  src="/wp-content/uploads/2025/10/mxq_backlightcolour_body.webp" width="495" height="349" alt="mychron Icons" />
         
         </div>
        <h2 class="animate-on-scroll animate1" style="margin-top: 20px;">Back light</h2>
        <p class="animate-on-scroll animate1">Choose out of eight colours</p> 
        <div class="colorBtnsContainer">
          <div class="colorBtn" style="background-color:grey"></div>
          <div class="colorBtn" style="background-color:blue"></div>
          <div class="colorBtn activecol" style="background-color:skyblue"></div>
          <div class="colorBtn" style="background-color:green"></div>
          <div class="colorBtn" style="background-color:yellow"></div>
          <div class="colorBtn" style="background-color:red"></div>
          <div class="colorBtn" style="background-color:pink"></div>
          <div class="colorBtn" style="background-color:purple"></div>
        </div>
      </div>
      <div class="box getHeight box2">
       <div class="text">
         <h2 class="animate-on-scroll animate1">Pre-Configured <br /> Pages</h2>
        <p class="animate-on-scroll animate1">Toggle through multiple data display layouts and choose how you like to see your data</p> 
        </div>
            <img decoding="async" loading="lazy"  style="z-index:2; position:relative; padding: 30px; padding-bottom: 60px" src="/wp-content/uploads/2024/05/Asset-330.svg" width="495" height="345" alt="mychron pre-configured pages" />

      </div>
    </div>
    <div class="right-column">
      <div class="box" style="padding:0; overflow:hidden">
        <div style="padding:30px;">
                    <h2 class="animate-on-scroll animate1">Integrate Shift<br /> Light Array</h2>
        <p class="animate-on-scroll animate1">Tailor your shift light sequences with an array of RGB patterns, even assigning different colours for each gear shift</p> 
        </div>
        
<video src="/wp-content/uploads/2024/04/Mychron-5-RPM-Ani.mp4" playsinline autoplay muted loop width="100%" height="auto" ></video>
       
      </div>
     <div class="box" style="padding:0; overflow:hidden">
        <div style="padding:30px;">
          <h2 class="animate-on-scroll animate1">Delta Times</h2>
        <p class="animate-on-scroll animate1">Delta Times provides instant feedback on your performance, showing how your current timing compares to your best</p> 
        </div>
        
<video src="/wp-content/uploads/2024/05/Mychron-5_Deltas-Ani.mp4" playsinline autoplay muted loop width="100%" height="auto"></video>
       
      </div>
      <div class="box getHeight box2">
        <div class="text">
        <h2 class="animate-on-scroll animate1">Data Recall</h2>
        <p class="animate-on-scroll animate1">At the end of your test, quickly review all the key information on your display</p> 
        </div>
        <img decoding="async" style="    width: 200px;
    padding-bottom: 50px;" loading="lazy"  style="z-index:2; position:relative" src="/wp-content/uploads/2024/05/Asset-329.svg" width="250" height="auto" alt="mychron Data recall icon" />
    
      </div>
    </div>
  </div>
</div>

<script>
const backLightImages = [
  "/wp-content/uploads/2024/05/Asset-335.webp",
  "/wp-content/uploads/2024/05/Asset-333.webp",
  "/wp-content/uploads/2024/05/Asset-332.webp",
  "/wp-content/uploads/2024/05/Asset-334.webp",
  "/wp-content/uploads/2024/05/Asset-336.webp",
  "/wp-content/uploads/2024/05/Asset-338.webp",
  "/wp-content/uploads/2024/05/Asset-337.webp",
  "/wp-content/uploads/2024/10/Asset-354.webp",
];
  
  const imgToChange = document.getElementById('backLightImageChange');
	const colorButtons = document.querySelectorAll('.colorBtn');

	const changeScreen = index => {
  // Update the image based on the selected color button
  imgToChange.src = backLightImages[index];

  // Remove 'active' class from all color buttons
  colorButtons.forEach(btn => btn.classList.remove('activecol'));

  // Add 'active' class to the clicked color button
  colorButtons[index].classList.add('activecol');
}

// Initialize event listeners for all color buttons
colorButtons.forEach((btn, index) => {
  btn.addEventListener('click', () => changeScreen(index));
});
</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_47">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .waveyContainer{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
   	padding-bottom:130px;
    margin-top: 350px;
    z-index: 0
  }

  .floatyBottom{
  position:absolute;
    bottom:0;
    min-width: 1920px;
    z-index:1;

  }
  .floatyBottom2{
    position:absolute;
    bottom:30px;
    min-width: 1920px;
    z-index:2;

  }

  .waveyTextCont{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    z-index: 1;
    position:relative;
  }
  .waveyTextCont h4{
    margin-top: 20px;
  }
  @media only screen and (max-width: 1160px) {
  .waveyContainer{

    margin-top: 150px;

  }
}
   @media only screen and (max-width: 675px) {
  .waveyContainer{

    margin-top: 150px;

  }
}



</style>

<div class="waveyContainer">
    <img decoding="async" class="floatyBottom" src="/wp-content/uploads/2024/02/Config-Screens-Black-Mask-1.svg" width="100%" height="auto" alt="" />
    <img decoding="async" class="floatyBottom2" src="/wp-content/uploads/2024/02/Config-Screens-Lines-1.svg" width="100%" height="auto" alt="" />
</div></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_45 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_48 fade-section">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .fade-section {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
    will-change: opacity, transform;
}

.fade-section.visible {
    opacity: 1;
    transform: translateY(0);
}
  .analogSensorContainer{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 50px;
    align-items: center;
    padding-top: 100px;
  }

  .analogDropDown{
    margin: 10px 0;
    
  }
  .analogInnerBox{
    max-width:50%;
  }
  .textWidth{
    display:flex;
    flex-direction:column;
    aling-items:center;
    max-width: 30%;
  }
	 .analogDropDown h3{
    font-size: 18px;
    display:flex;
    justify-content: space-between;
    align-items:center;
    cursor:pointer;
     color:white;
    
  }
  .analogDropDown p{
    font-size: 18px !important;
    padding-right: 30px;
    transition: height 0.5s ease;
    color:white;
  }
  .analogDropDown img{
    filter: invert(1);
  }
  .analogInnerBox h2, .analogInnerBox p{
    color:white;
  }
  .analogInnerBox h2{
    font-size: 39px;
    font-weight:600;
    margin-bottom:15px;
    margin-top: 5px;
  }
  .analogInnerBox p{
    font-size: 18px;
    line-height: 22px;
  }
  .analogInnerBox hr{
    color:white;
    width: 100%;
  }
  @media only screen and (max-width: 850px) {
    .analogSensorContainer{
        flex-direction:column;
      align-items:center;
      
      }
    .analogInnerBox{
    max-width:100%;
  }
}
  
</style>
<div class="analogSensorContainer">
  <div class="analogInnerBox textWidth  textcenter">
    <hr>
    <h2>
      Analogue And Digital Inputs
    </h2>

    <div class="analogDropDown">
      <p>
       The MXq has 1 fully configurable
analogue input and 1 digital input (1 low
level coil RPM input, 0-5 V square wave).
      </p> 
    </div>
   
  </div>
   <div class="analogInnerBox">
		<img decoding="async" loading="lazy" src="/wp-content/uploads/2025/10/mxq_backdark.webp" width="667px" height="637px" alt="Connections &#038; Expansions" />
  </div>
</div>

</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_49 fade-section">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .analogSensorContainer2{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 50px;
    align-items: center;
    padding: 100px 0;
    
    
  }
   .analogInnerBox2{
    min-width:50%;
     display:flex;
     justify-content:center;
  }

  @media only screen and (max-width: 850px) {
    .analogSensorContainer2{
        flex-direction:column;
      align-items:center;
      
      }
     .analogInnerBox2{
    max-width:100%;
  }
    .textcenter {

    align-items: center;
      text-align:center
    }
  }
  
</style>
<div class="analogSensorContainer2">
  <div class="analogInnerBox textWidth textcenter">
    <hr>
    <h2>
      Transfer data fast
    </h2>

   <p>
     Simplify wireless data transfer with a
secure 802.11 Wi-Fi connection, allowing
for remote calibration and configuration
up to 50 meters away.
    </p> 
   <a style="margin-top: 30px; width: fit-content" class="siteButton" href="/aim-gps09-module/">Learn More</a>
  </div>
   <div class="analogInnerBox2">
		<img decoding="async" loading="lazy" src="/wp-content/uploads/2024/04/Wifi-Icon_1.svg" width="200" height="200" alt="Connections &#038; Expansions" />
  </div>
</div>
</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_50">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .learn-more-btn {
    display: inline-block;
    background-color: #0066FF;
    color: white;
    padding: 5px 20px;
    text-decoration: none;
    border-radius: 20px;
    margin-top: 20px;
    font-size: 14px !important;
}
  .linksContainer{
    display:flex;
    gap:30px;
    justify-content:center;
    padding-top: 50px;
  }
  .single .post {
   
   padding-bottom:0;
}
  #left-area {
    padding-bottom:0;
}
  .animate1 {
    transition: all 0.7s ease;
    transform: translatey(50px);
    opacity: 0;
  }

  .raceStudio3Container {
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 650px; 
    padding-bottom:100px;
  }

  .quote {
    margin: 50px 0;
  }

  .raceStudio3Container p,
  .quote p {
    font-size: 24px;
    line-height: 28px;
    color: white;
    text-align: center;
    max-width: 740px;
  }

  .quote p {
    font-size: 48px;
    line-height: 53px;
    font-weight: 600;
    color: white;
  }

  .quote p span {
    font-size: 18px !important;
  }

  .laptopContainer {
    justify-content: center;
    margin-top: 100px;
    position: relative;
    display: flex;
    justify-content: center;
    max-height: 800px;
    transform: translatey(200px);
    overflow: hidden;
    transition: transform 1s ease;
  }

  .laptopContainer img {
    position: relative;
    top: 0;
  }

  .laptopContainer .abso {
    position: absolute;
    top: 0;
  }

  .rsa_laptop {
    transition: all 1s ease;
  }
  .laptopContainer:after {
      content: "";
      position: absolute;
      z-index: 1;
      bottom: 0;
      left: 0;
      pointer-events: none;
      background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 90%);
      width: 100%;
      height: 8em;
    }

  @media (max-width: 768px) {
    .laptopContainer {
      min-width: 120%;
      
    }
    .raceStudio3Container .quote p {
      font-size:24px;
      line-height: 28px
    }
    .laptopContainer img, .laptopContainer video {
      min-width: 110%;
    }
    .raceStudio3Container{
      padding-top: 280px; 
    }
    .raceStudio3Container p{
      font-size: 18px;
      line-height:22px;
    } 
  }
  @media (max-width: 600px){
      .laptopContainer:after {
      height: 18em;
    }
    .raceStudio3Container {
      padding-top: 280px; 
    }
  }
  .rsaLogo{
      -webkit-filter: drop-shadow(5px 5px 5px #222);
  filter: drop-shadow(5px 5px 5px #222);
  }
</style>
<div style="position:relative; display:flex; justify-content:center;" class="rsaOuterContainer">
<div  class="raceStudio3Container">
  <img decoding="async" loading="lazy" class="animate-on-scroll animate1 rsaLogo" src="/wp-content/uploads/2024/07/RSA3-White-Red-Logo.svg" height="147px" width="345px" alt="" />
  
  <div class="quote animate-on-scroll animate1">
    <p>
      "If you can’t explain it simply, you dont
understand it well enough.” <br /> <span>Albert Einstein</span>
    </p> 
  </div>
  <p class="animate-on-scroll animate1">
    Utilise Race Studio 3 to manage configurations, access a vast track library, and analyse
performance with video support.
  </p> 
   <div class="linksContainer animate-on-scroll animate1">
       <a href="/support/downloads/software-downloads/" target="_blank" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fas fa-download"></i> Download</div></a>
      <a href="/support/downloads/software-downloads/race-studio-3/" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fa-solid fa-arrow-right"></i> Learn More</div></a>

    </div>
</div>
<div style="position:absolute; top: 0; z-index: -1; MARGIN-TOP:0;" class="animate-on-scroll laptopContainer">
    <img decoding="async" loading="lazy" style="opacity:0" id="rsa_screen2" class="rsa_laptop " src="/wp-content/uploads/2024/01/Screen.webp" height="1089px" width="1201px" alt="" />

  <video id="videoToPlay" src="" class="rsa_laptop abso" width="1207px" height="auto" preload="none"  playsinline muted loop ></video>
 <!-- <img decoding="async" loading="lazy" id="rsa_screen" class="rsa_laptop abso" src="/wp-content/uploads/2024/01/Screen.webp" height="1089px" width="1201px" alt="" /> -->
  <img decoding="async" loading="lazy" id="rsa_black" class="abso rsa_laptop rsa_off animate-on-scroll" src="/wp-content/uploads/2024/01/black-bits-02.webp" height="1089px"  width="1201px" alt="" />
  <img decoding="async" loading="lazy" id="rsa_laptop" class="abso rsa_laptop" src="/wp-content/uploads/2024/07/Laptop-Front-Perspective_Dark_Compressed-0-00-00-03.png" height="1089px" width="1201px" alt="" style="z-index:1" />

</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
  const referrer = document.referrer;
  const videoContainer = document.querySelector('.laptopContainer');
  
  if (videoContainer) {
    const video = videoContainer.querySelector('video');
    
    if (video) {
      let videoSrc = '/wp-content/uploads/2024/09/RSA3_car_black.mp4'; // Default video

      if (referrer.includes("bike")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_bike_black.mp4';
      } if (referrer.includes("kart")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_kart_black.mp4';
      } if (referrer.includes("motocross")) {
        videoSrc = '/wp-content/uploads/2024/09/RSA3_downhill_black.mp4';
      }

      video.src = videoSrc;
    }
  }
});
</script></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_51">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .siteButton{
    background-color: #0066FF;
    border-radius: 2rem;
    padding: 5px 15px;
    color: white;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: normal;
  }
  .gpsCont1{
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    border-radius:3.5rem;
    padding: 15px;
    position:relative;
    box-shadow: 0 0 4px 3px #0066FF;  
  }
  .gpsCont2{
    border-radius:3.5rem;
    padding: 25px;
    box-shadow: 0 0 8px 3px #0066FF; 
  }
  .gpsCont3{
    border-radius:2.5rem;
    border: px solid #0066FF;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    box-shadow: 0 0 14px 8px #0066FF; 
    overflow:hidden;
  }
  .gpsCont2, .gpsCont3 {
    width: 100%;
    height: 100%;
        justify-content: space-between;
  }
  .gpsCont3 video{
    position:relative;
    bottom:0;
    justify-self:end;
  }
  .gpsCont3 h3{
    padding-left: 30px;
    padding-right:30px;
    text-align:center;
    font-size: 38px;
    font-weight:600;
    color:white;
    margin-bottom: 2%
  }
  .gpsCont3 p{
    font-size: 18px;
    padding-left: 30px;
    padding-right:30px;
    color:white;
    text-align:center
  }
  .gpsCont3 img {
    max-width: 400px;
    margin: 30px 30px;
  }
  .gpsCont3 a{
    position:absolute;
    bottom: 30px;
  }
  .gpsCont3 h3 span{
    color:#0066FF;
  }
  
  @media only screen and (max-width: 600px){
    .gpsCont3 h3{
			font-size: 22px;
  }
    .gpsCont3 h3 br{
			display:none;
  }
  .gpsCont3 p{

  }
    .gpsCont3 a{
    position:unset;
  }
        .gpsCont3 video {
      object-fit: cover;
    height: 100%;
    width: 100%;
    margin-bottom: -101px;
    position: absolute;
    z-index: -1;
    }
    .gpsCont3 a {
        margin-bottom: 50px;
    }
    .gpsCont1, .gpsCont2{

    padding: 0px !important;
    box-shadow: unset !important;
}
  }

</style>
<div class="gpsCont1 gpsBorder">
  <div class="gpsCont2 gpsBorder">
    <div class="gpsCont3 gpsBorder">
      <img decoding="async" loading="lazy" src="/wp-content/uploads/2024/04/GPS09-Logo.svg" />
      <h3>
        Now Sampling at <span>25Hz,</span><br /> showing <span>Delta times</span> and more...
      </h3>
      <p>
        All you need to know about how your data works.
      </p> 
         <a style="margin-top: 30px; width: fit-content; z-index:10" class="siteButton" href="/aim-gps09-module/">Learn More</a>

     <video preload="none" src="/wp-content/uploads/2024/04/Hz-Animation-With-Text-Cropped-To-Box.mp4"
            playsinline autoplay muted loop></video>
    </div>
  </div> 
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_52">
				
				
				
				
				<div class="et_pb_code_inner"><script>
	function setupScrollAnimationObserver() {
    const observer = new IntersectionObserver((entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
              if (entry.target.classList.contains('animate1')) {

                      let timer = setTimeout(() =>{
                          entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatey(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('animate2')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translate(0,0)';
                        observer.unobserve(entry.target); 
                      },400);
                }
              if (entry.target.classList.contains('animate3')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'scale(1)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('rsa_off')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '0';
                        observer.unobserve(entry.target); 
                      },500);
                }
              if (entry.target.classList.contains('rsa_on')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        observer.unobserve(entry.target); 
                      },500);
                }
          if (entry.target.classList.contains('imageEnter1')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.top = '0px';
                        observer.unobserve(entry.target); 
                      },500);
                }
           if (entry.target.classList.contains('imageEnter2')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translate(0,0) scale(1.2)';
                        observer.unobserve(entry.target); 
                      },500);
                }
            if (entry.target.classList.contains('laptopContainer')) {
											document.getElementById('videoToPlay').play();
                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translate(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
                       
        	}
        });
    }, {
        threshold: 0.1
    });

    document.querySelectorAll('.animate-on-scroll').forEach(el => {
        observer.observe(el);
    });
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_46 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_53">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .artPerf {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: clamp(100px, 10vw, 200px);
  }

  .artPerf h2 {
    font-size: 79px;
    line-height: 83px;
    margin-bottom: 10px;
    max-width: 700px;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 600;
  }

  .artPerf p {
    font-size: 24px;
    line-height: 28px;
    max-width: 900px;
    text-align: center;
    margin-bottom: 50px;
  }

  .squeeze-text {
    display: inline-block;
    white-space: nowrap;
    transition: transform 2s;
    transform-origin: center;
  }

  .squeeze-wrapper {
    transition: all 2s ease;
    white-space: nowrap;
  }

  .squeeze {
    transform: scaleX(1.5);
  }

  .normal-size {
    transform: scaleX(1);
  }

  .translate {
    transform: translateX(0);
  }

  @media only screen and (max-width: 650px) {
    .artPerf h2 {
      font-size: 39px;
      line-height: 43px;
    }

    .artPerf p {
      font-size: 18px;
      line-height: 22px;
    }
  }
</style>

<div class="artPerf">
  <h2>
    <div>
      <span class="squeeze-text">Expand</span>
    </div>
    <div class="squeeze-wrapper">
      Your System
    </div>
  </h2>
  <p class="animate-on-scroll animate1"  id="expandSection">
    Enhance the functionality, performance and reliability of your Aim MXq data logger with our range of expansions - designed to increase the range and depth of data collection and analysis.
  </p> 
</div>

<script>
  document.addEventListener('DOMContentLoaded', function () {
    const target = document.querySelector('.squeeze-text');
    const wrapper = document.querySelector('.squeeze-wrapper');

    const observer = new IntersectionObserver((entries, observer) => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          entry.target.classList.add('squeeze');
          wrapper.classList.add('translate');
          entry.target.addEventListener('transitionend', () => {
     
              entry.target.classList.remove('squeeze');
              entry.target.classList.add('normal-size');
       
          }, { once: true });
          observer.unobserve(entry.target);
        } else {
          entry.target.classList.remove('squeeze');
          entry.target.classList.remove('normal-size');
          wrapper.classList.remove('translate');
        }
      });
    }, {
      threshold: [0, 0.5, 1]
    });

    observer.observe(target);
  });
</script>
</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_54">
				
				
				
				
				<div class="et_pb_code_inner"><style>
.et_pb_section_5.et_pb_section {
    padding-right: 0px !important;
    padding-left: 0px !important;
}
</style>
<style>
  /* Ensure the swiper container is wide enough */
  .swiper-wrapper{
    width: 400px !important;
  }

    .expandSystem .heroSlider-Slide {
    max-width:90vw;
  width: 400px ;
    overflow: hidden;height:520px;
    border-radius: 0.75rem;
    box-shadow: 2px 4px 12px #00000014;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction:column;
    justify-content:space-between;
    padding-bottom: 30px;
  }

    .expandSystem .slider-main-image {
	width: 400px;
    max-width:90vw;
    height: 400px;
    margin-bottom:20px;
  }

  .slide-text-container {

    padding: 30px;
  }

  .slider-logo-image {
    height: auto;
    width: 150px;
  }

  .heroSlider-Slide p {
    font-size: 16px;
    line-height:20px;
    color: white;
  }

  .expandSystem .splide__slide {
    transition: all 0.3s ease;
    max-width:90vw;
    width: 400px ;
    height:520px;
  }

  .expandSystem .splide__slide:hover {
    transform: scale(1.03);
  }
  .expandSystem .splide__slide{
    margin-right: 20px !important;
    margin-top: 10px !important;
  }
  .expandSystem .splide__pagination {
    bottom: unset !important;

}
  .pageSectionTitle{
    font-size: 30px; font-weight: 600;
  }
  .splideWrap{
    max-width: fit-content; margin:0 auto
  }
  @media only screen and (max-width: 787px)
  {
      .splideWrap{
    max-width: unset;
    margin:unset
  }
.pageSectionTitle {
    font-size: 28px;
}

  }
  .slider-logo-image{
    max-width:119px;
  }
  .slide-text-container h3{
    font-size: 29px;
    font-weight:bold
  }
  .slide-text-container h3 span{
    color:black;
  }
  .expandSystem .splide__pagination__page {
    background: #ccc;
    height: 15px;
    width: 15px;
}
  .expandSystem .splide__pagination__page.is-active {
    background: #0066FF;

}
  .font-black div p, .font-black div h3{
    color:black
  }
  .font-white div p, .font-white div h3{
    color:white !important;
  }
  .font-black{
    background-color:white;
  }
  .font-white{
    background-color:black;
  }
  .twoLine{
    margin-top: -20px;
  }
   .expandSystem .shopBg{
    background: linear-gradient(0deg, #d8e9ff 0%, #d8e9ff 38%, #ffffff 100%);

  }
   .expandSystem .ecuBg{
    background: linear-gradient(0deg, #d2d2d2 0%, #d2d2d2 34%, #ffffff 100%);
}

/* Support Gradient */
  .expandSystem .supportBg {
    background: linear-gradient(0deg, #d2d2d2 0%, #d2d2d2 34%, #ffffff 100%);
}
</style>
<div class="splideWrap">
  <section class="splide expandSystem">
  <div class="splide__track">
		<ul class="splide__list" id="itsme2">

		</ul>
  </div>
</section>
</div>

<script>
	// New filter object
const newFilter = {
    EXPANSIONS: [
        'solo2dl', 'MYCHRON5S2T', 'mxm', 'evo', 'mxStrada', 'mxSeries', 'log', 'sw4', 'pdm', 'MYCHRON5S', 'MXPS'
    ],
    CAMERAS: [
        'solo2dl', 'MYCHRON5S2T', 'mxm', 'evo', 'mxStrada', 'mxSeries', 'log', 'sw4', 'pdm', 'MYCHRON5S', 'MXPS'
    ],
    MOUNTS: [
        'mxm', 'mxStrada', 'mxSeries', 'log', 'evo', 'sw4', 'pdm', 'MXPS'
    ],
    SENSORS: [
        'solo2dl', 'MYCHRON5S2T', 'mxm', 'evo', 'mxStrada', 'mxSeries', 'log', 'sw4', 'pdm', 'MYCHRON5S', 'MXPS'
    ]
};

const device = "mxm";
const returnUrl = "/aim-mxm/";

const slides3 = [
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "U Bolt, Roll Cage, Suction and more",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=MOUNTS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-9Expansions.webp",
        containerClass: "font-black ",
        imageClass: "",
        titleOne: 'MOUNTS',
        titleTwo: 'Anywhere, Anytime',
        alt: "aim support",
        category: "MOUNTS"
    },
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "Datalogging cameras designed for motorsport",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=CAMERAS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-10Expansions.webp",
        containerClass: "font-white",
        imageClass: "twoLine",
        titleOne: 'CAMERAS',
        titleTwo: 'SmartyCam 3 Range',
        alt: "race studio 3",
        category: "CAMERAS"
    },
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "Keypads & data hubs expand data collection",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=EXPANSIONS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-14Expansion_boxes.webp",
        containerClass: "font-black",
        imageClass: "twoLine",
        titleOne: 'EXPANSIONS',
        titleTwo: 'Expand Your System',
        alt: "aim academy",
        category: "EXPANSIONS"
    },
    {
        iconImage: "",
        iconHeight: "56px",
        iconWidth: "136px",
        subTitle: "Sensors optimise safety & efficiency",
        link: `/expand-your-system/?returnUrl=${returnUrl}&category=SENSORS&device=${device}`,
        image: "/wp-content/uploads/2024/09/Asset-13Expansion_boxes.webp",
        containerClass: "font-black",
        imageClass: "twoLine",
        titleOne: 'SENSORS',
        titleTwo: 'Vehicle Monitoring',
        alt: "aim shop",
        category: "SENSORS"
    },
];

addEventListener("DOMContentLoaded", () => {
    function initializeSlickCarousel2() {
          window.removeEventListener('click', initializeSlickCarousel2);
    window.removeEventListener('scroll', initializeSlickCarousel2);
    window.removeEventListener('keydown', initializeSlickCarousel2);
        const t3 = document.getElementById("itsme2");

        let n3 = "";
        slides3.map((e) => {
            // Only display the slide if the device is present in the relevant category in newFilter
            if (newFilter[e.category].includes(device)) {
                n3 += `
                <li class="splide__slide linky">
                   <a class="slide-container splide__slide" href="${e.link}">
                      <div class="heroSlider-Slide ${e.containerClass}">
                         <div class="slide-text-container" style="align-items:flex-start">
                            <p style="font-size: 14px; text-align:left;">${e.titleOne}</p> 
                            ${ e.iconImage !== '' ? `
                            <img decoding="async" loading="lazy" class="slider-logo-image" src="${e.iconImage }" width="${e.iconWidth}" height="${e.iconHeight}" alt="${e.alt} Title" />` 
                            : `<h3 style="padding-bottom:10px;text-align:left;">${e.titleTwo}</h3>` }
                            <p style="text-align:left;">${e.subTitle}</p> 
                         </div>
                         <img decoding="async" loading="lazy" class="slider-main-image ${e.imageClass}" src="${e.image}" alt="${e.alt}" width="401" height="401" />
                      </div>
                   </a>
                </li>
                `;
            }
        });

        t3.innerHTML = n3;
        try {
            var splide3 = new Splide(".expandSystem", {
                height: "550px",
                snap: true,
                padding: "5rem",
                autoWidth: true,
                pagination: false,
                arrows: false,
                interval: 3000,
                breakpoints: {
                    768: {
                        pagination: true,
                        focus: 'center'
                    },
                },
            });
        } catch (error) {
            t3.innerHTML = error;
        }

        splide3.mount();
    }

    // Add event listeners for first interaction
    window.addEventListener('click', initializeSlickCarousel2);
    window.addEventListener('scroll', initializeSlickCarousel2);
    window.addEventListener('keydown', initializeSlickCarousel2);
});


</script>
</div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_55">
				
				
				
				
				<div class="et_pb_code_inner"><script>  
  document.addEventListener('DOMContentLoaded', () => {
    const sections = document.querySelectorAll('.fade-section');
    // Determine the rootMargin based on screen width
    let rootMarginValue = window.innerWidth > 768 ? '-150px' : '0px';

    const observerOptions = {
        root: null, // Use the viewport as the container
        rootMargin: rootMarginValue, // Adjust based on screen width
        threshold: 0.4
    };

    const observerCallback = (entries, observer) => {
        entries.forEach(entry => {
          

            if (entry.isIntersecting) {
                // Start to fade in as the element starts entering the viewport
                entry.target.classList.add('visible');
            } else  {
                // Start to fade out as the element is fully in view
                entry.target.classList.remove('visible');
            }
        });
    };

    const observer = new IntersectionObserver(observerCallback, observerOptions);

    // Observe each section
    sections.forEach(section => {
        observer.observe(section);
    });
});
</script></div>
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_47 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_56">
				
				
				
				
				<div class="et_pb_code_inner"><style>
#faq {

  padding: 0 15px;
  text-align: center;
}

section.faq {
  padding-top: 2em;
  padding-bottom: 3em;
}

#faq ul {
  text-align: left;
  min-height: 60px;
}
.transition, p, ul li i:before, ul li i:after {
  transition: all 0.3s;
}

#faq .no-select, #faq h2 {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
}

#faq h1 {
  color: #000;
  margin-bottom: 30px;
  margin-top: 0;
}

#faq h2 {
  color: #0066FF;
  font-size: 16px;
  line-height: 14px;
  text-align: left;
  padding: 0 15px;
  text-transform: none;
  font-weight: 300;
  letter-spacing: 1px;
  display: block;
  margin: 0;
  cursor: pointer;
  transition: .2s;
}

#faq div p {
  color: #333;
  text-align: left;
  font-size: 14px;
  line-height: 1.45;
  position: relative;
  overflow: hidden;
  max-height: 1000px;
  will-change: max-height;
  contain: layout;
  display: inline-block;
  opacity: 1;
  transform: translate(0, 0);
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 0 50px 0 15px;
  transition: .3s opacity, .6s max-height;
  hyphens: auto;
  z-index: 2;
}
  #faq p a{
    color:#0066FF
  }

  #faq p i {
    color: #0066FF
  }
#faq ul {
  list-style: none;
  perspective: 900;
  padding: 0;
  margin: 0;
}
#faq ul li {
  position: relative;
  overflow: hidden;
  padding: 0;
  margin: 0;
  width:100%;
  /*padding-bottom: 4px;*/
  /*padding-top: 18px;*/
  background: #fff;
  -webkit-tap-highlight-color: transparent;
}
#faq ul li + li {
  margin-top: 15px;
}
#faq ul li:last-of-type {
  padding-bottom: 0;
}
#faq ul li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 28px;
  right: 15px;
}
#faq ul li i:before, #faq ul li i:after {
  content: "";
  position: absolute;
  background-color: #0066FF;
  width: 3px;
  height: 9px;
}
#faq ul li i:before {
  transform: translate(-2px, 0) rotate(45deg);
}
#faq ul li i:after {
  transform: translate(2px, 0) rotate(-45deg);
}
#faq ul li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  touch-action: manipulation;
}
#faq ul li input[type=checkbox]:checked ~ h2 {
  color: #000;
}
#faq ul li input[type=checkbox]:not(:checked) ~  div {
  /*margin-top: 0;*/
  margin-top: 20px;
  margin-bottom:20px;

  /*transform: translate(0, 50%);*/
}
  #faq ul li div ul{
    margin-left:10px;
  }
#faq ul li input[type=checkbox]:checked ~ div {
  /*margin-top: 0;*/
  margin-top: 20px;
  max-height: 0;
  transition: .3s;
  opacity: 0;
  /*transform: translate(0, 50%);*/
}
#faq ul li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
}
#faq ul li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}
 #faq a,
 #faq a:visited,
#faq a:focus,
#faq a:active,
#faq a:link {
  text-decoration: none;
  outline: 0;
}

#faq a {
  color: currentColor;
  transition: .2s ease-in-out;
}

#faq h1, h2, h3, h4 {
  margin: .3em 0;
}

#faq ul {
  padding: 0;
  list-style: none;
}

#faq img {
  vertical-align: middle;
  height: auto;
  width: 100%;
}
  #mainCont{
      box-shadow: 0 3px 10px -2px rgba(0,0,0,0.1);

  }
</style>

<div id="faq">
  <ul id="mainCont">
    <li>
      <input type="checkbox" checked>
      <i style="height: 43px;"></i>
      <h2>MXq Dash Display Summary</h2>
<div><p>The Aim MXq dash display and data logger provides drivers with important racing data like speed, lap times, RPM and gear selection to optimise their motorsport performance.</p> 
  <ul>
	  <li><strong>Integrated GPS</strong>: Precise 25Hz GPS-based lap timing with data logging capabilities for performance analysis.</li>
    <li><strong>Wireless data transfer</strong>: Supports 802.11 Wi-Fi for quick and secure data downloads and system configuration, without the need for wires.</li>
    <li><strong>High-resolution display</strong>: Crisp, clear graphics with anti-glare technology on a compact display for optimal visibility in various lighting conditions.</li>
  	<li><strong>Durable design</strong>: Made from glass fibre reinforced nylon, the MXq dash display is built for rugged motorsport environments, with a waterproof and shock-resistant casing.</li>
    <li><strong>Usability</strong>: Designed with ease of use in mind, this compact data logger is ideal for any skill level.</li>
  </ul>
    </div>
    </li>
  </ul>
</div></div>
			</div>
				
				
			</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/acc-3-open/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Tue, 14 Oct 2025 15:13:25 +0000</pubDate>
				<category><![CDATA[Products]]></category>
		<category><![CDATA[open]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=289205</guid>

					<description><![CDATA[Extend the data acquisition capabilities of your logger]]></description>
										<content:encoded><![CDATA[
<div class="et_pb_section et_pb_section_48 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_16">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_16  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_44">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: center;
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 30px;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont h1{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-circle-chevron-down{
    display: none;
    cursor:pointer;
    font-size: 24px;
    color:#0066ff !important

  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont h1{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
  @media only screen and (max-width: 750px){
    #mobileMenuCont {
      position:absolute;
      width: 100%;
      left:0;
      right:0;
      flex-direction: column;
      top: 50px;
      backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
      background-color: rgb(236 236 236 / 80%);
      padding: 20px 0;
      transition: all 0.5s ease;
      overflow: hidden;
      height: 0;
      opacity:0;
    }
    .fa-circle-chevron-down{
      display:block;
      transition: all 0.5s ease;
      transform: rotate(0deg);
    }
  }
      .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
    
      .camNav{
    position:fixed; top:0px; left:0; right:0;   display:flex; justify-content:center; align-items:center; height:100vh; max-width:1920px; margin: 0 auto;
    pointer-events: none; /* Allow clicks through this element */

  }
     .leftBtnBox{
       pointer-events:auto;
    position: absolute;
    left: 10px;
    z-index: 10;
    height:35px;
  	width:35px;
    background-color: #00000091;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    color: white;
  }
    .rightBtnBox{
    pointer-events:auto;
    position: absolute;
    right: 10px;
    z-index: 10;
    height:35px;
  	width:35px;
    background-color: #00000091;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    color: white;
  }
  .leftBtnBox, .rightBtnBox{
    cursor:pointer;
    transition: all 0.5s ease;
    font-size: 15px;
  }
    .leftBtnBox:hover, .rightBtnBox:hover{
    transform:scale(1.15)
  }
  @media only screen and (max-width: 600px) {
  .camNav{
    position:fixed; top:102px; left:0; right:0;  display:flex; justify-content:center; height:calc(100vh - 180px)
  }
  }
.hiddenNav {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
 <h1>
   ACC 3 Open
  </h1>
  <div id="Aim_secondMenuOptions">
    <i class="fa-solid fa-circle-chevron-down" id="mobileSubMenuBtn"></i>
    <div id="mobileMenuCont">
    	<a href="/acc-3/" class="inactive">Standard Version</a>
    	<a href="/acc-3-tech-spec/" class="active">Tech Specs</a>
    </div>
    <a class="buyMe" href="https://www.aimshop.com/products/aim-acc-3-open-analogue-can-converter" target="_blank" rel="noopener">
        Buy   
    </a>
  </div>
  </div>
</div>
  	<div class="camNav">
      <a href="/acc-3/" class="leftBtnBox">
        <i class="fa-solid fa-chevron-left"></i>
      </a>
      <a href="/acc-3/" class="rightBtnBox">
        <i class="fa-solid fa-chevron-right"></i>
      </a>
  	</div>
<script>

	document.addEventListener("DOMContentLoaded", function() {
		const mobileMenuBtn = document.getElementById('mobileSubMenuBtn');
    const mobileMenuCont = document.getElementById('mobileMenuCont');
    
    let isMouseOverButton = false;
  	let isMouseOverMenu = false;
  	let isMenuOpen = false;
    
     const setNavContainerHeight = () => {
       if(!isMenuOpen){
        mobileMenuCont.style.height = '170px';
         mobileMenuBtn.style.transform = 'rotate(180deg)'
         mobileMenuCont.style.opacity = '1';
       } else  {
       	mobileMenuCont.style.height = '0';
         mobileMenuBtn.style.transform = 'rotate(0deg)'
        mobileMenuCont.style.opacity = '0';
        }
       isMenuOpen = !isMenuOpen;
    };
    
    mobileMenuBtn.addEventListener("click", (e) => {
      setNavContainerHeight();
    })
            window.addEventListener('scroll', function() {
  const camNav = document.querySelector('.camNav');
  
  if (window.scrollY > 200) {
    camNav.classList.add('hiddenNav');
  } else {
    camNav.classList.remove('hiddenNav');
  }
});
    
});
</script></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div><div class="et_pb_section et_pb_section_49 et_pb_with_background et_pb_fullwidth_section et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_57">
				
				
				
				
				<div class="et_pb_code_inner"> <link rel="preload" href="/wp-content/uploads/2024/05/Asset-63-1-scaled.webp" as="image" />
<style>
  body,html{
    overflow-x:hidden;
  }
   .animate1{
    opacity:0;
    transition:all 0.7s ease;
    transform: translatey(50px);
  }
   .animate2{
     opacity:0;
     transition:all 1s ease;
     transform: translatex(50px);
   }
   .enhanceContainer{
     padding: 100px 0;
     display:flex;
     flex-direction:column;
     align-items:center;
   }
   .enhanceContainer h2{
     font-size: 79px;
     color:white;
     font-weight:600;
     text-align:center;
     max-width: 750px;
     margin-bottom:44px;
   }
   .enhanceContainer p{
     font-size: 24px;
     color:white;
     max-width:800px;
     text-align:center
   }
   .newContainer{
     margin-top:-100px;
     display:flex;
     flex-direction:column;
     align-items:center;
     padding-top: 150px;
     padding-bottom: 50px;
     position:relative;
   }
   .bgColorImg{
     position:absolute;
   }
   .newContainer h2{
     margin-top: 20px;
     font-size:79px;
     font-weight:600;
     color:white;
     max-width: 300px;
     margin-bottom:44px;
     text-align:center
   }
   .newContainer h3{
     margin-top: 100px;
     font-size:42px;
     font-weight:600;
     color:white;
     text-align:center;
    margin-bottom: 22px
   }
   .newContainer p{
     font-size: 24px;
     color:white;
     text-align:center
   }
    @media only screen and (max-width: 782px)  {

     .enhanceContainer p{
         font-size: 18px;
       }
      .newContainer p{
         font-size: 18px;
       }
   .enhanceContainer h2, .newContainer h3{
    font-size: 35px;  
     line-height:39px;
  }



}
</style>


<div class="newContainer">
  <img loading="lazy" decoding="async" priority class="bgColorImg" src="/wp-content/uploads/2024/05/Asset-63-1-scaled.webp" width="2006" height="6691" alt="backgroundImage" />
  <img loading="lazy" decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2025/10/Asset-5.webp" width="550" height="222" alt="new Logo" />
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_58">
				
				
				
				
				<div class="et_pb_code_inner"><style>
.threeImageAnimContainer {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding-top: 100px;
  padding-bottom:100px;
  }
  .threeImageInnerCont{
		min-width:3683px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

.threeImageAnimContainer img {
  height: auto; /* Maintain aspect ratio */
  transition: width 0.3s ease, height 0.3s ease; /* Smooth transition for scaling */
}

.threeImageAnimContainer img:nth-child(1) {
  width: 41.76%; /* Width for Image 1 */
}

.threeImageAnimContainer img:nth-child(2) {
  width: 16.48%; /* Width for Image 2 */
}

.threeImageAnimContainer img:nth-child(3) {
  width: 41.76%; /* Width for Image 3 */
}
  .leftCable{
        transform: translatex(-22%);
    transition:all 1s ease !important;
  }
  .rightCable{
        transform: translatex(22%);
     transition:all 1s ease !important;
  }
  @media (max-width: 1920px) {
  .threeImageInnerCont {
    min-width: calc(100vw * (3683 / 1920));
  }
    .threeImageAnimContainer{
      padding-top: calc(100vw * (100 / 1920));
  		padding-bottom:calc(100vw * (100 / 1920));
    }
}
  

</style>
<div class="threeImageAnimContainer">
  <div class="threeImageInnerCont">
    <img loading="lazy" decoding="async" class="animate-on-scroll leftCable" src="/wp-content/uploads/2024/03/Asset-9-1.webp" width="1538" height="415" alt="Acc2 open" />
    <img loading="lazy" decoding="async" src="https://www.aimtechnologies.com/wp-content/uploads/2025/10/Asset-3.webp" width="607" height="502" alt="Acc2 open" />
    <img loading="lazy" decoding="async" class="animate-on-scroll rightCable" src="/wp-content/uploads/2024/03/Asset-8-1.webp" width="1538" height="415" alt="Acc2 open" />
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_59">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .pocketSizedContainer{
    display:flex;
    margin-top: 100px;
    padding: 0 30px;
		flex-direction: column;
    align-items:center;
    justify-content:center;
    margin-bottom: 50px;
  }
  .pocketSizedContainer h2{
    font-size:78px;
    max-width: 800px;
    text-align:center;
    font-weight:600;
    color:white
    
  }
  .pocketSizedContainer p{
    font-size: 24px;
    line-height: 28px;
    margin-top: 50px;
    margin-bottom:100px;
    color:white
  }
  .infoContainer{
    display:flex;
    width:100%;
  	flex-wrap:wrap;
    max-width: 900px;
    justify-content: space-between;
    gap: 20px;
    margin-bottom:50px;
  }
  .infoItem{
    text-align:center;
    font-size:39px;
    font-weight:600;
    display:flex;
    flex-direction:column;
    color:white;
    align-items:center
  }
  .infoItem div{
    white-space:nowrap;
    margin-top:10px;
    font-size:18px;
    font-weight:500;
    color:#44dc49;
  }
  .perfectShapeContainer h2{
    font-size: 78px;
    max-width: unset;
    font-weight:600;
    margin-bottom:20px;
    color:white
  }
  .perfectShapeContainer p{
    max-width: 480px;
    text-align:center;
    margin: 0 auto;
    margin-bottom:80px;
    font-size: 24px;
    line-height:28px;
    color:white
  }
  .perfectShapeContainer{
    margin-top: 50px;
  }
  .canLarge{
    max-width: 110%;
    width:110%; 
   margin-top: 5%;
    margin-bottom: 5%;
    margin-left: -60px;
  }
  .smallTough h2{
    font-size:78px;
    text-align:center;
    padding-bottom:10px;
    margin-top: 50px;
  }
  .smallTough{
    max-width: 540px;
    text-align:center;
    font-size:29px;
    line-height:32px;
  }
  .smallTough p{
    font-size:24px;
    line-height:28px;
  }
  .largeHand{
       transform:translatex(-30px);

     }

  @media only screen and (max-width: 1000px)  {

   
}
  @media only screen and (max-width: 840px){
    .infoItem{
      flex-basis:100%;
    
    }
    .infoContainer{
      gap:40px;
    }
  }
   @media only screen and (max-width: 782px)  {

     
   .pocketSizedContainer h2{
    font-size: 35px;  
     line-height:39px;
  }
    .pocketSizedContainer p {
    font-size: 18px;   
      padding: 0 20px;
      text-align:center;
      margin-top:20px;
      margin-bottom:40px;
  }
     .largeHand{
  
       margin: 40px 0;
     }
     .perfectShapeContainer p{
			font-size: 18px;
       line-height: 22px;
    	margin-bottom:80px;
  	}
  .smallTough p{
      font-size:18px;
      line-height:22px;
    }
     .infoItem{
       font-size: 24px; 
     }
      .infoItem div{
       font-size: 18px; 
     }
     .infoContainer{
       justify-content:center;
     }
     .canLarge{

     }

}
  .centerText{
    text-align: center;
  }

  
</style>
<div class="pocketSizedContainer">

    
	<h2 class="animate-on-scroll animate1">
    The Compact Aim Analogue CAN Converter
  </h2>
  <p class="centerText animate-on-scroll animate1">
      The ACC 3 Open seamlessly integrates with Aim data loggers, enhancing their <br />
capabilities and enabling better-informed decisions and more efficient 
<br /> monitoring of vehicle performance.
  </p> 

  <div class="infoContainer">
    <div class="infoItem">
      x4
      <div>Analogue Channels</div>
    </div>
    <div class="infoItem">
      PA6
      <div>+30% Glass Reinforced</div>
    </div>
    <div class="infoItem">
      Anodised
      <div>Aluminium</div>
    </div>
    <div class="infoItem">
      IP65
      <div>Rated Waterproof</div>
    </div>
  </div>

     <img decoding="async"  class="canLarge" loading="lazy" src="/wp-content/uploads/2025/10/Asset-2-1.webp" height="1132" width="2381" alt="Acc 2 with harness" />


  <div class="perfectShapeContainer">
    <h2 class="animate-on-scroll animate1">
      Robust Construction
    </h2>
    <p class="animate-on-scroll animate1">
      The Aim Analogue CAN Converter features a rugged
construction built to endure harsh conditions, ensuring
reliability in demanding environments.
    </p> 
    <img decoding="async" loading="lazy" src="/wp-content/uploads/2025/10/Asset-1.webp" height="654" width="1200" alt="Acc 2" />
  </div>
  <div class="smallTough">

  <p class="animate-on-scroll animate1">
    Designed for the demanding environment of rally racing, the ACC 2 typically features a rugged and durable construction to withstand vibrations, impacts, and other challenges encountered during competition.
  </p> 
  </div>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_60">
				
				
				
				
				<div class="et_pb_code_inner"><style>
.et_pb_section_1.et_pb_section {
    padding-right: 0px !important;
    padding-left: 0px !important;
}
  .textContainerWhite2{
    position:static;
    
  }

   .standaloneFWbox{
     max-width: 1025px;
     margin:0 auto;
    display:flex;
     align-items:center;
     flex-direction:row;
  	background-color: #161616;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
     margin-bottom:30px;
  }
  .textLeft{
    text-align:left !important;
  }.extendText{
    max-width: 750px !important;
  }
  .boxTextWhite h3, .boxTextWhite p{
    color:white
  }
  .boxTextWhite{
    padding: 50px;
  }
  .boxTextWhite h3{
    font-weight:600;
    font-size:39px;
  }
  .boxTextWhite p{
    font-size:18px;
  }
  .standaloneFWbox img{
    max-width:50%;
  }
   .linksContainer{
    display:flex;
    gap:30px;
    justify-content:center;
    padding-top: 50px;
  }
  .learn-more-btn{
        background-color: #0066FF;
    border-radius: 2rem;
    padding: 5px 15px;
    color: white;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: normal;
  }
    .rsaImageCont{
    display:flex;
    justify-content:center;
  }
  
   @media (max-width: 940px) {
     .standaloneFWbox{
     flex-direction:column;
  }
     .standaloneFWbox img{
    max-width:100%;
  }
}


</style>
<div class="sectionContainerWhite">
   <div class="standaloneFWbox" style="margin-top:100px;">
    <div class="boxTextWhite">
        <h3 class="textLeft animate-on-scroll animate1">Open Can Network.</h3>   
        <p class="textLeft animate-on-scroll animate1">The open CAN network on the ACC 3
facilitates seamless integration with all devices, allowing for comprehensive data sharing and analysis across the network. Every OPEN device can be connected to a PC via a dedicated USB cable for easy connection</p> 
    </div>
    <img loading="lazy" decoding="async" class="animate-on-scroll animate2" src="/wp-content/uploads/2025/10/Asset-4.webp" alt="open can network" height="482" width="510" />
  </div>
  <div class="standaloneFWbox">
    <div class="boxTextWhite">
        <h3 class="textLeft animate-on-scroll animate1">Compatible with
Aim Solo 2/DL</h3>   
        <p class="textLeft animate-on-scroll animate1">ACC 3 Open seamlessly integrates with the
Aim Solo 2 DL data logger, enhancing its
capabilities for performance monitoring by
providing additional data inputs.</p> 
    </div>
    <img loading="lazy" decoding="async" class="animate-on-scroll animate2" src="/wp-content/uploads/2024/03/Asset-31.webp" alt="compatible with aim solo 2 dl" height="482" width="510" />
  </div>
  <div class="standaloneFWbox">
    <div class="boxTextWhite">
        <h3 class="textLeft animate-on-scroll animate1">Ethernet Control</h3>   
        <p class="textLeft animate-on-scroll animate1">Ethernet control can be used from anywhere around the world as long as you have a connection giving you full control over the data you receive.</p> 
    </div>
    <img loading="lazy" decoding="async" class="animate-on-scroll animate2" src="/wp-content/uploads/2024/05/Asset-62-1.webp" alt="ethernet control" height="532" width="623" />
  </div>
</div>
<style>
	  .linksContainer{
    display:flex;
    gap:30px;
    justify-content:center;
    padding-top: 50px;
    
  }
  .learn-more-btn {
    background-color: #0066FF;
    border-radius: 2rem;
    padding: 5px 15px;
    color: white;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: normal;
  }
  .enhanceContainer{
   display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center
  }
  .enhanceContainer h2{
    margin-top: 50px;
    font-size: 78px;
    font-weight:600;
    color:white;
    margin-bottom:44px;
    max-width: 800px;
  }
  .rsaCont{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .enhanceContainer p{
    font-size: 24px;
    color:white;
    max-width: 830px;
  }
  @media only screen and (max-width: 600px) {
  .enhanceContainer h2{
    font-size: 39px;
  }
  .enhanceContainer p{
    font-size: 18px;
  }
}
</style>
<div class="rsaCont">
<div class="enhanceContainer" style="padding-bottom:50px; ">
    <img decoding="async" class="animate-on-scroll animate1" src="/wp-content/uploads/2024/07/RSA3-White-Red-Logo.svg" width="400" height="auto" alt="race studio 3 logo" style="margin-bottom:50px; margin-top:50px;" />

    <h2 class="animate-on-scroll animate1">
      Configuration with Race Studio 3
    </h2>
    <p class="animate-on-scroll animate1">
       With Race Studio 3 you can create, modify, delete, import and export configurations with all channels, ECU drivers, math channels, Display Pages, Digital outputs, Alarms, Shift Lights and all the expansions you need. You will also be able to manage the map of all your racing tracks and compare two laps watching the video recorded by SmartyCam 3 cameras.
    </p> 
     <div class="linksContainer animate-on-scroll animate1">
       <a href="/support/downloads/software-downloads/" target="_blank" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fas fa-download"></i> Download</div></a>
        <a href="/support/downloads/software-downloads/race-studio-3/" rel="noopener"><div class="learn-more-btn" style="width:fit-content"><i class="fa-solid fa-arrow-right"></i> Learn More</div></a>
    </div>
  </div>
<img loading="lazy" decoding="async" src="/wp-content/uploads/2024/05/Asset-52.webp" style="min-width:700px" width="2114" height="1189" alt="race studio 3"/>
</div></div>
			</div><div class="et_pb_module et_pb_fullwidth_code et_pb_fullwidth_code_61">
				
				
				
				
				<div class="et_pb_code_inner"><script>
	function setupScrollAnimationObserver() {
    const observer = new IntersectionObserver((entries, observer) => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
              if (entry.target.classList.contains('animate1')) {

                      let timer = setTimeout(() =>{
                          entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translatey(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('animate2')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translate(0,0)';
                        observer.unobserve(entry.target); 
                      },400);
                }
              if (entry.target.classList.contains('animate3')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'scale(1)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('rsa_off')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '0';
                        observer.unobserve(entry.target); 
                      },500);
                }
              if (entry.target.classList.contains('rsa_on')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        observer.unobserve(entry.target); 
                      },500);
                }
          if (entry.target.classList.contains('imageEnter1')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.top = '0px';
                        observer.unobserve(entry.target); 
                      },500);
                }
           if (entry.target.classList.contains('imageEnter2')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.opacity = '1';
                        entry.target.style.transform = 'translate(0,0) scale(1.2)';
                        observer.unobserve(entry.target); 
                      },500);
                }
            if (entry.target.classList.contains('laptopContainer')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translate(0)';
                        observer.unobserve(entry.target); 
                      },200);
                }
               if (entry.target.classList.contains('leftCable')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translatex(0%)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('rightCable')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translatex(0%)';
                        observer.unobserve(entry.target); 
                      },200);
                }
              if (entry.target.classList.contains('imagesIn')) {

                      let timer = setTimeout(() =>{
                        entry.target.style.transform = 'translate(0) scale(1)';
                        entry.target.style.opacity = '1';
                        observer.unobserve(entry.target); 
                      },200);
                }
                   
                   
                       
        	}
        });
    }, {
        threshold: 0.1
    });

    document.querySelectorAll('.animate-on-scroll').forEach(el => {
        observer.observe(el);
    });
}

// Initialize the observer when the DOM is fully loaded
document.addEventListener('DOMContentLoaded', setupScrollAnimationObserver);

</script></div>
			</div>
				
				
			</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		
		<link>https://www.aimtechnologies.com/acc-3-tech-spec/</link>
		
		<dc:creator><![CDATA[Paul]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 08:53:37 +0000</pubDate>
				<category><![CDATA[Tech Spec]]></category>
		<guid isPermaLink="false">https://www.aimtechnologies.com/?p=288661</guid>

					<description><![CDATA[Short description of the product, possible the tagline from the page.]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_50 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_17">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_17  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_code et_pb_code_45">
				
				
				
				
				<div class="et_pb_code_inner"><style>
    .Aim_titleSpecsCont{
    display: flex;
    height: 100px;
    align-items:center;
    margin: 20px 0;
  }
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;

  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 40%;
    display: flex;
    justify-content: start;
  }
  .Aim_sectionColumn{
    width: 80%;
    display:flex;
		justify-content:start;
    
  }
  .Aim_center{
    justify-content:center !important; 
  }
  .Aim_titles{
    font-weight: bold;
    font-size: 25px;
    white-space:nowrap;

    justify-content: center !important;
  }
  hr{
    border-top: 0;
   border-bottom: 1px solid rgb(205,205,205) !important;
  }
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
	width: 100% !important;
  }
  .container{
    margin:0;
    max-width: 100% !important;
    width: 100% !important;	
  }


  .Aim_iconOuter{
    width: 100vw;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    background: rgb(236 236 236 / 80%);
    height: 50px;
    
    
  }
  #Aim_innerCont{
    display:flex;
    justify-content:space-between;
   max-width: 1220px;
    margin: 0 auto;
    height: 100%;
    align-items:center;
    padding: 0 20px;
  }
  #Aim_innerCont span{
    padding:0;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    flex-direction:column;
    
  }

  #Aim_innerCont h1 span{
    font-size: 13px;
    font-weight: normal;
  }
  #Aim_secondMenuOptions, #mobileMenuCont{
    display:flex;
    gap: 20px;
    align-items:center;
  }
  #Aim_secondMenuOptions button{
    border-radius: 15px;
    border:none;
    background-color:red;
    padding: 5px 15px;
    color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }
  #Aim_secondMenuOptions button:hover{
    background-color:rgb(163,26,26);

  }

  /* width */
.AIM_productIconsContainer::-webkit-scrollbar {
  height: 2px;
}

/* Track */
.AIM_productIconsContainer::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px grey;
  border-radius: 10px;
  
}
  #Aim_secondMenuOptions a{
    font-size: 13px;
  }

/* Handle */
.AIM_productIconsContainer::-webkit-scrollbar-thumb {
  background: red;
  border-radius: 10px;
}
  .active{ 
    color: black;
  }
  .inactive{
    color: rgb(151,149,149);
  }
  li span{
    font-weight: bold;
  }
  .Aim_sectionColumnOne ul > li,
  .Aim_sectionColumnTwo ul > li,
  .Aim_sectionColumn ul > li
	{
    list-style-type: none;
	}
  .Aim_rowSpecsCont{
    display: flex;
    margin-bottom:40px;
  }
  
  .Aim_sectionTitle{
    width: 20%;
    font-size: 22px;
    align-self:start;
    font-weight: bold;
    padding-left: 20px;
  }
  .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    padding: 0 20px;
    width: 40%;
    display: flex;
    justify-content: start;

  }
  .Aim_sectionColumnOne img,
  .Aim_sectionColumnTwo img
	{
    min-width:200px;
	}
  .Aim-spanner{
    width: 80%;
    display: flex;
    justify-content:space-around;
    
  }
  .fa-circle-chevron-down{
    display: none;
    cursor:pointer;
    font-size: 24px;
    color:#0066ff !important
  }
  @media only screen and (max-width: 600px) {
    .Aim_rowSpecsCont{
    flex-direction: column;
  	}
    #Aim_innerCont span{
      font-size: 15px;
    }
    #Aim_titleCont{
      display: none;
    }
    .Aim_sectionTitle{
      width: 100%;
      margin-bottom: 30px;
    }
    .Aim_sectionColumnOne,
  .Aim_sectionColumnTwo{
    width: 50%;

  } 
    .Aim-spanner{
    width: 100%;
    }
  }
  #mobileMenuCont{
    padding: 0 ;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
  }
 @media only screen and (max-width: 750px){
    #mobileMenuCont {
      position:absolute;
      width: 100%;
      left:0;
      right:0;
      flex-direction: column;
      top: 50px;
      backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
      background-color: rgb(236 236 236 / 80%);
      padding: 20px 0;
      transition: all 0.5s ease;
      overflow: hidden;
      height: 0;
      opacity:0;
    }
    .fa-circle-chevron-down{
      display:block;
      transition: all 0.5s ease;
      transform: rotate(0deg);
    }
  }
      .buyMe {
    border-radius: 15px;
    border:none;
    background-color:#0066ff !important;
    padding: 2.5px 20px;
		color:white;
    cursor:pointer;
    transition: all 0.5s ease;
  }

</style>
<div class="Aim_iconOuter">
  <div id="Aim_innerCont">
 <span>
   Technical Information
  </span>
  <div id="Aim_secondMenuOptions">
    <i class="fa-solid fa-circle-chevron-down" id="mobileSubMenuBtn"></i>
    <div id="mobileMenuCont">
    	<a href="/acc-3/" class="active">Standard Version</a>
    <!--  <a href="/acc-2-open/" class="active">Open Version</a> -->
    </div>
    <a class="buyMe" href="https://www.aimshop.com/products/acc-3-analogue-can-converter" target="_blank" rel="noopener">
        Buy  
    </a>
  </div>
  </div>
</div>
<script>

	document.addEventListener("DOMContentLoaded", function() {
		const mobileMenuBtn = document.getElementById('mobileSubMenuBtn');
    const mobileMenuCont = document.getElementById('mobileMenuCont');
    
    let isMouseOverButton = false;
  	let isMouseOverMenu = false;
  	let isMenuOpen = false;
    
     const setNavContainerHeight = () => {
       if(!isMenuOpen){
        mobileMenuCont.style.height = '170px';
         mobileMenuBtn.style.transform = 'rotate(180deg)'
         mobileMenuCont.style.padding = '20px 0';
         mobileMenuCont.style.opacity = '1';
       } else  {
       	mobileMenuCont.style.height = '0';
         mobileMenuBtn.style.transform = 'rotate(0deg)'
        mobileMenuCont.style.padding = '0';
        }
       isMenuOpen = !isMenuOpen;
    };
    
    mobileMenuBtn.addEventListener("click", (e) => {
      setNavContainerHeight();
    })    
});
</script></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_18">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_18  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div id="Aim_titleCont" class="et_pb_module et_pb_code et_pb_code_46">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .Aim_titleSpecsCont{
   justify-content: center;
  }
  .Aim_titleSpecsCont h1{
    text-align:center;
  }
</style>
<div class="Aim_titleSpecsCont">
  <div class="Aim_sectionTitle">

  </div>
<h1>ACC 3<br />
<span style="font-size: 14px;">Technical Information</span></h1>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_47">
				
				
				
				
				<div class="et_pb_code_inner"><style>
  .noMarg{
    margin:0 !important;
    padding:0 !important;
    flex-direction: column;
    text-align: center;
    font-weight:bold;
    max-width:400px;
  }
  #mobyTitle{
    display:none;
  }
    @media only screen and (max-width: 460px){
      #mobyTitle{
    display:block;
  }
  }
</style>
<div class="Aim_rowSpecsCont " >
  <h3 class="Aim_sectionTitle">
    Model
  </h3>
  <div class="Aim-spanner">
    <div class="Aim_sectionColumn noMarg Aim_center">
      <img decoding="async" src="/wp-content/uploads/2025/06/ACC3_FP_1680x-1.webp" width="439px" height="464px" alt="ACC 3"/>
      <div id="mobyTitle">
        ACC 3
      </div>
    </div>

  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_48">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Overview
  </h3>
  <div class="Aim-spanner">
	<div class="Aim_sectionColumn">
    ACC is the new compact and powerful Analogue CAN Converter that manages up to four channels at 200 Hz each. Now compatible also with the Aim Solo 2 DL.
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_49">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Key Features
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
			<li>ACC 3 manages 4 analogue inputs:
</li>
			<li>Thermocouples</li>
			<li>Thermoresitances</li>
			<li>0-5 V</li>
			<li>0-12 V</li>
			<li>...to a max frequency of 200 Hz each.</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_50">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Size & Weight
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><span>Dimensions:</span> 44.0 x 38.0 x 19.8 mm
</li>
      <li><span>Weight:</span> 50g
</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_51">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    In The Box
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li>1 x ACC Converter</li>
      <li>1 x CAN Cable 100cm</li>
      <li>1 x 4 channel harness</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_52">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Technical
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <ul>
      <li><strong>Analogue channels:</strong> 4 fully configurable channels, 24 bit, A/D, 200 Hz each:
Thermocouple (with dedicated cable), TR, 0÷5 V, 0÷12 V</li> 
      <li><strong>External power:</strong> 9÷15 V operational,
12÷15 V fully operational
</li>
      <li><strong>Connection:</strong> CAN</li>
      <li><strong>Connectors:</strong> 2 Binder 712 female connectors</li>
      <li><strong>Material:</strong> PA6 30% glass</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_53">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Waterproof
  </h3>
  <div class="Aim-spanner">

  <div class="Aim_sectionColumn">
    <ul>
      <li>IP 65</li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_54">
				
				
				
				
				<div class="et_pb_code_inner"><div id="DiagramBox" class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Diagram
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
    <img decoding="async" src="/wp-content/uploads/2023/12/Capture.webp" alt='ACC pinout' width="1165px" height="460px"/>
  </div>
  </div>
</div>
<hr></div>
			</div><div class="et_pb_module et_pb_code et_pb_code_55">
				
				
				
				
				<div class="et_pb_code_inner"><div class="Aim_rowSpecsCont">
  <h3 class="Aim_sectionTitle">
    Downloads
  </h3>
  <div class="Aim-spanner">
  <div class="Aim_sectionColumn">
   <ul>
      <li><a href="https://support.aimshop.com/downloads/product-documents/acc/aim_acc3_technical.pdf" target="_new" rel="noopener">Technical sheet</a></li>
     <li><a href="https://support.aimshop.com/downloads/CAD-files/ACC.rar" target="_new" rel="noopener">CAD File</a></li>
      <li><a href="/support/downloads/software-downloads/">Race Studio 3</a></li>
    </ul>
  </div>
  </div>
</div>
<hr></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
