allows customers to create an account
has a landing hub for coupons
has a landing hub for discounts
has a landing hub for promotions
invites visitors to subscribe with their email to receive exclusive deals
is highly rated
offers Drone Frames
offers Electronics
offers FPV Crate
offers FPV Goggles
offers FPV clearance
offers FPV drones for sale
offers FPV equipment
offers FPV goggles
offers GetFPV Distribution
offers Live Chat
offers a catalog of drone brands
offers a chance to win monthly free products
offers a loyalty program
offers a loyalty program named 'Crash Cash'
offers a reseller catalog
offers a return policy
offers batteries
offers career opportunities
offers chargers
offers coupons
offers coupons through its landing hub
offers discounts
offers discounts through its landing hub
offers drone bundles
offers drone frames
offers electronics
offers exclusive deals
offers free same-day shipping on most orders over $199
offers free shipping on most orders over $199
offers local curbside pickup
offers motors
offers promotions through its landing hub
offers propellers
offers quadcopters
offers racing drones
offers radios
offers same-day shipping
offers same-day shipping on most orders
offers the 'Get a Quote for' feature
offers the Crash Cash loyalty rewards program
offers the Hex Driver w/ Titanium Coating - M2
offers the Hex Driver w/ Titanium Coating - M2 at a special price of $2.99
offers the Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60)
offers the Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60) at a special price of $39.99
offers the ability to check order status
provides a Contact Us page
provides an FAQ
provides check order status
provides customer support
provides order support
provides shipping tips
sells FPV Drones
sells FPV Goggles
sells FPV drones
sells FPV drones for sale
sells FPV goggles
sells Motors
sells Quadcopters
sells Racing Drones
sells motors
sells quadcopters
sells racing drones
stock clearance sale is live now
copyright is All Rights Reserved
has a phone number +1 (941) 444-0021
has address 1060 Goodrich Ave, Sarasota, FL 34236
has email address [email protected]
owns copyright for 2025
is available for pre-order
is new
is priced at $499.99
has no FPV system
is new
uses ELRS 2.4GHz
is available for pre-order
is new
priced at $89.99
is new
is priced at $44.99
is new
priced at $349.99
includes Controller
includes Goggles
is new
is priced at $11.99
is new
is priced at $39.99
has a starting price of $415.99
is offered by GetFPV
is new
is priced at $99.99
has a regular price of $62.49
is listed by GetFPV
is available starting at $449.99
is priced at $129.99
is priced at $469.99
is available for as low as $279.99
costs $119.00
costs $19.99
can be redeemed toward the next purchase
costs $63.99
is listed at a regular price of $5.49
costs $599.99
costs $14.99
GetFPV offers FPV Drones for Sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV offers Motors.
GetFPV offers FPV Goggles.
GetFPV offers free same day shipping on most orders over $199.
GetFPV offers FPV Drones for Sale.
GetFPV sells Quadcopters.
GetFPV sells Racing Drones.
GetFPV sells Motors.
GetFPV sells FPV Goggles.
GetFPV offers Same Day Shipping.
GetFPV offers Live Chat.
GetFPV offers Check Order Status.
GetFPV provides Customer Support.
GetFPV invites visitors to subscribe with their email to receive exclusive deals and the chance to win monthly free products.
GetFPV offers FPV Drones for sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV offers Motors.
GetFPV offers FPV Goggles.
GetFPV offers exclusive deals.
GetFPV offers a chance to win monthly free products.
GetFPV sells FPV Drones, Quadcopters, Racing Drones, Motors, and FPV Goggles.
GetFPV offers FPV Drones for sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV offers Motors.
GetFPV offers FPV Goggles.
GetFPV offers Batteries / Chargers.
GetFPV offers Radios.
GetFPV offers Propellers.
GetFPV offers FPV Equipment.
GetFPV offers Drone Frames.
GetFPV offers Electronics.
GetFPV is highly rated.
GetFPV sells FPV Drones for Sale, Quadcopters, Racing Drones, Motors and FPV Goggles.
GetFPV has a loyalty program named 'Crash Cash'.
GetFPV offers the 'Crash Cash' loyalty rewards program.
GetFPV's Crash Cash loyalty rewards can be redeemed toward your next purchase.
GetFPV allows customers to create an account.
GetFPV offers FPV Drones for Sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV offers Motors.
GetFPV offers FPV Goggles.
GetFPV has a landing hub for all GetFPV promotions, discounts, and coupons.
GetFPV's promotions, discounts, and coupons are available through its landing hub.
GetFPV offers FPV Drones for Sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV offers Motors.
GetFPV offers FPV Goggles.
GetFPV provides Order Support.
GetFPV provides Check Order Status.
GetFPV provides an FAQ.
GetFPV provides a Contact Us page.
GetFPV offers FPV Drones for Sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV offers Motors.
GetFPV offers FPV Goggles.
GetFPV offers Drone Bundles.
GetFPV offers FPV Equipment.
GetFPV offers Drone Frames.
GetFPV offers Electronics.
GetFPV offers Batteries / Chargers.
GetFPV offers Radios.
GetFPV offers Propellers.
GetFPV sells FPV Drones.
GetFPV sells quadcopters.
GetFPV sells racing drones.
GetFPV sells motors.
GetFPV sells FPV goggles.
GetFPV offers a loyalty program.
GetFPV offers a catalog of drone brands.
GetFPV offers discounts and coupons.
GetFPV offers a reseller catalog.
GetFPV offers free shipping on most orders over $199.
GetFPV offers local curbside pickup.
GetFPV provides shipping tips.
GetFPV has a return policy.
GetFPV offers the Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60) at a special price of $39.99.
GetFPV lists the Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60) with a regular price of $62.49.
GetFPV offers the GEPRC CineLog 35 P 3.5" Cinewhoop Drone Analog w/ Caddx Ratel 2 - Performance Edition - 6S for as low as $415.99.
GetFPV offers the Hex Driver w/ Titanium Coating - M2 at a special price of $2.99.
GetFPV lists the Hex Driver w/ Titanium Coating - M2 with a regular price of $5.49.
GetFPV's stock clearance sale is live now.
GetFPV offers FPV Drones for Sale.
GetFPV offers Quadcopters.
GetFPV offers Racing Drones.
GetFPV sells Motors.
GetFPV sells FPV Goggles.
GetFPV offers FPV Crate.
GetFPV offers FPV Clearance.
GetFPV offers GetFPV Distribution.
GetFPV offers Career Opportunities.
GetFPV sells FPV Drones for Sale, Quadcopters, Racing Drones, Motors and FPV Goggles.
GetFPV LLC's address is 1060 Goodrich Ave.Sarasota, FL 34236.
GetFPV LLC's phone number is +1 (941) 444-0021.
GetFPV LLC's email address is [email protected].
GetFPV LLC's copyright for 2025 is All Rights Reserved.
GetFPV offers a 'Get a Quote for' feature.
DJI O4 Air Unit costs $119.00.
iFlight Skyviz Goggles cost $599.99.
Flywoo O4 Wide-Angle Lens - O4 Cam Shell costs $19.99.
Lumenier Tactical FPV Pouch costs $14.99.
Caddx Protos HD FPV Drone Combo w/ Goggles + Controller costs $469.99.
HDZero Whoop V2 VTX costs $63.99.
Axisflying MANTA 30 3" BNF Drone HD w/ DJI O4 + GPS is available for as low as $449.99.
DeepSpace Seeker 3 Drone Analog w/ Caddx Ratel 2 + GPS is available for as low as $279.99.
GetFPV offers Same Day Shipping on most orders.
Caddx Protos HD FPV Drone Combo w/ Goggles + Controller includes Goggles and Controller.
HDZero Gamma AIO – G473 FC + 45A AM32 ESC + ELRS RX is priced at $89.99.
HDZero Gamma AIO – G473 FC + 45A AM32 ESC + ELRS RX is available for pre-order.
HDZero Gamma AIO – G473 FC + 45A AM32 ESC + ELRS RX is new.
BETAFPV Aquila20 FPV RTF Kit - HD is priced at $499.99.
BETAFPV Aquila20 FPV RTF Kit - HD is available for pre-order.
BETAFPV Aquila20 FPV RTF Kit - HD is new.
BETAFPV Aquila20 FPV RTF Kit - Analog is priced at $349.99.
BETAFPV Aquila20 FPV RTF Kit - Analog is new.
DJI O4 Pro Upgrade Kit – AOS V5 is priced at $11.99.
DJI O4 Pro Upgrade Kit – AOS V5 is new.
HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5 is priced at $99.99.
HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5 is new.
DOGCOM SBang 1480mAh 6S 22.2V 150C LiPo Battery - XT60 is priced at $39.99.
DOGCOM SBang 1480mAh 6S 22.2V 150C LiPo Battery - XT60 is new.
Benewake TFmini-S LiDAR is priced at $44.99.
Benewake TFmini-S LiDAR is new.
BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz is priced at $129.99.
BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz is new.
<!doctype html>
<html lang="en">
<head >
<meta charset="utf-8"/>
<meta name="title" content="FPV Drones for Sale, Quadcopters, Racing Drones, Motors and FPV Goggles | GetFPV"/>
<meta name="description" content="Looking for a FPV drone? GetFPV.com has all the drones and parts you need. Whether you are a pro or new to the hobby, we carry both professional and beginner drones at the lowest price! Free shipping is available in the USA, and we also ship internationally."/>
<meta name="keywords" content="beginner, drone, rc, hobby, fpv, fpv store, drone shop, drone kit, diy, best drone, first person view, dji, getfpv, lumenier, cheap, quadcopter, radio controlled drone, toy, racing, freestyle, racing quad, quad, racing drone, fpv drone,"/>
<meta name="robots" content="INDEX,FOLLOW"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FPV Drones for Sale, Quadcopters, Racing Drones, Motors and FPV Goggles | GetFPV</title>
<link rel="stylesheet" type="text/css" media="all" href="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/css/styles.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Algolia_AlgoliaSearch/css/autocomplete.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Algolia_AlgoliaSearch/css/grid.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Algolia_AlgoliaSearch/css/algolia-reset.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Algolia_AlgoliaSearch/css/instantsearch.css" />
<link rel="stylesheet" type="text/css" media="all" href="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Algolia_AlgoliaSearch/css/recommend.css" />
<script type="text/javascript" defer="defer" src="https://assets.conversionwax.com/dist/app.js"></script>
<link rel="icon" type="image/x-icon" href="https://www.getfpv.com/media/favicon/stores/1/favicon-32x32_1.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://www.getfpv.com/media/favicon/stores/1/favicon-32x32_1.png" />
<script nonce="ZTNpZjBoczY1dDMycTlzNjJ5aTUwZXJmcG85YXRnYnI=">
window.getWpGA4Cookie = function(name) {
match = document.cookie.match(new RegExp(name + '=([^;]+)'));
if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ;
};
window.ga4AllowServices = false;
var isCookieRestrictionModeEnabled = 0,
currentWebsiteId = 1,
cookieRestrictionName = 'user_allowed_save_cookie';
if (isCookieRestrictionModeEnabled) {
allowedCookies = window.getWpGA4Cookie(cookieRestrictionName);
if (allowedCookies !== undefined) {
allowedWebsites = JSON.parse(allowedCookies);
if (allowedWebsites[currentWebsiteId] === 1) {
window.ga4AllowServices = true;
}
}
} else {
window.ga4AllowServices = true;
}
</script>
<!-- Google Tag Manager -->
<script > if (window.ga4AllowServices) {(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TW3QXPZ');}
<!-- End Google Tag Manager --> </script>
<script nonce="ZTNpZjBoczY1dDMycTlzNjJ5aTUwZXJmcG85YXRnYnI=">
if (window.ga4AllowServices) {
window.dataLayer = window.dataLayer || [];
var dl4Objects = [{"pageName":"FPV Drones for Sale, Quadcopters, Racing Drones, Motors and FPV Goggles | GetFPV","pageType":"home"}];
for (var i in dl4Objects) {
window.dataLayer.push({ecommerce: null});
window.dataLayer.push(dl4Objects[i]);
}
var wpGA4Cookies = ['wp_ga4_user_id','wp_ga4_customerGroup'];
wpGA4Cookies.map(function (cookieName) {
var cookieValue = window.getWpGA4Cookie(cookieName);
if (cookieValue) {
var dl4Object = {};
dl4Object[cookieName.replace('wp_ga4_', '')] = cookieValue;
window.dataLayer.push(dl4Object);
}
});
}
</script>
<!-- boostmyshop erpcloud head tag -->
<script>
var BASE_URL = 'https://www.getfpv.com/';
var THEME_PATH = 'https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US';
var COOKIE_CONFIG = {
"expires": null,
"path": "\u002F",
"domain": ".www.getfpv.com",
"secure": true,
"lifetime": "3600",
"cookie_restriction_enabled": false };
var CURRENT_STORE_CODE = 'default';
var CURRENT_WEBSITE_ID = '1';
window.hyva = window.hyva || {}
window.cookie_consent_groups = window.cookie_consent_groups || {}
window.cookie_consent_groups['necessary'] = true;
window.cookie_consent_config = window.cookie_consent_config || {};
window.cookie_consent_config['necessary'] = [].concat(
window.cookie_consent_config['necessary'] || [],
[
'user_allowed_save_cookie',
'form_key',
'mage-messages',
'private_content_version',
'mage-cache-sessid',
'last_visited_store',
'section_data_ids'
]
);
</script>
<script>
'use strict';
(function( hyva, undefined ) {
function lifetimeToExpires(options, defaults) {
const lifetime = options.lifetime || defaults.lifetime;
if (lifetime) {
const date = new Date;
date.setTime(date.getTime() + lifetime * 1000);
return date;
}
return null;
}
function generateRandomString() {
const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
length = 16;
let formKey = '',
charactersLength = allowedCharacters.length;
for (let i = 0; i < length; i++) {
formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
}
return formKey;
}
const sessionCookieMarker = {noLifetime: true}
const cookieTempStorage = {};
const internalCookie = {
get(name) {
const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
return v ? v[2] : null;
},
set(name, value, days, skipSetDomain) {
let expires,
path,
domain,
secure,
samesite;
const defaultCookieConfig = {
expires: null,
path: '/',
domain: null,
secure: false,
lifetime: null,
samesite: 'lax'
};
const cookieConfig = window.COOKIE_CONFIG || {};
expires = days && days !== sessionCookieMarker
? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
: lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
path = cookieConfig.path || defaultCookieConfig.path;
domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
secure = cookieConfig.secure || defaultCookieConfig.secure;
samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
document.cookie = name + "=" + encodeURIComponent(value) +
(expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') +
(path ? '; path=' + path : '') +
(domain ? '; domain=' + domain : '') +
(secure ? '; secure' : '') +
(samesite ? '; samesite=' + samesite : 'lax');
},
isWebsiteAllowedToSaveCookie() {
const allowedCookies = this.get('user_allowed_save_cookie');
if (allowedCookies) {
const allowedWebsites = JSON.parse(unescape(allowedCookies));
return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
}
return false;
},
getGroupByCookieName(name) {
const cookieConsentConfig = window.cookie_consent_config || {};
let group = null;
for (let prop in cookieConsentConfig) {
if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
if (cookieConsentConfig[prop].includes(name)) {
group = prop;
break;
}
}
return group;
},
isCookieAllowed(name) {
const cookieGroup = this.getGroupByCookieName(name);
return cookieGroup
? window.cookie_consent_groups[cookieGroup]
: this.isWebsiteAllowedToSaveCookie();
},
saveTempStorageCookies() {
for (const [name, data] of Object.entries(cookieTempStorage)) {
if (this.isCookieAllowed(name)) {
this.set(name, data['value'], data['days'], data['skipSetDomain']);
delete cookieTempStorage[name];
}
}
}
};
hyva.getCookie = (name) => {
const cookieConfig = window.COOKIE_CONFIG || {};
if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
}
return internalCookie.get(name);
}
hyva.setCookie = (name, value, days, skipSetDomain) => {
const cookieConfig = window.COOKIE_CONFIG || {};
if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
cookieTempStorage[name] = {value, days, skipSetDomain};
return;
}
return internalCookie.set(name, value, days, skipSetDomain);
}
hyva.setSessionCookie = (name, value, skipSetDomain) => {
return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain)
}
hyva.getBrowserStorage = () => {
const browserStorage = window.localStorage || window.sessionStorage;
if (!browserStorage) {
console.warn('Browser Storage is unavailable');
return false;
}
try {
browserStorage.setItem('storage_test', '1');
browserStorage.removeItem('storage_test');
} catch (error) {
console.warn('Browser Storage is not accessible', error);
return false;
}
return browserStorage;
}
hyva.postForm = (postParams) => {
const form = document.createElement("form");
let data = postParams.data;
if (! postParams.skipUenc && ! data.uenc) {
data.uenc = btoa(window.location.href);
}
form.method = "POST";
form.action = postParams.action;
Object.keys(postParams.data).map(key => {
const field = document.createElement("input");
field.type = 'hidden'
field.value = postParams.data[key];
field.name = key;
form.appendChild(field);
});
const form_key = document.createElement("input");
form_key.type = 'hidden';
form_key.value = hyva.getFormKey();
form_key.name="form_key";
form.appendChild(form_key);
document.body.appendChild(form);
form.submit();
}
hyva.getFormKey = function () {
let formKey = hyva.getCookie('form_key');
if (!formKey) {
formKey = generateRandomString();
hyva.setCookie('form_key', formKey);
}
return formKey;
}
hyva.formatPrice = (value, showSign, options = {}) => {
const groupSeparator = options.groupSeparator;
const decimalSeparator = options.decimalSeparator
delete options.groupSeparator;
delete options.decimalSeparator;
const formatter = new Intl.NumberFormat(
'en\u002DUS',
Object.assign({
style: 'currency',
currency: 'USD',
signDisplay: showSign ? 'always' : 'auto'
}, options)
);
return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
formatter.formatToParts(value).map(({type, value}) => {
switch (type) {
case 'currency':
return '\u0024' || value;
case 'minusSign':
return '- ';
case 'plusSign':
return '+ ';
case 'group':
return groupSeparator !== undefined ? groupSeparator : value;
case 'decimal':
return decimalSeparator !== undefined ? decimalSeparator : value;
default :
return value;
}
}).reduce((string, part) => string + part) :
formatter.format(value);
}
const formatStr = function (str, nStart) {
const args = Array.from(arguments).slice(2);
return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
const idx = parseInt(n) - nStart;
if (args[idx] === null || args[idx] === void 0) {
return m;
}
return p.length % 2
? p.slice(0, -1).replace('%%', '%') + args[idx]
: p.replace('%%', '%') + n;
})
}
hyva.str = function (string) {
const args = Array.from(arguments);
args.splice(1, 0, 1);
return formatStr.apply(undefined, args);
}
hyva.strf = function () {
const args = Array.from(arguments);
args.splice(1, 0, 0);
return formatStr.apply(undefined, args);
}
/**
* Take a html string as `content` parameter and
* extract an element from the DOM to replace in
* the current page under the same selector,
* defined by `targetSelector`
*/
hyva.replaceDomElement = (targetSelector, content) => {
// Parse the content and extract the DOM node using the `targetSelector`
const parser = new DOMParser();
const doc = parser.parseFromString(content, 'text/html');
const contentNode = doc.querySelector(targetSelector);
// Bail if content or target can't be found
if (!contentNode || !document.querySelector(targetSelector)) {
return;
}
hyva.activateScripts(contentNode);
// Replace the old DOM node with the new content
document.querySelector(targetSelector).replaceWith(contentNode);
// Reload customerSectionData and display cookie-messages if present
window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
hyva.initMessages();
}
hyva.removeScripts = (contentNode) => {
const scripts = contentNode.getElementsByTagName('script');
for (let i = 0; i < scripts.length; i++) {
scripts[i].parentNode.removeChild(scripts[i]);
}
const templates = contentNode.getElementsByTagName('template');
for (let i = 0; i < templates.length; i++) {
const container = document.createElement('div');
container.innerHTML = templates[i].innerHTML;
hyva.removeScripts(container);
templates[i].innerHTML = container.innerHTML;
}
}
hyva.activateScripts = (contentNode) => {
// Create new array from HTMLCollection to avoid mutation of collection while manipulating the DOM.
const scripts = Array.from(contentNode.getElementsByTagName('script'));
// Iterate over all script tags to duplicate+inject each into the head
for (const original of scripts) {
const script = document.createElement('script');
original.type && (script.type = original.type);
script.innerHTML = original.innerHTML;
// Remove the original (non-executing) script from the contentNode
original.parentNode.removeChild(original)
// Add script to head
document.head.appendChild(script);
}
return contentNode;
}
const replace = {['+']: '-', ['/']: '_', ['=']: ','};
hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);
let currentTrap;
const focusableElements = (rootElement) => {
const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]';
return Array.from(rootElement.querySelectorAll(selector))
.filter(el => {
return el.style.display !== 'none'
&& !el.disabled
&& el.tabIndex !== -1
&& (el.offsetWidth || el.offsetHeight || el.getClientRects().length)
})
}
const focusTrap = (e) => {
const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
if (!isTabPressed) return;
const focusable = focusableElements(currentTrap)
const firstFocusableElement = focusable[0]
const lastFocusableElement = focusable[focusable.length - 1]
e.shiftKey
? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
: document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
};
hyva.releaseFocus = (rootElement) => {
if (currentTrap && (!rootElement || rootElement === currentTrap)) {
currentTrap.removeEventListener('keydown', focusTrap)
currentTrap = null
}
}
hyva.trapFocus = (rootElement) => {
if (!rootElement) return;
hyva.releaseFocus()
currentTrap = rootElement
rootElement.addEventListener('keydown', focusTrap)
const firstElement = focusableElements(rootElement)[0]
firstElement && firstElement.focus()
}
hyva.safeParseNumber = (rawValue) => {
const number = rawValue ? parseFloat(rawValue) : null;
return Array.isArray(number) || isNaN(number) ? rawValue : number;
}
const toCamelCase = s => s.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
hyva.createBooleanObject = (name, value = false, additionalMethods = {}) => {
const camelCase = toCamelCase(name);
const key = '__hyva_bool_' + name
return new Proxy(Object.assign(
additionalMethods,
{
[key]: !!value,
[name]() {return !!this[key]},
['!' + name]() {return !this[key]}, // @deprecated This does not work with non-CSP Alpine
['not' + camelCase]() {return !this[key]},
['toggle' + camelCase]() {this[key] = !this[key]},
[`set${camelCase}True`]() {this[key] = true},
[`set${camelCase}False`]() {this[key] = false},
}
), {
set(target, prop, value) {
return prop === name
? (target[key] = !!value)
: Reflect.set(...arguments);
}
})
}
hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true})
window.addEventListener('alpine:init', () => Alpine.data('{}', () => ({})), {once: true});
window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
}( window.hyva = window.hyva || {} ));
</script>
<script>
if (!window.IntersectionObserver) {
window.IntersectionObserver = function (callback) {
this.observe = el => el && callback(this.takeRecords());
this.takeRecords = () => [{isIntersecting: true, intersectionRatio: 1}];
this.disconnect = () => {};
this.unobserve = () => {};
}
}
</script>
<script>
window.algoliaConfig = {"instant":{"enabled":true,"selector":".columns","isAddToCartEnabled":true,"addToCartParams":{"action":"https:\/\/www.getfpv.com\/checkout\/cart\/add\/","formKey":"jUczq2FGQB3mR80O","redirectUrlParam":"uenc"},"infiniteScrollEnabled":false,"urlTrackedParameters":["query","attribute:*","index","page"],"isSearchBoxEnabled":true,"isVisualMerchEnabled":false,"categorySeparator":" \/\/\/ ","categoryPageIdAttribute":"categoryPageId","isCategoryNavigationEnabled":false,"hidePagination":false,"isDynamicFacetsEnabled":false,"redirects":{"enabled":false,"onPageLoad":true,"onSearchAsYouType":false,"showSelectableRedirect":true,"openInNewWindow":false}},"autocomplete":{"enabled":true,"selector":".algolia-search-input","sections":[{"name":"pages","label":"Pages","hitsPerPage":"2"}],"nbOfProductsSuggestions":14,"nbOfCategoriesSuggestions":2,"nbOfQueriesSuggestions":2,"isDebugEnabled":false,"isNavigatorEnabled":true,"debounceMilliseconds":300,"minimumCharacters":0,"redirects":{"enabled":true,"showSelectableRedirect":true,"showHitsWithRedirect":false,"openInNewWindow":false}},"landingPage":{"query":"","configuration":"[]"},"recommend":{"enabledFBT":false,"enabledRelated":false,"enabledFBTInCart":false,"enabledRelatedInCart":false,"enabledLookingSimilar":0,"limitFBTProducts":6,"limitRelatedProducts":6,"limitTrendingItems":6,"limitLookingSimilar":6,"enabledTrendItems":0,"trendItemFacetName":null,"trendItemFacetValue":null,"isTrendItemsEnabledInPDP":0,"isTrendItemsEnabledInCartPage":0,"isAddToCartEnabledInFBT":false,"isAddToCartEnabledInRelatedProduct":false,"isAddToCartEnabledInTrendsItem":false,"isAddToCartEnabledInLookingSimilar":false,"FBTTitle":"Frequently bought together","relatedProductsTitle":"Related products","trendingItemsTitle":"Trending items","addToCartParams":{"action":"https:\/\/www.getfpv.com\/checkout\/cart\/add\/","formKey":"jUczq2FGQB3mR80O","redirectUrlParam":"uenc"},"isLookingSimilarEnabledInPDP":0,"isLookingSimilarEnabledInCartPage":0,"lookingSimilarTitle":"Looking Similar"},"extensionVersion":"3.16.0","applicationId":"7NZGDMPIFH","indexName":"magentoprod_default","baseIndexName":"magentoprod_default","apiKey":"ZGJiNmYzNDNkNzc4NTMyMmYwYTRhMjI2ODc1M2ExY2IxZGJhOTc1ZWJiYjg2ZGY3ZTdlMTI0OTQwMDU5OWI5N3RhZ0ZpbHRlcnM9JnZhbGlkVW50aWw9MTc2NTg5ODE3OA==","attributeFilter":[],"facets":[{"attribute":"price","type":"slider","label":"Price","searchable":"3","create_rule":"2"},{"attribute":"categories","type":"conjunctive","label":"Categories","searchable":"3","create_rule":"2"},{"attribute":"manufacturer","type":"conjunctive","label":"Manufacturer","searchable":"3","create_rule":"2"}],"areCategoriesInFacets":true,"hitsPerPage":20,"sortingIndices":[{"attribute":"price","sort":"asc","sortLabel":"Lowest price","name":"magentoprod_default_products_price_default_asc","ranking":["asc(price.USD.default)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Lowest price"},{"attribute":"price","sort":"desc","sortLabel":"Highest price","name":"magentoprod_default_products_price_default_desc","ranking":["desc(price.USD.default)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Highest price"},{"attribute":"created_at","sort":"desc","sortLabel":"Newest first","name":"magentoprod_default_products_created_at_desc","ranking":["desc(created_at)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Newest first"},{"attribute":"yotpo_average_score","sort":"desc","sortLabel":"Best Rated","name":"magentoprod_default_products_yotpo_average_score_desc","ranking":["desc(yotpo_average_score)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Best Rated"}],"isSearchPage":false,"isCategoryPage":false,"isLandingPage":false,"removeBranding":true,"productId":null,"priceKey":".USD.default","priceGroup":null,"origFormatedVar":"price.USD.default_original_formated","tierFormatedVar":"price.USD.default_tier_formated","currencyCode":"USD","currencySymbol":"$","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"maxValuesPerFacet":10,"autofocus":true,"resultPageUrl":"https:\/\/www.getfpv.com\/catalogsearch\/result\/","request":{"query":"","refinementKey":"","refinementValue":"","categoryId":"","landingPageId":"","path":"","level":"","parentCategory":"","childCategories":[],"url":"https:\/\/www.getfpv.com\/"},"showCatsNotIncludedInNavigation":true,"showSuggestionsOnNoResultsPage":true,"baseUrl":"https:\/\/www.getfpv.com","popularQueries":[],"useAdaptiveImage":false,"urls":{"logo":"https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Algolia_AlgoliaSearch\/js\/images\/algolia-logo-blue.svg"},"cookieConfiguration":{"customerTokenCookie":"_ALGOLIA_MAGENTO_AUTH","consentCookieName":"user_allowed_save_cookie","cookieAllowButtonSelector":"#btn-cookie-allow","cookieRestrictionModeEnabled":false,"cookieDuration":"15552000000"},"ccAnalytics":{"enabled":false,"ISSelector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","conversionAnalyticsMode":"all","addToCartSelector":".action.primary.tocart","orderedProductIds":[]},"isPersonalizationEnabled":false,"personalization":{"enabled":false,"viewedEvents":{"viewProduct":{"eventName":"Viewed Product","enabled":false,"method":"viewedObjectIDs"}},"clickedEvents":{"productClicked":{"eventName":"Product Clicked","enabled":false,"selector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","method":"clickedObjectIDs"},"productRecommended":{"eventName":"Recommended Product Clicked","enabled":false,"selector":".products-upsell .product-item","method":"clickedObjectIDs"}},"filterClicked":{"eventName":"Filter Clicked","enabled":false,"method":"clickedFilters"}},"analytics":{"enabled":false,"delay":"3000","triggerOnUiInteraction":"1","pushInitialSearch":"0"},"now":1765756800,"queue":{"isEnabled":true,"nbOfJobsToRun":100,"retryLimit":3,"nbOfElementsPerIndexingJob":300},"isPreventBackendRenderingEnabled":false,"translations":{"to":"to","or":"or","go":"Go","popularQueries":"You can try one of the popular search queries","seeAll":"See all products","allDepartments":"Search page","seeIn":"See products in","orIn":"or in","noProducts":"No products for query","noResults":"No results","refine":"Refine","selectedFilters":"Selected Filters","clearAll":"Clear all","previousPage":"Previous page","nextPage":"Next page","searchFor":"Search for products","relevance":"Relevance","categories":"Categories","products":"Products","suggestions":"Suggestions","searchBy":"Search by","redirectSearchPrompt":"Continue search for","searchForFacetValuesPlaceholder":"Search for other ...","showMore":"Show more products","searchTitle":"Search results for","placeholder":"Search for products, categories, ...","addToCart":"Add to Cart"}};
</script>
<script>
function deepMerge(target, ...sources) {
if (!sources.length) {
return target;
}
const source = sources.shift();
if (typeof target !== 'object' || typeof source !== 'object') {
return target;
}
for (let key in source) {
if (source.hasOwnProperty(key)) {
if (source[key] instanceof Array) {
target[key] = target[key] || [];
target[key] = target[key].concat(source[key]);
} else if (typeof source[key] === 'object') {
target[key] = deepMerge(target[key] || {}, source[key]);
} else {
target[key] = source[key];
}
}
}
return deepMerge(target, ...sources);
}
function amastyRewardsProduct() {
return {
captionStartText: 'You\u0020can\u0020earn',
captionAfterText: '',
captionRegistrationText: 'for\u0020registration\u0021',
captionEndText: '',
productId: this.$el.dataset.productId,
formSelector: 'product_addtocart_form',
form: null,
refreshUrl: this.$el.dataset.refreshUrl,
loader: false,
isFetching: false,
abortFetchController: false,
highlight: {
registration_link: '',
caption_color: '',
caption_text: '0',
visible: false
},
init() {
this.formObserver();
document.addEventListener(`update-qty-${this.productId}`, () => {
this.updateData();
});
window.addEventListener('update-bundle-option-selection', () => {
this.updateData();
});
this.$nextTick(() => this.updateData());
},
hideBlock() {
this.highlight.visible = false;
this.loader = true;
},
dispatchStatus(type, message) {
window.dispatchMessages([{
type: type,
text: message
}], 5000);
},
formObserver() {
const product = document.querySelector(`input[name='product'][value='${this.productId}']`);
if (product) {
const productForm = product.form;
if (productForm) {
productForm.addEventListener('change', () => {
this.updateData();
});
}
}
},
updateData() {
if (this.isFetching) {
return false;
}
if (!this.refreshUrl) {
this.loader = false;
return false;
}
this.hideBlock();
if (this.abortFetchController) {
this.abortFetchController.abort();
}
this.abortFetchController = new AbortController();
const product = document.querySelector(`input[name='product'][value='${this.productId}']`);
let formParams = '';
if (!product) {
formParams = 'form_key=' + hyva.getFormKey() + '&product=' + this.productId;
} else {
const form = product.form;
const formData = new FormData(form);
formParams = new URLSearchParams(formData).toString();
}
const formJson = JSON.stringify({
page: 0,
productId: this.productId,
attributes: formParams
});
const requestOptions = {
method: 'POST',
body: formJson,
headers: {
'Content-Type': 'application/json',
'x-requested-with': 'XMLHttpRequest',
},
signal: this.abortFetchController.signal
};
this.isFetching = true;
fetch(this.refreshUrl, requestOptions).then(response => {
if (!response.ok) {
return Promise.reject(`${response.status} ${response.statusText}`);
}
return response.json();
}).then((data) => {
this.highlight.visible = data.visible;
this.highlight.caption_text = data.caption_text;
this.highlight.caption_color = data.caption_color;
if (data?.registration_link) {
this.highlight.registration_link = data.registration_link;
}
if (data?.need_to_change_message && data?.need_to_change_message === 1) {
this.captionAfterText = 'for\u0020making\u0020a\u0020purchase\u0021\u0020Available\u0020for';
this.captionRegistrationText = 'registered';
this.captionEndText = 'customers\u0020only.';
}
}).catch(error => {
if (error.name !== 'AbortError' && typeof error === 'string' && error.match(/'401'/g) !== null) {
this.dispatchStatus('error', error);
}
}).finally(() => {
this.loader = false;
this.isFetching = false;
});
},
highlightCaptionText() {
return this.highlight.caption_text !== '0' && !this.loader;
},
highlightStyle() {
return `color: ${this.highlight.caption_color}`;
},
isHighlightRegistrationLink() {
return this.highlight.registration_link && this.highlight.registration_link !== '';
},
isNotRegistrationLink() {
return !this.highlight.registration_link;
},
highlightVisible() {
return this.highlight.visible && !this.loader;
}
}
}
window.addEventListener(
'alpine:init',
() => Alpine.data('amastyRewardsProduct', amastyRewardsProduct),
{ once: true }
);
</script>
<script>
(function () {
let amSwiperProcessed = false;
window.addEventListener('load-amswiper', () => {
if (amSwiperProcessed) {
window?.Swiper && window.dispatchEvent(new CustomEvent('amswiper-loaded', {}));
return;
}
const script = document.createElement('script');
script.src = 'https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Amasty_LibSwiperJs/js/vendor/swiper/swiper.min.js';
script.async = true;
document.body.appendChild(script);
amSwiperProcessed = true;
script.onload = () => {
window.dispatchEvent(new CustomEvent('amswiper-loaded', {}));
}
const stylesHref = 'https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Amasty_LibSwiperJs/vendor/swiper/swiper.min.css';
if (document.querySelector(`link[href="${stylesHref}"]`)) {
return;
}
const styles = document.createElement('link');
styles.rel = 'stylesheet';
styles.type = 'text/css';
styles.href = stylesHref;
document.head.appendChild(styles);
});
}());
</script>
</head>
<body id="html-body" class="cms-homepage cms-index-index page-layout-1column">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TW3QXPZ"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div
class="ambanners ambanner-10"
data-position="10"
data-bannerid=""
data-role="amasty-banner-container"
></div>
<input name="form_key" type="hidden" value="jUczq2FGQB3mR80O" />
<noscript>
<section class="message global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal">
<div class="container text-center">
<p>
<strong>JavaScript seems to be disabled in your browser.</strong>
<span>
For the best experience on our site, be sure to turn on Javascript in your browser. </span>
</p>
</div>
</section>
</noscript>
<script>
document.body.addEventListener('touchstart', () => {}, {passive: true})
</script>
<script>
async function createCart() {
let newcart_storage = false;
if(!hyva.getBrowserStorage().getItem('mage-cache-storage')) {
hyva.getBrowserStorage().setItem('mage-cache-storage', JSON.stringify({
"cart": {
"summary_count": 0,
"subtotalAmount": null,
"subtotal": "<span class='price'>$0.00</span>",
"possible_onepage_checkout": true,
"items": [],
"extra_actions": "",
"isGuestCheckoutAllowed": true,
"website_id": "1",
"storeId": "1",
"cartId": "",
"storeViewCode": "default",
"subtotal_incl_tax": "<span class='price'>$0.00</span>",
"subtotal_excl_tax": "<span class='price'>$0.00</span>",
"data_id": ""
}
}))
newcart_storage = JSON.parse(hyva.getBrowserStorage().getItem('mage-cache-storage'));
}
this.cartId = JSON.parse(hyva.getBrowserStorage().getItem('mage-cache-storage')).cart.cartId;
var loginstatus = '';
if (!this.cartId && !loginstatus) {
//get Cart Id
const CartIdResponse = await fetch('/maskid');
const CartIdResults = await CartIdResponse.json();
this.cartId = CartIdResults.data.cartId;
//update cache
let cache_storage = newcart_storage || JSON.parse(hyva.getBrowserStorage().getItem('mage-cache-storage'));
cache_storage.cart.cartId = this.cartId;
const browserStorage = hyva.getBrowserStorage();
if (browserStorage) {
browserStorage.setItem('mage-cache-storage', JSON.stringify(cache_storage));
}
}
}
createCart();
function initAddToCart(type_id = null) {
return {
cartId: '',
qty: 1,
isLoading: false,
sku: '',
child_sku: '',
bundle_selections: {},
custom_options: {},
type_id: (type_id) ? type_id : 'simple',
am_giftcard_image: null,
subtotal: 0,
// setCartIdByCustomerData(customerData) {
// if (customerData && customerData.cart && customerData.cart.cartId) {
// this.cartId = JSON.parse(hyva.getBrowserStorage().getItem('mage-cache-storage')).cart.cartId;
// this.isLoading = false
// }
// },
formatBundleOptions() {
let formatted_bundle_selections = [];
const bundle_selections = JSON.parse(JSON.stringify(this.bundle_selections));
for (var key in bundle_selections) {
if (bundle_selections.hasOwnProperty(key) && bundle_selections[key].length) {
console.log(key+" : "+bundle_selections[key])
const qtyElem = document.getElementById('bundle-option-'+key+'-qty-input');
qty = qtyElem ? qtyElem.value : 1;
formatted_bundle_selections.push({
id: parseInt(key),
quantity: qty,
value: [ bundle_selections[key]+"" ]
})
}
}
return formatted_bundle_selections;
},
formatCustomOptions() {
let formatted_custom_options = [];
const custom_options = JSON.parse(JSON.stringify(this.custom_options));
for (var key in custom_options) {
if (custom_options.hasOwnProperty(key)) {
formatted_custom_options.push({
id: parseInt(key),
value_string: custom_options[key]
})
}
}
return formatted_custom_options;
},
formatAmGiftCardOptions() {
const formElem = document.querySelector('#product_addtocart_form');
const formData = new FormData(formElem);
let formatted_giftcard_options = {
am_giftcard_amount: (!isNaN(formData.get('am_giftcard_amount'))) ? formData.get('am_giftcard_amount') : null,
am_giftcard_amount_custom: formData.get('am_giftcard_amount_custom') || null,
am_giftcard_type: formData.get('am_giftcard_type'),
am_giftcard_sender_name: formData.get('am_giftcard_sender_name'),
am_giftcard_recipient_name: formData.get('am_giftcard_recipient_name'),
am_giftcard_recipient_email: formData.get('am_giftcard_recipient_email'),
is_date_delivery: formData.get('is_date_delivery') ? formData.get('is_date_delivery') : false,
am_giftcard_date_delivery:formData.get('am_giftcard_date_delivery'),
am_giftcard_date_delivery_timezone:formData.get('am_giftcard_date_delivery_timezone'),
am_giftcard_message: formData.get('am_giftcard_message'),
am_giftcard_image: this.am_giftcard_image
};
return Object.fromEntries(Object.entries(formatted_giftcard_options).filter(([_, v]) => v != null));;
},
async addToCart(sku,event) {
this.cartId = JSON.parse(hyva.getBrowserStorage().getItem('mage-cache-storage')).cart.cartId;
this.sku = sku;
var loginstatus = '';
if (!this.cartId && !loginstatus) {
//get Cart Id
const CartIdResponse = await fetch('/maskid');
const CartIdResults = await CartIdResponse.json();
this.cartId = CartIdResults.data.cartId;
//update cache
let cache_storage = JSON.parse(hyva.getBrowserStorage().getItem('mage-cache-storage'));
cache_storage.cart.cartId = this.cartId;
const browserStorage = hyva.getBrowserStorage();
if (browserStorage) {
browserStorage.setItem('mage-cache-storage', JSON.stringify(cache_storage));
}
}
if (!this.isLoading) {
this.loadingStart();
let addToQuery;
let queryVars = {};
const $this = this;
switch (this.type_id) {
case 'bundle' :
addToQuery = `
mutation addBundleProductToCart(
$cartId: String!
$quantity: Float!
$sku: String!
$bundle_options: [BundleOptionInput]!
$custom_options: [CustomizableOptionInput]!
) {
addBundleProductsToCart(
input: {
cart_id: $cartId
cart_items: [{
data: {
quantity: $quantity,
sku: $sku
}
bundle_options: $bundle_options,
customizable_options: $custom_options
}]
}
) {
cart {
prices {
grand_total {
value
currency
}
subtotal_excluding_tax {
value
currency
}
subtotal_including_tax {
value
currency
}
applied_taxes {
amount {
value
currency
}
label
}
discounts {
amount {
value
currency
}
label
}
}
items {
product {
name
sku
stock_status
}
quantity
}
}
}
}
`;
queryVars = {
cartId: $this.cartId,
quantity: $this.qty,
sku: $this.sku,
bundle_options: $this.formatBundleOptions(),
custom_options: $this.formatCustomOptions()
}
break;
case 'configurable' :
addToQuery = `
mutation addConfigurableProductToCart(
$cartId: String!
$quantity: Float!
$sku: String!
$parentSku: String!
$custom_options: [CustomizableOptionInput]!
) {
addConfigurableProductsToCart(
input: {
cart_id: $cartId
cart_items: [
{
data: {
quantity: $quantity,
sku: $sku
}
parent_sku: $parentSku,
customizable_options: $custom_options
}
]
}
) {
cart {
prices {
grand_total {
value
currency
}
subtotal_excluding_tax {
value
currency
}
subtotal_including_tax {
value
currency
}
applied_taxes {
amount {
value
currency
}
label
}
discounts {
amount {
value
currency
}
label
}
}
items {
product {
name
sku
stock_status
}
quantity
}
}
}
}
`;
queryVars = {
cartId: this.cartId,
quantity: this.qty,
sku: this.child_sku,
parentSku: this.sku,
custom_options: $this.formatCustomOptions()
}
break;
case 'amgiftcard':
addToQuery = `
mutation addAmGiftCardProductsToCart(
$cartId: String!
$quantity: Float!
$sku: String!
$gift_card_options: AmGiftCardOptionsInput!
) {
addAmGiftCardProductsToCart(
input: {
cart_id: $cartId
cart_items: [{
data: {
quantity: $quantity,
sku: $sku
}
gift_card_options: $gift_card_options
}]
}
) {
cart {
prices {
grand_total {
value
currency
}
subtotal_excluding_tax {
value
currency
}
subtotal_including_tax {
value
currency
}
applied_taxes {
amount {
value
currency
}
label
}
discounts {
amount {
value
currency
}
label
}
}
items {
product {
name
sku
stock_status
}
quantity
}
}
}
}
`;
queryVars = {
cartId: this.cartId,
quantity: this.qty,
sku: this.sku,
gift_card_options: $this.formatAmGiftCardOptions()
}
break;
default:
addToQuery = `
mutation addSimpleProductToCart(
$cartId: String!
$quantity: Float!
$sku: String!
$custom_options: [CustomizableOptionInput]!
) {
addSimpleProductsToCart(
input: {
cart_id: $cartId
cart_items: [
{
data: {
quantity: $quantity,
sku: $sku
},
customizable_options: $custom_options
}
]
}
) {
cart {
prices {
grand_total {
value
currency
}
subtotal_excluding_tax {
value
currency
}
subtotal_including_tax {
value
currency
}
applied_taxes {
amount {
value
currency
}
label
}
discounts {
amount {
value
currency
}
label
}
}
items {
product {
name
sku
stock_status
}
quantity
}
}
}
}
`;
queryVars = {
cartId: this.cartId,
quantity: this.qty,
sku: this.sku,
custom_options: $this.formatCustomOptions()
}
break;
}
//console.log({query: (addToQuery), variables: queryVars});
fetch('https://www.getfpv.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'Store': 'default',
credentials: 'include'
},
body: JSON.stringify({query: (addToQuery), variables: queryVars})
}
).then((response) => {
return response.json()
}
).then((data) => {
//console.log(JSON.stringify(data));
if (data && data.errors) {
this.loadingDone();
//console.log(data.errors);
this.initErrorMessages(data.errors)
} else {
if(data.data.addConfigurableProductsToCart) {
this.subtotal = data.data.addConfigurableProductsToCart.cart.prices.subtotal_excluding_tax.value;
}
if(data.data.addBundleProductsToCart) {
this.subtotal = data.data.addBundleProductsToCart.cart.prices.subtotal_excluding_tax.value;
}
const ct = fetch("/checkout/cart/");
this.reloadCustomerData()
}
}).catch(error => {
console.error(error)
this.loadingDone();
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: "Something\u0020went\u0020wrong.\u0020Please\u0020try\u0020again."
}], 10000
)
})/*.finally(() => {
this.reloadCustomerData()
})*/
}
},
clearErrorMessages() {
window.dispatchEvent(new CustomEvent('clear-messages'))
},
initErrorMessages(errors) {
let messages = []
for (const error in Object.keys(errors)) {
messages.push({
type: 'error',
text: errors[error].message
})
}
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(messages)
},
reloadCustomerData() {
const $this = this;
const reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data")
window.dispatchEvent(reloadCustomerDataEvent)
window.addEventListener('private-content-loaded', function(){
$this.loadingDone();
const toggleCart = new CustomEvent("toggle-cart",{detail: { subtotal: $this.subtotal } });
window.dispatchEvent(toggleCart)
});
},
configurableSelectionChanged(event) {
this.child_sku = configurableOptionConfig.sku[event.detail.productIndex];
},
bundleSelectionChanged(detail) {
this.bundle_selections = detail;
},
customOptionChanged(detail) {
if(detail.active) {
this.custom_options[detail.customOptionId] = detail.value;
} else {
delete this.custom_options[detail.customOptionId];
}
},
loadingDone() {
this.isLoading = false;
const loadingDone = new CustomEvent("addtocart-done");
window.dispatchEvent(loadingDone);
},
loadingStart() {
this.isLoading = true;
const loadingStart = new CustomEvent("addtocart-loading");
window.dispatchEvent(loadingStart);
},
eventListeners: {
['@update-qty.window'](event) {
this.qty = event.detail;
},
['@configurable-selection-changed.window'](event) {
this.configurableSelectionChanged(event);
},
['@update-bundle-option-active.window'](event) {
this.bundleSelectionChanged(event.detail);
} ,
['@update-custom-option-active.window'](event) {
this.customOptionChanged(event.detail);
},
['@click-giftcard-image.window'](event) {
this.am_giftcard_image = event.detail.id;
}
}
}
}
</script>
<div
x-data="{isLoading:false}"
@addtocart-loading.window="isLoading=true"
@addtocart-done.window="isLoading=false"
class="hidden relative"
:class="{'block':isLoading,'hidden':!isLoading}"
style="z-index:9999"
>
<div
class="z-50 fixed inset-0 grid place-items-center bg-white/70 text-slate-800"
x-cloak
x-show="isLoading"
x-transition.opacity.duration.200ms
>
<div class="flex gap-10 items-center p-4">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" width="57" height="57" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
<style>
@keyframes spinner-ball-triangle1 {
0% { transform: translate(0%, 0%); }
33% { transform: translate(38%, -79%); }
66% { transform: translate(77%, 0%); }
100% { transform: translate(0%, 0%); }
}
@keyframes spinner-ball-triangle2 {
0% { transform: translate(0%, 0%); }
33% { transform: translate(38%, 79%); }
66% { transform: translate(-38%, 79%); }
100% { transform: translate(0%, 0%); }
}
@keyframes spinner-ball-triangle3 {
0% { transform: translate(0%, 0%); }
33% { transform: translate(-77%, 0%); }
66% { transform: translate(-38%, -79%); }
100% { transform: translate(0%, 0%); }
}
</style>
<circle cx="5" cy="50" r="5" style="animation: spinner-ball-triangle1 2.2s linear infinite"/>
<circle cx="27" cy="5" r="5" style="animation: spinner-ball-triangle2 2.2s linear infinite"/>
<circle cx="49" cy="50" r="5" style="animation: spinner-ball-triangle3 2.2s linear infinite"/>
</svg>
<span class="text-xl select-none">
Loading... </span>
</div>
</div>
</div>
<div class="page-wrapper"><header class="page-header"><a class="action skip sr-only focus:not-sr-only focus:absolute focus:z-40 focus:bg-white
contentarea"
href="#contentarea">
<span>
Skip to Content </span>
</a>
<script>
function initHeader () {
return {
searchOpen: false,
cart: {},
getData(data) {
if (data.cart) { this.cart = data.cart }
},
menu: initHeaderNavigation()
}
}
function initCompareHeader() {
return {
compareProducts: null,
itemCount: 0,
receiveCompareData(data) {
if (data['compare-products']) {
this.compareProducts = data['compare-products'];
this.itemCount = this.compareProducts.count;
}
}
}
}
</script>
<nav id="header"
class="z-30 w-full bg-g-header "
x-data="initHeader()"
@keydown.window.escape="searchOpen = false;"
@private-content-loaded.window="getData(event.detail.data)"
>
<div class="container relative hidden lg:block">
<ul class="flex absolute right-0 text-sm font-medium top-links pr-6 pt-1">
<li><a href="/sales/order/history/" class="hover:underline">Order Status</a></li>
<!-- <li><a href="/contact" class="hover:underline">Support</a></li> -->
<li><a href="/contact" class="hover:underline">Contact</a></li>
</ul>
</div>
<div class="container flex items-center justify-between flex-wrap w-full px-6 mx-auto mt-0">
<!--Logo-->
<a href="/" class="order-2 py-2 lg:py-0" aria-label="Logo Home Page Link">
<svg xmlns="http://www.w3.org/2000/svg" id="a2d4bd7e-662d-4e32-979d-e02498bfe581" data-name="Layer 1" viewBox="0 0 454.8 186.6" class="h-10 md:h-auto" width="138" height="76" role="img"><path d="M184,183.2c-17.2,0-30.7-12.8-30.7-29.1a31.14,31.14,0,0,1,2.4-12.4,26.13,26.13,0,0,1-9.5-6.6,51.87,51.87,0,0,1-29.5,9.4c-8.8,0-16.7-2.8-22.7-8a88.64,88.64,0,0,1-9.2,4.7l-1.3,5.9c-6.6,31.4-27.9,36.1-40,36.1-17.5,0-29.7-11.3-29.7-27.4a29,29,0,0,1,3.9-15C8,134.4,3.5,122.7,3.5,111.6c0-34.5,15.7-69.3,50.7-69.3a25.14,25.14,0,0,1,8.2,1.3,12.43,12.43,0,0,1,5.8-1.4H90.5a12.33,12.33,0,0,1,9.6,4.6,14,14,0,0,1,2.4,4.7,40.48,40.48,0,0,1,27.9-10.7c8.3,0,14.8,1.8,19.6,4.7a13.56,13.56,0,0,1,3.4-2.3l2.8-12.8a12.34,12.34,0,0,1,10.4-9.6l22.9-3.1a9.7,9.7,0,0,1,1.7-.1,12.36,12.36,0,0,1,9.1,4,12.93,12.93,0,0,1,2.9,5.4C210,12,222.7,3.5,239.3,3.5c17.2,0,30.7,12.8,30.7,29.1a54.38,54.38,0,0,1-.6,8.4c-.1.4-.1.7-.2,1.1h2a11.41,11.41,0,0,1,4.1.7,31.53,31.53,0,0,1,6.1-.6c12.6,0,20.9,3.3,26.4,8.3a12.38,12.38,0,0,1,11.7-8.4h22.3a13.16,13.16,0,0,1,5.6,1.3,21.24,21.24,0,0,1,13-4.4c11.1,0,22.3,8.1,22.3,26.3,0,32.8-17.4,79-55.9,79-12.6,0-22.1-4.7-27.3-12.9-9,9.9-19.9,12.7-29.3,12.7a34.77,34.77,0,0,1-5.5-.4l-5.1,24a12.55,12.55,0,0,1-9.2,9.5L227,182.8a13.58,13.58,0,0,1-2.9.3,12.1,12.1,0,0,1-8.6-3.5,12,12,0,0,1-3.7-7.8C202.9,181.3,191.6,183.2,184,183.2Z" transform="translate(0 -0.1)" style="fill:#fff"/><path d="M378.3,42.9a24.46,24.46,0,0,0-17.8-7.4,24.72,24.72,0,0,0-13.4,4,15.38,15.38,0,0,0-5.2-.9H319.6a15.78,15.78,0,0,0-12.9,6.6c-6.4-4.3-14.9-6.4-25.3-6.4a37.85,37.85,0,0,0-5.8.5,18.92,18.92,0,0,0-2.3-.5,57.93,57.93,0,0,0,.3-6.1c0-18.3-15-32.6-34.2-32.6C223.8.1,211.2,7,203.2,19.7l-.3-.3a15.82,15.82,0,0,0-11.7-5.1,14.77,14.77,0,0,0-2.1.1l-23,3.1a16,16,0,0,0-13.4,12.4L150.3,41c-.2.1-.4.3-.6.4a42.61,42.61,0,0,0-19.3-4.1,43.55,43.55,0,0,0-26.5,8.6,6.42,6.42,0,0,0-1-1.3,15.9,15.9,0,0,0-12.4-5.9H68.2a16.17,16.17,0,0,0-6.1,1.2,30,30,0,0,0-7.9-1c-17.4,0-31.7,8.1-41.4,23.3C4.5,75,0,92.6,0,111.6,0,124,4.9,135,13.2,141.8a32.21,32.21,0,0,0-2.9,14c0,18.2,13.7,30.9,33.3,30.9,13.2,0,36.4-5.1,43.5-39l.9-4.1a62.68,62.68,0,0,0,5.8-2.9,38.14,38.14,0,0,0,23,7.2,54.25,54.25,0,0,0,29-8.4,30.41,30.41,0,0,0,5.5,3.9,36.7,36.7,0,0,0-1.5,10.6c0,18.3,15,32.6,34.2,32.6a42.15,42.15,0,0,0,26.1-8.5,16.76,16.76,0,0,0,3,4,15.83,15.83,0,0,0,11.1,4.5,15.53,15.53,0,0,0,3.7-.4l23.4-5.6a16.1,16.1,0,0,0,11.9-12.2l4.4-20.8a24.37,24.37,0,0,0,2.7.1c11.3,0,21.1-3.6,29-10.9,6.2,7.1,15.8,11,27.6,11,41,0,59.5-48.3,59.5-82.6C386.3,56.1,383.5,48.3,378.3,42.9Zm-51.5,98c-11.1,0-19.7-4-24.3-11.2l-2.5-3.9-3.1,3.4c-7,7.7-16,11.6-26.7,11.6a27,27,0,0,1-4.9-.4l-3.3-.5-5.8,27.3a8.71,8.71,0,0,1-6.6,6.7l-23.4,5.6a6.8,6.8,0,0,1-2,.2,9,9,0,0,1-6.2-2.5,8.63,8.63,0,0,1-2.6-5.6l-.6-7.9-5.5,5.8c-8,8.5-18.2,10.2-25.3,10.2-15.2,0-27.1-11.2-27.1-25.6A28.16,28.16,0,0,1,159,143l1.4-3.3-3.3-1.4a23.2,23.2,0,0,1-8.2-5.7l-2.1-2.3-2.5,1.7a48.51,48.51,0,0,1-27.5,8.8,31.43,31.43,0,0,1-20.4-7.1l-1.9-1.6-2.2,1.3a65.57,65.57,0,0,1-8.8,4.4l-1.7.7-1.6,7.7c-5.8,27.5-23.1,33.3-36.5,33.3-15.7,0-26.2-9.6-26.2-23.9A24.37,24.37,0,0,1,21,142.4l1.7-2.9-2.8-1.9c-7.8-5.1-12.6-15.2-12.6-26.2,0-32.7,14.6-65.7,47.1-65.7a24.47,24.47,0,0,1,7.1,1.1l1.4.5,1.3-.7a8.57,8.57,0,0,1,4.1-1H90.6a8.48,8.48,0,0,1,6.8,3.3,8.39,8.39,0,0,1,1.7,3.4l1.4,5.7,4.4-3.9a37,37,0,0,1,25.5-9.8c7.2,0,13.1,1.4,17.8,4.2l2.3,1.4,2-1.8a7.76,7.76,0,0,1,2.4-1.6l1.6-.7,3.1-14.5a9,9,0,0,1,7.4-6.9l22.9-3.1a8.82,8.82,0,0,1,7.7,2.8,9.5,9.5,0,0,1,2.1,3.8l2.4,9.9,4.2-9.3c6.4-14,17.8-21.4,33-21.4s27.1,11.2,27.1,25.6a46.65,46.65,0,0,1-.6,7.8,2.35,2.35,0,0,1-.2.8l-1.1,4.4h6.6a10.47,10.47,0,0,1,3,.5l.9.3.9-.2a34.08,34.08,0,0,1,5.5-.5c10.6,0,18.7,2.5,24.1,7.3l4,3.6,1.7-5.1a8.8,8.8,0,0,1,8.3-6h22.3a7.92,7.92,0,0,1,4,1l2,1,1.8-1.3a18.15,18.15,0,0,1,10.9-3.7c13.8,0,18.7,12.3,18.7,22.8,0,17.4-4.9,36.1-13,50C359.4,127,347,140.9,326.8,140.9Z" transform="translate(0 -0.1)"/><path d="M240.8,60.9l1.1-6.2H230.6l2.6-12.2c2.2-10.3,7.4-12.7,10.8-12.7,3.1,0,5.9,1.7,5.9,5.2,0,1.4-.2,2.6-.3,4.2h7.3a38.31,38.31,0,0,0,.5-6.3c0-10-8.8-16.7-18.2-16.7-10.2,0-23.4,4.2-28.1,26.2l-14,66.2c-5.1,4.4-10.6,9.1-15.1,9.1-6.2,0-7.7-2.3-7.7-5.9,0-.8-.2-2.3,10.5-51.1h9.3l1.2-6.2H186c2.9-13.9,5.2-24.4,5.2-24.4l-22.8,3.1-4.6,21.3h-5.1l-1.2,6.2h5.1c-1.8,8.9-5.9,26.4-8.5,39.5h-.3c-5.4,11.4-18.4,20.4-25.9,20.4-6,0-12.6-3.1-12.6-13.3a55.73,55.73,0,0,1,.5-6.6c14.7-1.8,34.9-12.6,34.9-31.5,0-10.8-7.1-16-19.7-16-28.1,0-36.4,34.4-36.4,54a10.87,10.87,0,0,0,.1,1.8c-4.9,6.1-11.1,10.4-17.8,13.9L91,54.7H68.8l-1.7,7.4a13.5,13.5,0,0,0-12.2-7.2c-29.9,0-38.1,35.3-38.1,56.6,0,9.1,4.3,21.6,19.1,21.6,7.1,0,13.1-3.2,17.7-7.4l-1.5,6.9C38.3,137.7,27,142.8,27,155.4c0,10,7.9,15,17.3,15,10.2,0,23.1-4.2,27.8-26.2l2.6-12.3c9-3.3,17.3-7.3,21.8-13.3,3.3,7.8,10.3,13.3,20.6,13.3,14.4,0,26.1-8.2,34.8-18.7a12.13,12.13,0,0,0-.1,1.8c0,11.6,7.2,16.8,19.1,16.8,7.3,0,16.6-7.6,24.4-15.1l-2.9,13.9c-14.7,4.5-26.5,8.9-26.5,23.1,0,10,8.8,16.7,18.2,16.7,10,0,22.8-4.2,27.6-26.2l17.7-83.3Zm-105,.6c4.6,0,5.4,5.4,5.4,8.6-.2,11-10.2,23.1-24.4,23.3C120,78.9,127.1,61.5,135.8,61.5ZM49.7,144.6c-1.9,9.1-5.9,13.7-8.9,13.7a5.19,5.19,0,0,1-5.2-5.1c0-6,6.3-9.9,15.1-13.3Zm6.6-31.7c-2.9,3.1-6.2,5.4-9.3,5.4-6.8,0-11.3-2.3-11.3-9.7,0-13.3,5.9-45,20.8-45,2.6,0,6.3,2,8.8,6.6Zm133,31.7c-2,9.1-5.6,12-8.8,12-3.4,0-6.2-2.9-6.2-5.1,0-8.3,7.3-12.7,17-15.9Z" transform="translate(0 -0.1)"/><path d="M359.6,51.6c-5.1,0-8.8,4.3-8.8,7.6,0,4.3,2,8.6,6.5,8.6a12,12,0,0,0,3.2-.6c0,16.8-10.3,50.6-25.4,50.6-4.5,0-5.9-2-5.9-4.9a25.88,25.88,0,0,1,.8-5.7l11.1-52.4H318.9l-11.1,52.4a39.12,39.12,0,0,0-.8,7.9c0,11.6,7.3,16.8,19.1,16.8,31.2,0,43.3-42.3,43.3-66.3C369.4,57.5,366.2,51.6,359.6,51.6Z" transform="translate(0 -0.1)"/><path d="M280.9,54.9a23.12,23.12,0,0,0-10.8,2.8l.6-2.9H248.5L224,170.4l23.3-5.6,8-37.8a27,27,0,0,0,14.5,4.6c15.7,0,29-11.3,33.8-44.4a73.51,73.51,0,0,0,.9-10.8C304.5,60.6,296.9,54.9,280.9,54.9Zm2.9,34.2c-5.1,24.5-8.8,31.2-16.5,31.2-2.5,0-6.3,0-10-2.8l11.1-51.8a15.86,15.86,0,0,1,8.8-3.2c4.9,0,8.6,1.9,8.6,11.1A81.2,81.2,0,0,1,283.8,89.1Z" transform="translate(0 -0.1)"/><path d="M372.3,127.3a4.05,4.05,0,0,0,0,8.1,4.1,4.1,0,0,0,4.1-4A4.18,4.18,0,0,0,372.3,127.3Z" transform="translate(0 -0.1)" style="fill:#fff"/><path d="M453.5,130.7c-1.5,0-1.9-.7-1.9-1.6,0-1.1,2.2-10,2.4-11.7,0-.4.1-.8.1-1.2,0-3.5-3-6.4-5.8-6.4-2.5,0-5.1,1.5-7.4,3.2a6.15,6.15,0,0,0-5-3.2c-2.2,0-4.5,1.2-6.5,2.7l.6-2.7h-7.3l-1.4,6.7a4.53,4.53,0,0,1-2.4.7,2.07,2.07,0,0,1-1.5-.5c-.1-3.7-1.3-7.5-6.1-7.5-7,0-13.3,5.3-13.3,17.7-2.2,2.2-4.8,3.9-8,3.9s-3.7-2.4-3.7-5.4c0-5.5,2.7-13.7,7-13.7,1.1,0,1.9.5,1.9,1.7a3.93,3.93,0,0,1-.3,1.4,6.13,6.13,0,0,1,1.6-.3,3.55,3.55,0,0,1,1.3.3,5.55,5.55,0,0,0,.3-1.7c0-2.8-2.8-3.5-5.6-3.5-9.8,0-13,9.8-13,17.2,0,6,2.7,8.3,7,8.3,6.3,0,9.5-3.1,11.7-5.9.5,4.5,2.9,6.2,7.6,6.2,5.1,0,10.6-5,11.6-15.2a13.7,13.7,0,0,0,3.5-1.5l-3.5,16.4h7.3l4.4-20.5a5.1,5.1,0,0,1,3.1-1.1c1.4,0,2.3,1.2,2.3,3a5.85,5.85,0,0,1-.2,1.3L430.6,135H438l3.8-17.8c0-.4.1-.7.1-1.1a5.66,5.66,0,0,0-.3-1.8,4.68,4.68,0,0,1,2.8-.9c1.4,0,2.3,1.2,2.3,3a5.85,5.85,0,0,1-.2,1.3l-1.9,9.1a13,13,0,0,0-.3,2.6c0,3.8,1.9,5.5,5.2,5.5,1.7,0,3.9-.3,5.3-4.7A1.55,1.55,0,0,1,453.5,130.7Zm-40-9.9c-.6,4.9-2.3,9.8-5.4,9.8-2,0-3.4-.8-3.4-3.9,0-4.1,2-14.4,6.8-14.4,1.4,0,2,1,2.1,2.6a3.78,3.78,0,0,0-2.2,3.6A2,2,0,0,0,413.5,120.8Z" transform="translate(0 -0.1)" style="fill:#fff"/><title>getfpv-logo</title></svg>
</a>
<!--Search-->
<script defer>
//todo move result url to view model
const algoliaConfig = Object.assign(
{"instant":{"enabled":true,"selector":".columns","isAddToCartEnabled":true,"addToCartParams":{"action":"https:\/\/www.getfpv.com\/checkout\/cart\/add\/","formKey":"jUczq2FGQB3mR80O","redirectUrlParam":"uenc"},"infiniteScrollEnabled":false,"urlTrackedParameters":["query","attribute:*","index","page"],"isSearchBoxEnabled":true,"isVisualMerchEnabled":false,"categorySeparator":" \/\/\/ ","categoryPageIdAttribute":"categoryPageId","isCategoryNavigationEnabled":false,"hidePagination":false,"isDynamicFacetsEnabled":false,"redirects":{"enabled":false,"onPageLoad":true,"onSearchAsYouType":false,"showSelectableRedirect":true,"openInNewWindow":false}},"autocomplete":{"enabled":true,"selector":".algolia-search-input","sections":[{"name":"pages","label":"Pages","hitsPerPage":"2"}],"nbOfProductsSuggestions":14,"nbOfCategoriesSuggestions":2,"nbOfQueriesSuggestions":2,"isDebugEnabled":false,"isNavigatorEnabled":true,"debounceMilliseconds":300,"minimumCharacters":0,"redirects":{"enabled":true,"showSelectableRedirect":true,"showHitsWithRedirect":false,"openInNewWindow":false}},"landingPage":{"query":"","configuration":"[]"},"recommend":{"enabledFBT":false,"enabledRelated":false,"enabledFBTInCart":false,"enabledRelatedInCart":false,"enabledLookingSimilar":0,"limitFBTProducts":6,"limitRelatedProducts":6,"limitTrendingItems":6,"limitLookingSimilar":6,"enabledTrendItems":0,"trendItemFacetName":null,"trendItemFacetValue":null,"isTrendItemsEnabledInPDP":0,"isTrendItemsEnabledInCartPage":0,"isAddToCartEnabledInFBT":false,"isAddToCartEnabledInRelatedProduct":false,"isAddToCartEnabledInTrendsItem":false,"isAddToCartEnabledInLookingSimilar":false,"FBTTitle":"Frequently bought together","relatedProductsTitle":"Related products","trendingItemsTitle":"Trending items","addToCartParams":{"action":"https:\/\/www.getfpv.com\/checkout\/cart\/add\/","formKey":"jUczq2FGQB3mR80O","redirectUrlParam":"uenc"},"isLookingSimilarEnabledInPDP":0,"isLookingSimilarEnabledInCartPage":0,"lookingSimilarTitle":"Looking Similar"},"extensionVersion":"3.16.0","applicationId":"7NZGDMPIFH","indexName":"magentoprod_default","baseIndexName":"magentoprod_default","apiKey":"ZGJiNmYzNDNkNzc4NTMyMmYwYTRhMjI2ODc1M2ExY2IxZGJhOTc1ZWJiYjg2ZGY3ZTdlMTI0OTQwMDU5OWI5N3RhZ0ZpbHRlcnM9JnZhbGlkVW50aWw9MTc2NTg5ODE3OA==","attributeFilter":[],"facets":[{"attribute":"price","type":"slider","label":"Price","searchable":"3","create_rule":"2"},{"attribute":"categories","type":"conjunctive","label":"Categories","searchable":"3","create_rule":"2"},{"attribute":"manufacturer","type":"conjunctive","label":"Manufacturer","searchable":"3","create_rule":"2"}],"areCategoriesInFacets":true,"hitsPerPage":20,"sortingIndices":[{"attribute":"price","sort":"asc","sortLabel":"Lowest price","name":"magentoprod_default_products_price_default_asc","ranking":["asc(price.USD.default)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Lowest price"},{"attribute":"price","sort":"desc","sortLabel":"Highest price","name":"magentoprod_default_products_price_default_desc","ranking":["desc(price.USD.default)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Highest price"},{"attribute":"created_at","sort":"desc","sortLabel":"Newest first","name":"magentoprod_default_products_created_at_desc","ranking":["desc(created_at)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Newest first"},{"attribute":"yotpo_average_score","sort":"desc","sortLabel":"Best Rated","name":"magentoprod_default_products_yotpo_average_score_desc","ranking":["desc(yotpo_average_score)","typo","geo","words","filters","proximity","attribute","exact","custom"],"label":"Best Rated"}],"isSearchPage":false,"isCategoryPage":false,"isLandingPage":false,"removeBranding":true,"productId":null,"priceKey":".USD.default","priceGroup":null,"origFormatedVar":"price.USD.default_original_formated","tierFormatedVar":"price.USD.default_tier_formated","currencyCode":"USD","currencySymbol":"$","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"maxValuesPerFacet":10,"autofocus":true,"resultPageUrl":"https:\/\/www.getfpv.com\/catalogsearch\/result\/","request":{"query":"","refinementKey":"","refinementValue":"","categoryId":"","landingPageId":"","path":"","level":"","parentCategory":"","childCategories":[],"url":"https:\/\/www.getfpv.com\/"},"showCatsNotIncludedInNavigation":true,"showSuggestionsOnNoResultsPage":true,"baseUrl":"https:\/\/www.getfpv.com","popularQueries":[],"useAdaptiveImage":false,"urls":{"logo":"https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Algolia_AlgoliaSearch\/js\/images\/algolia-logo-blue.svg"},"cookieConfiguration":{"customerTokenCookie":"_ALGOLIA_MAGENTO_AUTH","consentCookieName":"user_allowed_save_cookie","cookieAllowButtonSelector":"#btn-cookie-allow","cookieRestrictionModeEnabled":false,"cookieDuration":"15552000000"},"ccAnalytics":{"enabled":false,"ISSelector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","conversionAnalyticsMode":"all","addToCartSelector":".action.primary.tocart","orderedProductIds":[]},"isPersonalizationEnabled":false,"personalization":{"enabled":false,"viewedEvents":{"viewProduct":{"eventName":"Viewed Product","enabled":false,"method":"viewedObjectIDs"}},"clickedEvents":{"productClicked":{"eventName":"Product Clicked","enabled":false,"selector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","method":"clickedObjectIDs"},"productRecommended":{"eventName":"Recommended Product Clicked","enabled":false,"selector":".products-upsell .product-item","method":"clickedObjectIDs"}},"filterClicked":{"eventName":"Filter Clicked","enabled":false,"method":"clickedFilters"}},"analytics":{"enabled":false,"delay":"3000","triggerOnUiInteraction":"1","pushInitialSearch":"0"},"now":1765756800,"queue":{"isEnabled":true,"nbOfJobsToRun":100,"retryLimit":3,"nbOfElementsPerIndexingJob":300},"isPreventBackendRenderingEnabled":false,"translations":{"to":"to","or":"or","go":"Go","popularQueries":"You can try one of the popular search queries","seeAll":"See all products","allDepartments":"Search page","seeIn":"See products in","orIn":"or in","noProducts":"No products for query","noResults":"No results","refine":"Refine","selectedFilters":"Selected Filters","clearAll":"Clear all","previousPage":"Previous page","nextPage":"Next page","searchFor":"Search for products","relevance":"Relevance","categories":"Categories","products":"Products","suggestions":"Suggestions","searchBy":"Search by","redirectSearchPrompt":"Continue search for","searchForFacetValuesPlaceholder":"Search for other ...","showMore":"Show more products","searchTitle":"Search results for","placeholder":"Search for products, categories, ...","addToCart":"Add to Cart"}}, {
resultURL:'https\u003A\u002F\u002Fwww.getfpv.com\u002Fcatalogsearch\u002Fresult\u002F',
placeholder: 'Search\u003A'
}
)
const instantsearchScripts = ["https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Hyva_AlgoliaSearch\/js\/internals\/algoliaBundle.min.js","https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Hyva_AlgoliaSearch\/js\/internals\/common.js","https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Hyva_AlgoliaSearch\/js\/internals\/instantsearch.js"]
const autocompleteScripts = ["https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Hyva_AlgoliaSearch\/js\/internals\/autocomplete-js.js","https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Hyva_AlgoliaSearch\/js\/internals\/algoliasearch.js","https:\/\/www.getfpv.com\/static\/version1765186506\/frontend\/Getfpv\/default\/en_US\/Hyva_AlgoliaSearch\/js\/internals\/algoliasearch-query-suggestion-plugin.js"]
function loadScript (url) {
let script = document.createElement('script')
script.setAttribute('type', 'text/javascript')
script.setAttribute('src', url)
document.head.append(script)
return new Promise((resolve) => script.addEventListener('load', resolve))
}
function loadScripts(scripts) {
return Promise.all(scripts.map(loadScript))
}
let autocompleteInitialized = false
async function initAlgoliaAutoComplete() {
if (autocompleteInitialized) {
return
}
autocompleteInitialized = true
await loadScripts(autocompleteScripts)
await loadScript('https\u003A\u002F\u002Fwww.getfpv.com\u002Fstatic\u002Fversion1765186506\u002Ffrontend\u002FGetfpv\u002Fdefault\u002Fen_US\u002FHyva_AlgoliaSearch\u002Fjs\u002Finternals\u002FautocompleteConfig.js')
}
function initInstantSearch() {
loadScripts(instantsearchScripts).then(() => {
algoliaCommon()
initAlgoliaInstantSearch()
})
}
if (algoliaConfig.autocomplete.enabled) {
initAlgoliaAutoComplete();
// document.getElementById('menu-search-icon').onclick = async () => {
// await initAlgoliaAutoComplete()
// // autocomplete library autoFocus configuration param doesn't work
// document.querySelector('#algolia-autocomplete-container input').focus()
// }
}
if (algoliaConfig.instant.enabled && algoliaConfig.isSearchPage) {
initInstantSearch()
}
</script>
<div class="algolia-search-block block-search lg:py-0 lg:container mx-auto text-black w-full max-w-full lg:max-w-screen-sm order-5 lg:order-3"
x-data="{ topic: 'all' }" style="min-height: 62px;">
<div class="w-full flex justify-center py-2">
<div class="w-full relative" >
<button type="submit" class="bg-black px-4 absolute top-0 right-0 h-full" style="z-index:1; overflow: hidden" aria-label="Search Button" onclick="goToResults()"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5 text-white" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd" />
</svg></button>
<div id="algolia-autocomplete-container"></div>
</div>
</div>
<script type="text/javascript">
const goToResults = function() {
const searchInput = document.querySelector("#autocomplete-0-input").value;
window.location = "/catalogsearch/result/?q=" + searchInput;
}
</script>
</div>
<style>
/* SEARCH BOX */
.ais-search-box--powered-by {
font-size: .8em;
text-align: right;
margin-top: 2px;
}
input::-ms-clear {
display: none;
}
/* PAGINATION */
#instant-search-pagination-container {
width: 100%;
text-align: center;
}
.ais-pagination {
background-color: transparent;
border: none;
box-shadow: none;
margin: 20px auto;
}
.ais-pagination li {
display: inline-block;
}
.ais-pagination--item a {
padding: 5px 10px;
margin: 0 5px;
line-height: 25px;
background-color: white;
color: #727272;
}
.ais-pagination li.ais-pagination--item__disabled {
display: none;
}
.ais-pagination--item__active a {
font-weight: bolder;
color: #606060;
text-decoration: underline;
}
.ais-pagination--item.ais-pagination--item__next a,
.ais-pagination--item.ais-pagination--item__previous a {
font-weight: bold;
color: #606060;
}
/* REFINEMENT LIST */
.ais-menu--link,
.ais-hierarchical-menu--link,
.ais-price-ranges--link,
.ais-refinement-list--label {
padding: 4px 10px;
cursor: pointer;
color: #636363;
text-decoration: none;
display: block;
font-family: inherit;
font-weight: inherit;
font-size: inherit;
}
.ais-hierarchical-menu--item__active > div > .ais-hierearchical-link-wrapper > .ais-hierarchical-menu--link,
.ais-refinement-list--item__active > div > .ais-hierarchical-list--link,
.ais-refinement-list--item__active > div > .ais-refinement-list--label,
.ais-price-ranges--item__active > .ais-price-ranges--link{
font-weight: bold;
box-shadow: inset 3px 0 0 #3399cc;
}
.ais-hierearchical-link-wrapper, .ais-refinement-list--item {
padding: 7px 0px;
}
.ais-refinement-list--label, .ais-hierarchical-menu--link {
line-height: 1.0em;
padding: 0px 10px;
}
.ais-refinement-list--label img {
display: inline;
}
.ais-hierarchical-menu--item__active .ais-hierearchical-link-wrapper .cross-circle,
.ais-refinement-list--item__active .cross-circle {
display: inline-block;
width: 12px;
height: 12px;
background: url("cross-circle.svg") no-repeat center center / contain;
opacity: 0;
}
.ais-hierarchical-menu--item__active .ais-hierearchical-link-wrapper:hover .cross-circle,
.ais-refinement-list--item__active:hover .cross-circle {
text-decoration: underline;
vertical-align: bottom;
margin-left: 6px;
opacity: 1;
}
.ais-refinement-list--item:hover {
text-decoration: underline;
}
.ais-price-ranges--input
{
width: 70px !important;
}
.ais-price-ranges--label
{
margin: 5px;
}
.ais-refinement-list--checkbox
{
margin-right: 10px;
}
#algolia_instant_selector .current-refinements
{
position: relative;
}
.ais-current-refined-values--link
{
cursor: pointer;
color: #636363;
border-radius: 2px;
border: solid 1px #DDDDDD;
background-color: #f4f4f4;
display: inline-block;
max-width: 100%;
white-space: nowrap;
padding: 0 8px 0 0;
height: 28px;
overflow: hidden;
}
.ais-current-refined-values--clear-all
{
position: absolute;
right: 6px;
top: 3px;
color: #666666;
font-weight: 500;
}
a.ais-current-refined-values--link:hover
{
text-decoration: none;
}
.ais-current-refined-values--item {
margin-top: 8px;
}
.ais-current-refined-values--item:after {
clear: both;
content: "";
display: block;
}
.ais-current-refined-values--item .current-refinement-label {
font-weight: bold;
}
.ais-current-refined-values--item .cross-wrapper {
font-weight: bold;
background-color: #DDDDDD;
border-radius: 1px 0 0 1px;
float: left;
width: 26px;
height: 26px;
text-align: center;
line-height: 26px;
}
.ais-current-refined-values--link:hover .cross-wrapper {
text-decoration: none;
}
.ais-current-refined-values--link .cross-wrapper img {
display: inline;
margin-top: 6px;
}
.ais-current-refined-values--item .current-refinement-wrapper {
float: left;
width: calc(100% - 26px);
height: 26px;
padding-left: 8px;
overflow: hidden;
text-overflow: ellipsis;
line-height: 26px;
}
.ais-current-refined-values--link:hover .current-refinement-wrapper {
text-decoration: line-through;
}
.ais-menu--link:hover,
.ais-price-ranges--link:hover,
.ais-hierarchical-menu--link:hover {
color: #636363;
}
.ais-menu--count, .ais-hierarchical-menu--count, .ais-refinement-list--count {
float: right;
color: #666;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__wrapper {
width: 94%;
margin: 0 auto 5px;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__submit {
display: none;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__reset {
width: 10px;
margin-top: -30px;
margin-right: 7px;
background: none;
border: none;
box-shadow: none;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__reset:hover {
background: none;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__reset svg {
width: 15px;
height: 15px;
fill: #636363;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__input {
border : 1px solid silver;
}
#algolia_instant_selector .ais-refinement-list--list .sbx-sffv__input:focus {
border : 1px solid #54A5CD;
}
#algolia_instant_selector .ais-refinement-list--list .sffv-no-results {
padding-left: 3%;
}
/* RANGE SLIDER */
.ais-range-slider--target {
position: relative;
direction: ltr;
background: #F3F4F7;
height: 6px;
margin-top: 3em;
margin-bottom: 4em;
width: 88%;
margin-left: 6%;
}
.ais-range-slider--base {
width: 100%;
height: 100%;
position: relative;
z-index: 1;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
border-left: 2px solid #DDD;
border-right: 2px solid #DDD;
}
.ais-range-slider--origin {
position: absolute;
right: 0;
top: 0;
left: 0;
bottom: 0;
}
.ais-range-slider--connect {
background: #b5b6b9;
}
.ais-range-slider--background {
background: #F3F4F7;
}
.ais-range-slider--handle {
width: 20px;
height: 20px;
position: relative;
z-index: 1;
background: #FFFFFF;
border: 1px solid #c8c8c8;
border-radius: 50%;
cursor: pointer;
}
.ais-range-slider--handle-lower {
left: -10px;
bottom: 7px;
}
.ais-range-slider--handle-upper {
right: 10px;
bottom: 7px;
}
.ais-range-slider--tooltip {
position: absolute;
background: #FFFFFF;
top: -2em;
left: -50%;
min-width: 20px;
text-align: center;
font-size: .8em;
}
.ais-range-slider--pips {
box-sizing: border-box;
position: absolute;
height: 3em;
top: 100%;
left: 0;
width: 100%;
}
.ais-range-slider--value {
width: 40px;
position: absolute;
text-align: center;
margin-left: -20px;
padding-top: 15px;
font-size: .8em;
}
.ais-range-slider--value-sub {
font-size: .8em;
padding-top: 15px;
}
.ais-range-slider--marker {
position: absolute;
margin-left: -1px;
width: 1px;
height: 5px;
}
.ais-range-slider--marker-large {
background: #DDD;
width: 2px;
margin-left: -2px;
height: 12px;
}
.ais-range-slider--marker-large:first-child {
margin-left: 0;
}
.ais-root__collapsed .ais-body, .ais-root__collapsed .ais-footer {
display: none;
}
/******************
**
** Auto-completion menu
**
******************/
#algolia-autocomplete-container .aa-dropdown-menu .before_special {
color: #aaaaaa;
text-decoration: line-through;
font-size: 12px;
}
#algolia-autocomplete-container .aa-dropdown-menu .info-without-thumb .category-tag {
color: #3284b6;
}
#algolia-autocomplete-container .aa-dropdown-menu .info-without-thumb .details {
font-size: 10px;
color: #666;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
#algolia-autocomplete-container .aa-dropdown-menu .info-without-thumb .details em {
color: #222222;
}
#algolia-autocomplete-tt.algolia-autocomplete {
width: 100%;
display: inline-block !important;
}
#algolia-autocomplete-container .aa-dropdown-menu {
position: absolute;
margin-top: -1px;
right: 0px;
width: 100%;
z-index: 1000 !important;
border: 1px solid #BBB;
border-radius: 1px;
background: white;
padding-bottom: 45px
}
@media (min-width: 992px) {
#algolia-autocomplete-container .aa-dropdown-menu {
width: 71.1%;
min-width: 800px;
}
}
#algolia-autocomplete-container .aa-dropdown-menu .col-2 {
position: relative;
}
#algolia-autocomplete-container .aa-dropdown-menu .col-2 .col-left {
width: 67%;
}
#algolia-autocomplete-container .aa-dropdown-menu .col-2 .col-right {
width: 33%;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-no-results-products {
padding: 40px 40px;
min-height: 250px;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-no-results-products .title {
font-weight: bold;
margin-bottom: 30px;
font-size: 16px;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-no-results-products .suggestions {
margin-bottom: 30px;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-no-results-products .see-all a {
color: #636363;
font-weight: bold;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-no-results {
padding: 10px;
font-style: italic;
}
#algolia-autocomplete-container .aa-dropdown-menu .category {
padding: 4px;
color: rgb(166, 166, 166);
text-align: left;
font-size: 0.8em;
text-transform: uppercase;
font-weight: bold;
}
#algolia-autocomplete-container .aa-dropdown-menu .category-suggestions {
padding: 4px;
color: #54A5CD;
text-align: left;
font-size: 0.7em;
text-transform: uppercase;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit {
display: block;
position: relative;
padding: 5px 10px;
color: #000;
text-align: left;
text-decoration: none;
}
#algolia-autocomplete-container .aa-dropdown-menu .other-sections .aa-dataset-suggestions .algoliasearch-autocomplete-hit {
padding-left: 30px;
}
#algolia-autocomplete-container .aa-dropdown-menu.aa-without-products .col9 {
background-color: #F9F9F9;
}
#algolia-autocomplete-container .aa-dropdown-menu.aa-without-products #autocomplete-products-footer {
display: none;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-dataset-products .aa-suggestion {
display: inline-block;
width: 100%;
}
@media (min-width: 768px) {
#algolia-autocomplete-container .aa-dropdown-menu .aa-dataset-products .aa-suggestion {
display: inline-block;
width: 50%;
}
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-dataset-products .algoliasearch-autocomplete-hit {
padding: 15px 10px;
}
.autocomplete-wrapper {
width: 100%;
}
.autocomplete-wrapper:after {
clear: both;
content: '';
}
#algolia-autocomplete-container .col9 {
float: right;
width: 100%;
}
#algolia-autocomplete-container .col3 {
float: right;
width: 100%;
}
#algolia-autocomplete-container.reverse .col3 {
float: left;
width: 100%;
}
#algolia-autocomplete-container.reverse .col9 {
float: left;
width: 100%;
}
@media (min-width: 768px) {
#algolia-autocomplete-container .col9 {
border-left: solid 1px #eeeeee;
float: right;
width: 70%;
}
#algolia-autocomplete-container .col3 {
float: right;
width: 30%;
}
#algolia-autocomplete-container.reverse .col3 {
float: left;
width: 30%;
}
#algolia-autocomplete-container.reverse .col9 {
border-right: solid 1px #eeeeee;
float: left;
width: 70%;
}
}
#algolia-autocomplete-container .other-sections {
margin: 20px 10px;
margin-bottom: 70px;
}
.aa-dataset-products .aa-suggestions {
margin: 10px auto 10px auto;
}
.aa-dataset-suggestions {
display: none;
}
@media (min-width: 768px) {
.aa-dataset-suggestions {
display: block;
}
}
@media (min-width: 768px) {
.aa-dataset-products .aa-suggestions {
margin: 10px auto 50px auto;
}
}
.aa-dataset-products .aa-suggestions:after {
content:'';
display:block;
clear: both;
}
#algolia-autocomplete-container .aa-dropdown-menu .other-sections .algoliasearch-autocomplete-hit {
padding-left: 10px;
font-size: .9rem;
color: #333;
}
#algolia-autocomplete-container .aa-dropdown-menu .other-sections .aa-suggestions {
margin-bottom: 20px;
}
#algolia-autocomplete-container .aa-dropdown-menu .aa-cursor .algoliasearch-autocomplete-hit {
background-color: #f2f2f2;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit em {
font-weight: bold;
font-style: normal;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-price {
font-size: .8rem;
color: #666;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit .thumb {
float: left;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit .thumb img {
width: 50px;
position: absolute;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit .info {
margin-left: 60px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
font-size: 1rem;
}
/*#autocomplete-products-footer {*/
/*position: absolute;*/
/*bottom: 0;*/
/*right: 0;*/
/*width: 70%;*/
/*text-align: center;*/
/*display: none;*/
/*}*/
#algolia-autocomplete-container.reverse #autocomplete-products-footer {
right: auto;
left: 0;
}
@media (min-width: 768px) {
#autocomplete-products-footer {
display: block;
}
}
#autocomplete-products-footer span {
text-decoration: underline;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit .info .algoliasearch-autocomplete-category {
font-size: 0.8em;
color: #666;
white-space: nowrap;
overflow: hidden;
max-width: 100%;
text-overflow: ellipsis;
}
#algolia-autocomplete-container .aa-dropdown-menu .algoliasearch-autocomplete-hit .info .algoliasearch-autocomplete-category em {
color: #222;
}
#algolia-autocomplete-container .aa-dropdown-menu .footer_algolia {
position: absolute;
width: 100%;
padding: 10px;
text-align: center;
bottom: 7px;
left: 4px;
font-size: 13px;
}
#algolia-autocomplete-container.reverse .aa-dropdown-menu .footer_algolia {
left: auto;
right: 4px;
}
@media (min-width: 768px) {
#algolia-autocomplete-container .aa-dropdown-menu .footer_algolia {
width: 30%;
}
}
#algolia-autocomplete-container .aa-dropdown-menu .footer_algolia span {
color: #B8B8B8;
font-size: 10px;
}
#algolia-autocomplete-container .aa-dropdown-menu .footer_algolia img {
display: inline;
height: 1.5em;
vertical-align: bottom;
max-width: 130px;
}
/**
* Search Box
*/
#algolia-searchbox{
position: relative;
}
@media (min-width: 1024px) {
#algolia-searchbox {
margin: 20px 0;
}
}
.clear-cross {
position: absolute;
display: none;
background: url("clear-cross.svg") no-repeat center center / contain;
cursor: pointer;
width: 16px;
height: 16px;
}
#algolia-searchbox .clear-query-autocomplete {
top: 13px;
right: 12px;
}
#algolia_instant_selector .clear-query-instant {
right: 12px;
top: 10px;
}
.cross-wrapper .clear-refinement {
display: block;
position: relative;
top: 5px;
left: 5px;
}
#algolia-autocomplete-container .aa-suggestions svg.algolia-glass-suggestion.magnifying-glass {
position: absolute;
right: auto;
left: 5px;
top: 7px;
fill: #A6A6A6;
stroke: #A6A6A6;
}
.aa-Input:focus {
outline: none;
box-shadow: none;
border-width: 1px;
--tw-border-opacity: 1;
border-color: rgba(209, 213, 219, var(--tw-border-opacity));
}
[data-autocomplete-source-id="products"] .aa-List {
display: flex;
flex-wrap: wrap;
margin-bottom: 30px;
}
[data-autocomplete-source-id="categories"] .aa-Item,
[data-autocomplete-source-id="pages"] .aa-Item {
width: 100%;
}
@media (min-width: 1024px) {
.aa-Panel {
left: 50% !important;
right: auto !important;
max-width: 1400px !important;
width: 90vw !important;
transform: translateX(-50%);
}
}
[data-autocomplete-source-id="products"] .highlight {
font-weight: 500;
}
</style>
<div class="flex items-center order-4 lg:pt-4">
<!--Compare Icon-->
<!--Search Icon-->
<!--Customer Icon & Dropdown-->
<!-- BLOCK header.customer --><div x-data="{ open: false }" class="relative hidden lg:inline-block ml-1 sm:ml-3" style="z-index:21">
<button id="customer-menu"
type="button"
class="block hover:text-black focus:outline-none flex items-center"
@click="open = true"
aria-haspopup="true"
aria-expanded="true"
aria-label="My Account"
>
<!-- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"-->
<!-- class="w-8 h-8 md:h-6 md:w-6" aria-hidden="true">-->
<!-- <circle fill="none" cx="12" cy="7" r="3"></circle>-->
<!-- <path d="M12 2C9.243 2 7 4.243 7 7s2.243 5 5 5 5-2.243 5-5S14.757 2 12 2zM12 10c-1.654-->
<!-- 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3S13.654 10 12 10zM21 21v-1c0-3.859-3.141-7-7-7h-4c-3.86-->
<!-- 0-7 3.141-7 7v1h2v-1c0-2.757 2.243-5 5-5h4c2.757 0 5 2.243 5 5v1H21z">-->
<!-- </path>-->
<!-- </svg>-->
<span class="bg-black flex justify-center items-center flex-shrink-0" style="border-radius:50%;height:40px;width:40px;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 328.89 367.91" class=" h-6 fill-current text-yellow-gfpv"><path d="M411.49,481.6c-5.81-.67-11.63-1.26-17.43-2A180,180,0,0,1,332.53,460c-30.72-16.24-55.19-39.32-73.78-68.68-2.71-4.29-3-8.13-.7-12.75,16.84-33.84,43.45-55.51,80.14-64.72,2.9-.73,5.87-1.14,8.79-1.76,5.78-1.24,10.76.38,15.51,3.73,18.95,13.38,40.14,19.35,63.25,18.34,17.56-.77,34.46-5,48.61-15.41,10.58-7.76,20.77-7.43,32.13-4.26,32.14,8.95,56.37,28.09,73.41,56.58,7.26,12.15,7.5,12.34-.3,24.09-19.19,28.92-44.1,51.53-75.35,66.9a185.49,185.49,0,0,1-72.35,19,17.61,17.61,0,0,0-2.44.5Z" transform="translate(-256.5 -113.68)"/><path d="M420.8,304.75c-52.39-.06-95.69-43.45-95.49-95.69.2-52.51,43.53-95.66,95.78-95.37,52.45.28,95.26,43.18,95.29,95.48S473.14,304.82,420.8,304.75Z" transform="translate(-256.5 -113.68)"/></svg>
</span>
<span class="pl-2 underline whitespace-nowrap font-medium">
Sign in <svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 inline text-gray-500" style="transform: translateY(-2px)" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /></svg>
</span>
</button>
<nav class="absolute right-0 z-20 w-40 py-2 mt-2 -mr-4 overflow-auto origin-top-right rounded-sm
shadow-lg sm:w-48 lg:mt-3 bg-container-lighter"
x-cloak x-show="open"
@click.outside="open = false"
aria-labelledby="customer-menu"
>
<a class="block px-4 py-2 lg:px-5 lg:py-2 hover:bg-gray-100"
href="https://www.getfpv.com/customer/account/index/">
Sign In </a>
<a class="block px-4 py-2 lg:px-5 lg:py-2 hover:bg-gray-100"
href="https://www.getfpv.com/customer/account/create/"
>
Create an Account </a>
</nav>
</div>
<!-- /BLOCK header.customer -->
<!--Cart Icon-->
<a id="menu-cart-icon"
@click.prevent.stop="$dispatch('toggle-cart',{});" class="relative inline-block ml-1 no-underline sm:ml-3 hover:text-black"
href="https://www.getfpv.com/checkout/cart/index/"
>
<span class="sr-only label">
Cart </span>
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 122.9 107.5" style="enable-background:new 0 0 122.9 107.5" xml:space="preserve" class="w-9 h-9 hover:text-black" width="25" height="25" role="img"><g><path d="M3.9,7.9C1.8,7.9,0,6.1,0,3.9C0,1.8,1.8,0,3.9,0h10.2c0.1,0,0.3,0,0.4,0c3.6,0.1,6.8,0.8,9.5,2.5c3,1.9,5.2,4.8,6.4,9.1 c0,0.1,0,0.2,0.1,0.3l1,4H119c2.2,0,3.9,1.8,3.9,3.9c0,0.4-0.1,0.8-0.2,1.2l-10.2,41.1c-0.4,1.8-2,3-3.8,3v0H44.7 c1.4,5.2,2.8,8,4.7,9.3c2.3,1.5,6.3,1.6,13,1.5h0.1v0h45.2c2.2,0,3.9,1.8,3.9,3.9c0,2.2-1.8,3.9-3.9,3.9H62.5v0 c-8.3,0.1-13.4-0.1-17.5-2.8c-4.2-2.8-6.4-7.6-8.6-16.3l0,0L23,13.9c0-0.1,0-0.1-0.1-0.2c-0.6-2.2-1.6-3.7-3-4.5 c-1.4-0.9-3.3-1.3-5.5-1.3c-0.1,0-0.2,0-0.3,0H3.9L3.9,7.9z M96,88.3c5.3,0,9.6,4.3,9.6,9.6c0,5.3-4.3,9.6-9.6,9.6 c-5.3,0-9.6-4.3-9.6-9.6C86.4,92.6,90.7,88.3,96,88.3L96,88.3z M53.9,88.3c5.3,0,9.6,4.3,9.6,9.6c0,5.3-4.3,9.6-9.6,9.6 c-5.3,0-9.6-4.3-9.6-9.6C44.3,92.6,48.6,88.3,53.9,88.3L53.9,88.3z M33.7,23.7l8.9,33.5h63.1l8.3-33.5H33.7L33.7,23.7z"/></g><title>shopping-cart</title></svg>
<span x-text="cart.summary_count"
class="absolute top-1 right-1 hidden h-5 px-2 py-1 -mt-5 -mr-4 text-xs font-semibold
leading-none text-center text-white uppercase transform -translate-x-1
translate-y-1/2 rounded-full bg-red-600"
:class="{
'hidden': !cart.summary_count,
'block': cart.summary_count }"
></span>
</a>
</div>
<!--Main Navigation-->
<div class="z-20 order-1 lg:order-5 navigation lg:w-full">
<!-- mobile -->
<div x-ref="nav-mobile"
@load.window="menu.setActiveMenu($refs['nav-mobile'])"
class="lg:hidden"
:class="{'min-h-screen fixed top-0 left-0 bottom-0 w-full bg-gray-300' : menu.open}"
@toggle-mobile-menu.window="menu.open = !menu.open"
@keydown.window.escape="menu.open=false"
>
<div class="flex items-baseline justify-between menu-icon">
<div class="flex justify-end w-full items-center">
<div class="hidden items-center"
:class="{ 'hidden' : !menu.open, 'flex': menu.open }"
@click="menu.custOpen=!menu.custOpen"
>
<span class="bg-black flex justify-center items-center flex-shrink-0 ml-4 mr-2" style="border-radius:50%;height:40px;width:40px;"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 328.89 367.91" class=" h-6 fill-current text-gray-300"><path d="M411.49,481.6c-5.81-.67-11.63-1.26-17.43-2A180,180,0,0,1,332.53,460c-30.72-16.24-55.19-39.32-73.78-68.68-2.71-4.29-3-8.13-.7-12.75,16.84-33.84,43.45-55.51,80.14-64.72,2.9-.73,5.87-1.14,8.79-1.76,5.78-1.24,10.76.38,15.51,3.73,18.95,13.38,40.14,19.35,63.25,18.34,17.56-.77,34.46-5,48.61-15.41,10.58-7.76,20.77-7.43,32.13-4.26,32.14,8.95,56.37,28.09,73.41,56.58,7.26,12.15,7.5,12.34-.3,24.09-19.19,28.92-44.1,51.53-75.35,66.9a185.49,185.49,0,0,1-72.35,19,17.61,17.61,0,0,0-2.44.5Z" transform="translate(-256.5 -113.68)"/><path d="M420.8,304.75c-52.39-.06-95.69-43.45-95.49-95.69.2-52.51,43.53-95.66,95.78-95.37,52.45.28,95.26,43.18,95.29,95.48S473.14,304.82,420.8,304.75Z" transform="translate(-256.5 -113.68)"/></svg>
</span>
<span>Account <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
<title>chevron-down</title></svg>
</span>
</div>
<a @click="$dispatch('toggle-mobile-menu')"
class="flex items-center justify-center cursor-pointer"
:class="{ 'ml-auto': menu.open }">
<svg class="hidden w-16 h-16 p-4 fill-current"
:class="{ 'hidden' : !menu.open, 'block': menu.open }"
xmlns="http://www.w3.org/2000/svg" width="20" height="20"
viewBox="0 0 20 20">
<path
fill-rule="evenodd" clip-rule="evenodd"
d="M18.278 16.864a1 1 0 0 1-1.414 1.414l-4.829-4.828-4.828 4.828a1 1 0 0
1-1.414-1.414l4.828-4.829-4.828-4.828a1 1 0 0 1 1.414-1.414l4.829 4.828
4.828-4.828a1 1 0 1 1 1.414 1.414l-4.828 4.829 4.828 4.828z">
</path>
</svg>
<svg class="block w-12 h-12 p-3 fill-current"
:class="{ 'hidden' : menu.open, 'block': !menu.open }"
xmlns="http://www.w3.org/2000/svg" width="20" height="20"
viewBox="0 0 20 20">
<path
d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z">
</path>
</svg>
</a>
</div>
</div>
<nav
class="hidden w-full duration-150 ease-in-out transform border-t transition-display border-container text-lg divide-y divide-gray-300 overflow-y-auto overflow-x-hidden bg-white h-full"
:class="{ 'hidden' : !menu.open }"
style="max-height: calc(100vh - 64px);"
x-ref="navmobilewrapper"
>
<!-- Menu Start -->
<!-- Customer menu -->
<div class="hidden"
:class="{ 'hidden' : !menu.custOpen, 'block': menu.custOpen }"
@private-content-loaded.window="menu.setCustLoggedIn(event.detail.data)"
>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="/customer/account/login"
title="Sign In"
x-show="!menu.custLoggedIn"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>arrow-circle-right</title></svg>
<span class="pl-3">Sign In</span>
</a>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="/customer/account/logout"
title="Sign Out"
x-show="menu.custLoggedIn"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>arrow-circle-right</title></svg>
<span class="pl-3">Sign Out</span>
</a>
</span>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="/customer/account"
title="My Account">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/>
<title>user</title></svg>
<span class="pl-3">My Account</span>
</a>
</span>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="/wishlist"
title="My Wishlist">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>arrow-circle-right</title></svg>
<span class="pl-3">My Wishlist</span>
</a>
</span>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="/shippingtracking"
title="Order Status">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z"/>
<title>arrow-circle-right</title></svg>
<span class="pl-3">Order Status</span>
</a>
</span>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="/contacts"
title="Support">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z"/>
<title>chat-alt</title></svg>
<span class="pl-3">Support</span>
</a>
</span>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-gray-200 border-container hover:bg-container-darker level-0"
href="https://getfpv.devocm.com/contacts"
title="Contact">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 inline" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/>
<title>mail</title></svg>
<span class="pl-3">Contact</span>
</a>
</span>
</div>
</div>
<!-- Catalog menu -->
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker level-0"
href="javascript:void"
title="Shop By Category"
@click.prevent="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'm_cat' ?
0 : 'm_cat'; $refs.navmobilewrapper.scrollTop = 0"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">Shop By Category</span>
</a>
<a class="absolute right-0 flex w-8 h-8 mr-8 border rounded cursor-pointer
bg-container-lighter border-container hover:bg-container hover:border-container"
@click="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'm_cat' ?
0 : 'm_cat'; $refs.navmobilewrapper.scrollTop = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24" width="24"
stroke="currentColor"
class="w-full h-full p-1"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
</svg>
</a>
</span>
<div
class="absolute top-0 right-0 z-10 w-full h-full transition-transform duration-200 ease-in-out
translate-x-full transform bg-container-lighter overflow-y-auto"
:class="{
'translate-x-full' : menu.mobilePanelActiveId !== 'm_cat',
'translate-x-0' : menu.mobilePanelActiveId === 'm_cat',
}"
style="max-height: calc(100vh - 64px);"
>
<a class="flex items-center px-8 py-4 border-b cursor-pointer bg-container border-container"
@click="menu.mobilePanelActiveId = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24"
width="24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 19l-7-7 7-7"/>
</svg>
<span class="ml-4">
Shop By Category </span>
</a>
<a href="https://www.getfpv.com/on-sale.html" title="Shop By Category"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4">View All</span></a>
<a href="https://www.getfpv.com/fpv.html"
title="FPV Equipment"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
FPV Equipment </span>
</a>
<a href="https://www.getfpv.com/new-arrivals-1.html"
title="New Products"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
New Products </span>
</a>
<a href="https://www.getfpv.com/drone-brands.html"
title="Brands We Love"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Brands We Love </span>
</a>
<a href="https://www.getfpv.com/ready-to-fly-quadcopters.html"
title="Ready-To-Fly Drones"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Ready-To-Fly Drones </span>
</a>
<a href="https://www.getfpv.com/fpv-quad-kits.html"
title="Drone Bundles"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Drone Bundles </span>
</a>
<a href="https://www.getfpv.com/multi-rotor-frames.html"
title="Quadcopter Frames"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Quadcopter Frames </span>
</a>
<a href="https://www.getfpv.com/micro-quadcopters.html"
title="Micro / Nano Quadcopters"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Micro / Nano Quadcopters </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones.html"
title="Commercial / Industry"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Commercial / Industry </span>
</a>
<a href="https://www.getfpv.com/electronics.html"
title="Electronics"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Electronics </span>
</a>
<a href="https://www.getfpv.com/motors.html"
title="Motors"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Motors </span>
</a>
<a href="https://www.getfpv.com/batteries.html"
title="Batteries / Chargers"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Batteries / Chargers </span>
</a>
<a href="https://www.getfpv.com/radios.html"
title="Radios"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Radios </span>
</a>
<a href="https://www.getfpv.com/propellers.html"
title="Propellers"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Propellers </span>
</a>
<a href="https://www.getfpv.com/action-cameras.html"
title="Action Cameras"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Action Cameras </span>
</a>
<a href="https://www.getfpv.com/planes.html"
title="Planes"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Planes </span>
</a>
<a href="https://www.getfpv.com/accessories.html"
title="Accessories"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Accessories </span>
</a>
<a href="https://www.getfpv.com/3d-printing.html"
title="3D Printing"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
3D Printing </span>
</a>
<a href="https://www.getfpv.com/on-sale.html"
title="On Sale"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker "
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
On Sale </span>
</a>
</div>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline level-0"
href="https://www.getfpv.com/new-arrivals-1.html"
title="New Products"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">New Products</span>
</a>
</span>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline level-0"
href="https://www.getfpv.com/fpv-quad-kits.html"
title="Drone Bundles"
@click.prevent="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-626' ?
0 : 'category-node-626'; $refs.navmobilewrapper.scrollTop = 0"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">Drone Bundles</span>
</a>
<a class="absolute right-0 flex w-8 h-8 mr-8 border rounded cursor-pointer
bg-container-lighter border-container hover:bg-container hover:border-container"
@click="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-626' ?
0 : 'category-node-626'; $refs.navmobilewrapper.scrollTop = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24" width="24"
stroke="currentColor"
class="w-full h-full p-1"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
</svg>
</a>
</span>
<div
class="absolute top-0 right-0 z-10 w-full h-full transition-transform duration-200 ease-in-out
translate-x-full transform bg-container-lighter overflow-y-auto"
:class="{
'translate-x-full' : menu.mobilePanelActiveId !== 'category-node-626',
'translate-x-0' : menu.mobilePanelActiveId === 'category-node-626',
}"
style="max-height: calc(100vh - 64px);"
>
<a class="flex items-center px-8 py-4 border-b cursor-pointer bg-container border-container"
@click="menu.mobilePanelActiveId = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24"
width="24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 19l-7-7 7-7"/>
</svg>
<span class="ml-4">
Drone Bundles </span>
</a>
<a href="https://www.getfpv.com/fpv-quad-kits.html" title="Drone Bundles"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4">View All</span></a>
<a href="https://www.getfpv.com/fpv-quad-kits/diy-drone-kits.html"
title="DIY FPV Drone Kits"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
DIY FPV Drone Kits </span>
</a>
</div>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline level-0"
href="https://www.getfpv.com/commercial-industry-drones.html"
title="Commercial / Industry"
@click.prevent="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-574' ?
0 : 'category-node-574'; $refs.navmobilewrapper.scrollTop = 0"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">Commercial / Industry</span>
</a>
<a class="absolute right-0 flex w-8 h-8 mr-8 border rounded cursor-pointer
bg-container-lighter border-container hover:bg-container hover:border-container"
@click="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-574' ?
0 : 'category-node-574'; $refs.navmobilewrapper.scrollTop = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24" width="24"
stroke="currentColor"
class="w-full h-full p-1"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
</svg>
</a>
</span>
<div
class="absolute top-0 right-0 z-10 w-full h-full transition-transform duration-200 ease-in-out
translate-x-full transform bg-container-lighter overflow-y-auto"
:class="{
'translate-x-full' : menu.mobilePanelActiveId !== 'category-node-574',
'translate-x-0' : menu.mobilePanelActiveId === 'category-node-574',
}"
style="max-height: calc(100vh - 64px);"
>
<a class="flex items-center px-8 py-4 border-b cursor-pointer bg-container border-container"
@click="menu.mobilePanelActiveId = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24"
width="24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 19l-7-7 7-7"/>
</svg>
<span class="ml-4">
Commercial / Industry </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones.html" title="Commercial / Industry"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4">View All</span></a>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones.html"
title="Cinematography "
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Cinematography </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones/education.html"
title="Education"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Education </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones/dji.html"
title="DJI"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
DJI </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier.html"
title="Lumenier"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Lumenier </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones/ndaa-compliant.html"
title="NDAA Compliant"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
NDAA Compliant </span>
</a>
<a href="https://www.getfpv.com/commercial-industry-drones/fiber-optics.html"
title="Fiber Optics"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Fiber Optics </span>
</a>
</div>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline level-0"
href="https://www.getfpv.com/drone-brands.html"
title="Brands We Love"
@click.prevent="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-738' ?
0 : 'category-node-738'; $refs.navmobilewrapper.scrollTop = 0"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">Brands We Love</span>
</a>
<a class="absolute right-0 flex w-8 h-8 mr-8 border rounded cursor-pointer
bg-container-lighter border-container hover:bg-container hover:border-container"
@click="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-738' ?
0 : 'category-node-738'; $refs.navmobilewrapper.scrollTop = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24" width="24"
stroke="currentColor"
class="w-full h-full p-1"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
</svg>
</a>
</span>
<div
class="absolute top-0 right-0 z-10 w-full h-full transition-transform duration-200 ease-in-out
translate-x-full transform bg-container-lighter overflow-y-auto"
:class="{
'translate-x-full' : menu.mobilePanelActiveId !== 'category-node-738',
'translate-x-0' : menu.mobilePanelActiveId === 'category-node-738',
}"
style="max-height: calc(100vh - 64px);"
>
<a class="flex items-center px-8 py-4 border-b cursor-pointer bg-container border-container"
@click="menu.mobilePanelActiveId = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24"
width="24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 19l-7-7 7-7"/>
</svg>
<span class="ml-4">
Brands We Love </span>
</a>
<a href="https://www.getfpv.com/drone-brands.html" title="Brands We Love"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4">View All</span></a>
<a href="https://www.getfpv.com/catalog/category/view/s/lumenier/id/740/"
title="Lumenier"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Lumenier </span>
</a>
<a href="https://www.getfpv.com/drone-brands/xilo.html"
title="XILO"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
XILO </span>
</a>
<a href="https://www.getfpv.com/drone-brands/betafpv.html"
title="BETAFPV"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
BETAFPV </span>
</a>
<a href="https://www.getfpv.com/drone-brands/emax.html"
title="EMAX"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
EMAX </span>
</a>
<a href="https://www.getfpv.com/drone-brands/tmotor.html"
title="T-Motor"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
T-Motor </span>
</a>
<a href="https://www.getfpv.com/drone-brands/tbs.html"
title="Team Black Sheep (TBS)"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Team Black Sheep (TBS) </span>
</a>
<a href="https://www.getfpv.com/drone-brands/ethix.html"
title="ETHIX"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
ETHIX </span>
</a>
<a href="https://www.getfpv.com/drone-brands/fatshark.html"
title="Fat Shark"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Fat Shark </span>
</a>
<a href="https://www.getfpv.com/drone-brands/flywoo.html"
title="Flywoo"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Flywoo </span>
</a>
<a href="https://www.getfpv.com/drone-brands/happymodel.html"
title="Happymodel"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Happymodel </span>
</a>
<a href="https://www.getfpv.com/drone-brands/truerc.html"
title="TrueRC"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
TrueRC </span>
</a>
<a href="https://www.getfpv.com/drone-brands/orqa.html"
title="ORQA"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
ORQA </span>
</a>
<a href="https://www.getfpv.com/drone-brands/iflight.html"
title="iFlight"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
iFlight </span>
</a>
<a href="https://www.getfpv.com/drone-brands/radiomaster.html"
title="RadioMaster"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
RadioMaster </span>
</a>
<a href="https://www.getfpv.com/drone-brands/walksnail.html"
title="Walksnail"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Walksnail </span>
</a>
<a href="https://www.getfpv.com/drone-brands/zohd.html"
title="ZOHD"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
ZOHD </span>
</a>
<a href="https://www.getfpv.com/drone-brands/caddxfpv.html"
title="CaddxFPV"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
CaddxFPV </span>
</a>
<a href="https://www.getfpv.com/drone-brands/maytek-systems.html"
title="MATEKSYS"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
MATEKSYS </span>
</a>
<a href="https://www.getfpv.com/drone-brands/dji.html"
title="DJI"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
DJI </span>
</a>
<a href="https://www.getfpv.com/drone-brands/pilot-brands.html"
title="Drone Pilot Brands"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Drone Pilot Brands </span>
</a>
</div>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline level-0"
href="https://www.getfpv.com/on-sale.html"
title="On Sale"
@click.prevent="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-253' ?
0 : 'category-node-253'; $refs.navmobilewrapper.scrollTop = 0"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">On Sale</span>
</a>
<a class="absolute right-0 flex w-8 h-8 mr-8 border rounded cursor-pointer
bg-container-lighter border-container hover:bg-container hover:border-container"
@click="menu.mobilePanelActiveId =
menu.mobilePanelActiveId === 'category-node-253' ?
0 : 'category-node-253'; $refs.navmobilewrapper.scrollTop = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24" width="24"
stroke="currentColor"
class="w-full h-full p-1"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
</svg>
</a>
</span>
<div
class="absolute top-0 right-0 z-10 w-full h-full transition-transform duration-200 ease-in-out
translate-x-full transform bg-container-lighter overflow-y-auto"
:class="{
'translate-x-full' : menu.mobilePanelActiveId !== 'category-node-253',
'translate-x-0' : menu.mobilePanelActiveId === 'category-node-253',
}"
style="max-height: calc(100vh - 64px);"
>
<a class="flex items-center px-8 py-4 border-b cursor-pointer bg-container border-container"
@click="menu.mobilePanelActiveId = 0"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" height="24"
width="24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 19l-7-7 7-7"/>
</svg>
<span class="ml-4">
On Sale </span>
</a>
<a href="https://www.getfpv.com/on-sale.html" title="On Sale"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4">View All</span></a>
<a href="https://www.getfpv.com/on-sale/clearance.html"
title="Clearance"
class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none"
viewBox="0 0 24 24" height="24"
width="24"></svg>
<span class="ml-4 text-base text-gray-700 lg:ml-0">
Clearance </span>
</a>
</div>
</div>
<div class="level-0">
<span
class="flex items-center transition-transform duration-150 ease-in-out transform"
:class="{
'-translate-x-full' : menu.mobilePanelActiveId,
'translate-x-0' : !menu.mobilePanelActiveId
}"
>
<a class="flex items-center w-full px-8 py-4 border-b cursor-pointer
bg-container-lighter border-container hover:bg-container-darker hover:underline level-0"
href="https://www.getfpv.com/learn/"
title="Learn About FPV"
>
<!-- <span class="text-3xl px-1">•</span>-->
<span class="pl-3">Learn About FPV</span>
</a>
</span>
</div>
</nav>
</div>
<!-- desktop -->
<div x-ref="nav-desktop"
@load.window="menu.setActiveMenu($refs['nav-desktop'])"
class="hidden lg:block lg:relative lg:min-h-0 lg:w-full lg:pt-0 bg-black"
@click.outside="menu.hoverPanelActiveId = 0"
>
<nav
class="
w-full duration-150 ease-in-out transform flex justify-between relative min-h-0 transition-display whitespace-nowrap
"
>
<div class="relative level-0" @mouseenter="menu.hoverPanelActiveId = 'cat_drop'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md">
<a
class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 text-nav text-yellow-gfpv font-semibold bg-gray-450 hover:bg-black level-0"
href="javascript:void"
title="Shop By Category"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-8 h-8 md:h-6 md:w-6 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16"/>
<title>menu</title></svg>
<span class="hidden xl:inline">Shop By Category</span>
</a>
</span>
<div
class="absolute z-10 hidden flex-col divide-y divide-gray-200 shadow-lg bg-container "
:class="{ 'hidden' : menu.hoverPanelActiveId !== 'cat_drop',
'flex' : menu.hoverPanelActiveId === 'cat_drop'}">
<div
class="overflow-y-auto hide-scroll-bar"
style="max-height: calc(100vh - 130px);"
>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-55'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/fpv.html"
title="FPV Equipment"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-55',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-55'}"
>
<span class="text-base text-gray-700 font-medium">
FPV Equipment </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-55',
'block' : menu.hoverSecondPanelActiveId === 'category-node-55'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">FPV Equipment</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/video-goggles.html"
title="FPV Goggles and Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FPV-Goggles-and-Accessories-2.jpg" alt="FPV Goggles and Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
FPV Goggles and Accessories </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/hd-fpv.html"
title="HD FPV Equipment"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/HD-FPV-Equipment-2.jpg" alt="HD FPV Equipment" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
HD FPV Equipment </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/fpv/hd-fpv/dji-digital-hd-fpv.html"
title="DJI Digital HD FPV System"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
DJI Digital HD FPV System </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/hd-fpv/hdzero-digital-hd-fpv-system.html"
title="HDZero Digital HD FPV System"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
HDZero Digital HD FPV System </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/hd-fpv/walksnail-fat-shark-digital-hd-fpv-system.html"
title="Walksnail / Fat Shark Digital HD FPV System"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Walksnail / Fat Shark Digital HD FPV System </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/cameras.html"
title="FPV Cameras and Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FPV-Cameras-and-Accessories-2.jpg" alt="FPV Cameras and Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
FPV Cameras and Accessories </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/fpv/cameras/flight-cameras.html"
title="Flight Cameras"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Flight Cameras </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/cameras/flight-camera-lenses.html"
title="Flight Camera Lenses"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Flight Camera Lenses </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/antennas.html"
title="FPV Antennas"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FPV-Antennas.jpg" alt="FPV Antennas" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
FPV Antennas </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/fpv/antennas/lumenier-axii-2.html"
title="Lumenier AXII 2 FPV Antennas"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Lumenier AXII 2 FPV Antennas </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/antennas/lumenier-axii-hd-antennas.html"
title="Lumenier AXII HD Antennas"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Lumenier AXII HD Antennas </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/antennas/lumenier-micro-axii-2-fpv-antennas.html"
title="Lumenier Micro AXII 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Lumenier Micro AXII 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/antennas/antenna-mounts.html"
title="FPV Antenna Mounts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
FPV Antenna Mounts </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/fpv-monitors.html"
title="FPV Monitors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FPV-Monitors.jpg" alt="FPV Monitors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
FPV Monitors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/video-receivers.html"
title="Video Receivers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Video-Receivers-2.jpg" alt="Video Receivers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Video Receivers </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/fpv/video-receivers/5-8ghz.html"
title="5.8GHz"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
5.8GHz </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/video-receivers/2-4ghz.html"
title="2.4GHz"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
2.4GHz </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/video-receivers/1-3ghz.html"
title="1.3 GHz"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
1.3 GHz </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv/video-transmitters.html"
title="Video Transmitters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FPV-Transmitters.jpg" alt="Video Transmitters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Video Transmitters </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/fpv/video-transmitters/5-8ghz.html"
title="5.8GHz"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
5.8GHz </a>
</li>
<li>
<a href="https://www.getfpv.com/fpv/video-transmitters/2-4ghz.html"
title="2.4GHz"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
2.4GHz </a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-719'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/new-arrivals-1.html"
title="New Products"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-719',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-719'}"
>
<span class="text-base text-gray-700 font-medium">
New Products </span>
</a>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-738'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/drone-brands.html"
title="Brands We Love"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-738',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-738'}"
>
<span class="text-base text-gray-700 font-medium">
Brands We Love </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-738',
'block' : menu.hoverSecondPanelActiveId === 'category-node-738'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Brands We Love</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/catalog/category/view/s/lumenier/id/740/"
title="Lumenier"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_3.8.webp" alt="Lumenier" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Lumenier </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/xilo.html"
title="XILO"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_3.8_xilo_1.webp" alt="XILO" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
XILO </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/betafpv.html"
title="BETAFPV"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_3.8_betafpv.webp" alt="BETAFPV" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
BETAFPV </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/emax.html"
title="EMAX"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_emax_3.8.webp" alt="EMAX" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
EMAX </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/tmotor.html"
title="T-Motor"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_t-motor_3.8.webp" alt="T-Motor" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
T-Motor </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/tbs.html"
title="Team Black Sheep (TBS)"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_tbs3.8.webp" alt="Team Black Sheep (TBS)" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Team Black Sheep (TBS) </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/ethix.html"
title="ETHIX"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Ethix_150x100.webp" alt="ETHIX" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
ETHIX </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/fatshark.html"
title="Fat Shark"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_fat_shark3.8.webp" alt="Fat Shark" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Fat Shark </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/flywoo.html"
title="Flywoo"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_flywoo_3.8_2.webp" alt="Flywoo" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Flywoo </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/happymodel.html"
title="Happymodel"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/happymodel.jpg" alt="Happymodel" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Happymodel </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/truerc.html"
title="TrueRC"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/TrueRC-Logo-150x100_1_2.jpg" alt="TrueRC" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
TrueRC </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/orqa.html"
title="ORQA"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/ORQA-brands-we-love-150x100.jpg" alt="ORQA" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
ORQA </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/iflight.html"
title="iFlight"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_iflight_3.8.webp" alt="iFlight" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
iFlight </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/radiomaster.html"
title="RadioMaster"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_radiomaster_3.8.webp" alt="RadioMaster" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
RadioMaster </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/walksnail.html"
title="Walksnail"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_walksnail_3.8.webp" alt="Walksnail" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Walksnail </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/zohd.html"
title="ZOHD"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_zohd_3.8_2.webp" alt="ZOHD" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
ZOHD </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/caddxfpv.html"
title="CaddxFPV"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_caddoxfpv_3.8_1.webp" alt="CaddxFPV" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
CaddxFPV </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/maytek-systems.html"
title="MATEKSYS"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/MatekSYS-4.6.2023.webp" alt="MATEKSYS" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
MATEKSYS </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/dji.html"
title="DJI"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Brand_Thumbnails_3.8_dji_1_2.webp" alt="DJI" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
DJI </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/drone-brands/pilot-brands.html"
title="Drone Pilot Brands"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<span class="text-gray-700 font-bold">
Drone Pilot Brands </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/johnnyfpv.html"
title="JohnnyFPV"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
JohnnyFPV </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/skitzo.html"
title="SKITZO FPV"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
SKITZO FPV </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/joshua-bardwell.html"
title="Joshua Bardwell"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Joshua Bardwell </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/mr-steele-ethix.html"
title="Mr. Steele - ETHIX"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Mr. Steele - ETHIX </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/minchankim-mck.html"
title="MCK (Min Chan Kim)"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
MCK (Min Chan Kim) </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/tomz.html"
title="Tomz"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Tomz </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/chief.html"
title="Chief"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Chief </a>
</li>
<li>
<a href="https://www.getfpv.com/drone-brands/pilot-brands/fincky-fpv.html"
title="Fincky FPV"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Fincky FPV </a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-616'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/ready-to-fly-quadcopters.html"
title="Ready-To-Fly Drones"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-616',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-616'}"
>
<span class="text-base text-gray-700 font-medium">
Ready-To-Fly Drones </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-616',
'block' : menu.hoverSecondPanelActiveId === 'category-node-616'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Ready-To-Fly Drones</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/getfpv-in-house-rtfs.html"
title="Built In-House RTFs"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Built-in-House-2.jpg" alt="Built In-House RTFs" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Built In-House RTFs </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/lumenier-qav-rtf.html"
title="Lumenier QAV RTFs"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Lumenier-QAV-RTFs-2.jpg" alt="Lumenier QAV RTFs" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Lumenier QAV RTFs </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/micro-ready-to-fly.html"
title="Micro / Nano RTF/BNF"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-RTF.jpg" alt="Micro / Nano RTF/BNF" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro / Nano RTF/BNF </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/3-rtf-quadcopters.html"
title="3" RTF Quadcopters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/3-RTF-Quads-2.jpg" alt="3' RTF Quadcopters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
3" RTF Quadcopters </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/4-rtf-quadcopters.html"
title="4" RTF Quadcopters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/4-RTF-Quads-2.jpg" alt="4' RTF Quadcopters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
4" RTF Quadcopters </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/5-rtf-quadcopters.html"
title="5" RTF Quadcopters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/5-RTF-Quads-2.jpg" alt="5' RTF Quadcopters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
5" RTF Quadcopters </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/6-rtf-quadcopters.html"
title="6"+ RTF Quadcopters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/6-RTF-Quads-2.jpg" alt="6'+ RTF Quadcopters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
6"+ RTF Quadcopters </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/dji.html"
title="DJI"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/dji-avata-drone.jpg" alt="DJI" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
DJI </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/dji/avata.html"
title="Avata"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Avata </a>
</li>
<li>
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/dji/dji-fpv.html"
title="DJI FPV Drone"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
DJI FPV Drone </a>
</li>
<li>
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/dji/mavic.html"
title="Mavic"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Mavic </a>
</li>
<li>
<a href="https://www.getfpv.com/ready-to-fly-quadcopters/dji/dji-air-2s.html"
title="DJI Air 2S"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
DJI Air 2S </a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-626'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/fpv-quad-kits.html"
title="Drone Bundles"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-626',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-626'}"
>
<span class="text-base text-gray-700 font-medium">
Drone Bundles </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-626',
'block' : menu.hoverSecondPanelActiveId === 'category-node-626'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Drone Bundles</div>
</div>
<div class="grid child-nav-container gap-1 short col-ct-1">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/fpv-quad-kits/diy-drone-kits.html"
title="DIY FPV Drone Kits"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Drone-Bundles.jpg" alt="DIY FPV Drone Kits" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
DIY FPV Drone Kits </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-47'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/multi-rotor-frames.html"
title="Quadcopter Frames"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-47',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-47'}"
>
<span class="text-base text-gray-700 font-medium">
Quadcopter Frames </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-47',
'block' : menu.hoverSecondPanelActiveId === 'category-node-47'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Quadcopter Frames</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames.html"
title="Lumenier QAV Frames"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Lumenier-QAV-Frames.jpg" alt="Lumenier QAV Frames" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Lumenier QAV Frames </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-pro.html"
title="QAV-PRO"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-PRO </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-s-2-sub-250-joshua-bardwell-se.html"
title="QAV-S 2 Sub-250 Joshua Bardwell SE"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-S 2 Sub-250 Joshua Bardwell SE </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-s-2-johnnyfpv-special-edition.html"
title="QAV-S 2 JohnnyFPV Special Edition"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-S 2 JohnnyFPV Special Edition </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-s-2-joshua-bardwell-special-edition.html"
title="QAV-S 2 Joshua Bardwell Special Edition"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-S 2 Joshua Bardwell Special Edition </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-s.html"
title="QAV-S"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-S </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-r-2c.html"
title="QAV-R 2C"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-R 2C </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-r-2.html"
title="QAV-R 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-R 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-r-2-deadcat.html"
title="QAV-R 2 Deadcat"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-R 2 Deadcat </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/qav-rxl-2.html"
title="QAV-RXL 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV-RXL 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/lumenier-frames/legacy-lumenier-frames.html"
title="Legacy Lumenier Frames"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Legacy Lumenier Frames </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/multi-rotor-frames/xilo-frames.html"
title="XILO Frames"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/XILO-Frames.jpg" alt="XILO Frames" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
XILO Frames </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/xilo-frames/blue-hornet.html"
title="Blue Hornet"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Blue Hornet </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/xilo-frames/phreak.html"
title="Phreak"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Phreak </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/xilo-frames/phreakstyle.html"
title="Phreakstyle"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Phreakstyle </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/multi-rotor-frames/3-quad-frames.html"
title="3" Quad Frames"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/3-Quad-Frames.jpg" alt="3' Quad Frames" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
3" Quad Frames </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/3-quad-frames/3-quad-replacement-parts.html"
title="3" Quad Replacement Parts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
3" Quad Replacement Parts </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/multi-rotor-frames/4-quad-frames.html"
title="4" Quad Frames"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/4-Quad-Frames.jpg" alt="4' Quad Frames" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
4" Quad Frames </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/4-quad-frames/4-quad-replacement-parts.html"
title="4" Quad Replacement Parts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
4" Quad Replacement Parts </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/multi-rotor-frames/5-quad-frames.html"
title="5" Quad Frames"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/5-Quad-Frames.jpg" alt="5' Quad Frames" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
5" Quad Frames </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/5-quad-frames/5-quad-replacement-parts.html"
title="5" Quad Replacement Parts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
5" Quad Replacement Parts </a>
</li>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/5-quad-frames/5-fpv-racing-quad-frames.html"
title="5" FPV Racing Quad Frames"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
5" FPV Racing Quad Frames </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/multi-rotor-frames/6-quad-frames.html"
title="6"+ Quad Frames"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/6-Quad-Frames.jpg" alt="6'+ Quad Frames" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
6"+ Quad Frames </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/multi-rotor-frames/6-quad-frames/6-quad-replacement-parts.html"
title="6"+ Quad Replacement Parts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
6"+ Quad Replacement Parts </a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-596'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/micro-quadcopters.html"
title="Micro / Nano Quadcopters"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-596',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-596'}"
>
<span class="text-base text-gray-700 font-medium">
Micro / Nano Quadcopters </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-596',
'block' : menu.hoverSecondPanelActiveId === 'category-node-596'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Micro / Nano Quadcopters</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-rtf-bnf.html"
title="Micro / Nano RTF/BNF"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-RTF-BNF.jpg" alt="Micro / Nano RTF/BNF" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro / Nano RTF/BNF </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-airframes.html"
title="Micro / Nano Airframes"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Airframes.jpg" alt="Micro / Nano Airframes" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro / Nano Airframes </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-motors.html"
title="Micro Motors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Motors-2.jpg" alt="Micro Motors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Motors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-batteries.html"
title="Micro Batteries / Chargers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Batteries-2.jpg" alt="Micro Batteries / Chargers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Batteries / Chargers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-fpv.html"
title="Micro FPV"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-FPV.jpg" alt="Micro FPV" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro FPV </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-propellers.html"
title="Micro Propellers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Propellers.jpg" alt="Micro Propellers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Propellers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-flight-controllers.html"
title="Micro Flight Controllers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Flight-Controllers.jpg" alt="Micro Flight Controllers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Flight Controllers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-antennas.html"
title="Micro Antennas"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Antennas.jpg" alt="Micro Antennas" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Antennas </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-receivers.html"
title="Micro Receivers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Receivers-2.jpg" alt="Micro Receivers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Receivers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/micro-quadcopters/micro-accessories-parts.html"
title="Micro Accessories & Parts"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Accessories.jpg" alt="Micro Accessories & Parts" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Accessories & Parts </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-574'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/commercial-industry-drones.html"
title="Commercial / Industry"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-574',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-574'}"
>
<span class="text-base text-gray-700 font-medium">
Commercial / Industry </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-574',
'block' : menu.hoverSecondPanelActiveId === 'category-node-574'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Commercial / Industry</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones.html"
title="Cinematography "
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Cinematography-Drones.jpg" alt="Cinematography " width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Cinematography </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/rtf-cinema-drones.html"
title="Ready to Fly Cinema Drones"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Ready to Fly Cinema Drones </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/frames.html"
title="Frames"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Frames </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/electronics.html"
title="Electronics "
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Electronics </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/motors.html"
title="Motors"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Motors </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/batteries.html"
title="Batteries "
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Batteries </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/propellers.html"
title="Propellers"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Propellers </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/accessories.html"
title="Accessories"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Accessories </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/cinema-cameras-and-lenses.html"
title="Cinema Cameras and Lenses"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Cinema Cameras and Lenses </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/commercial-industry-drones/education.html"
title="Education"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Education.jpg" alt="Education" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Education </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-k-2.html"
title="Grade K - 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade K - 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-3-5.html"
title="Grade 3 - 5"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade 3 - 5 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-6-8.html"
title="Grade 6 - 8"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade 6 - 8 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-9-12.html"
title="Grade 9 - 12"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade 9 - 12 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/college.html"
title="College "
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
College </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/commercial-industry-drones/dji.html"
title="DJI"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/dji-logo_1_1_.png" alt="DJI" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
DJI </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/dji-neo-drone.html"
title="Neo"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Neo </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/avata-2.html"
title="Avata 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Avata 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/avata.html"
title="Avata"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Avata </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/phantom.html"
title="Phantom"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Phantom </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/mavic.html"
title="Mavic"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Mavic </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/spark.html"
title="Spark"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Spark </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/inspire.html"
title="Inspire"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Inspire </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/flamewheel.html"
title="Flamewheel"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Flamewheel </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/s-series.html"
title="S Series"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
S Series </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/gimbals.html"
title="Gimbals"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Gimbals </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/dji-air-2s-1.html"
title="DJI Air 2S"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
DJI Air 2S </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier.html"
title="Lumenier"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/lumenier-logo.jpg" alt="Lumenier" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Lumenier </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/light-show-drones.html"
title="Light Show Drones"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Light Show Drones </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/lu-type-motors.html"
title="LU Professional Motors"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
LU Professional Motors </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/qav400-fpv-quad.html"
title="QAV400 FPV Quad"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV400 FPV Quad </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/qav500-fpv-quad.html"
title="QAV500 FPV Quad"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV500 FPV Quad </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/commercial-industry-drones/ndaa-compliant.html"
title="NDAA Compliant"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/NDAA_Compliant_Logo_Red_Blue_135x135.webp" alt="NDAA Compliant" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
NDAA Compliant </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/commercial-industry-drones/fiber-optics.html"
title="Fiber Optics"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Fiber_Optics_Category_Thumbnail_GetFPV_.jpg" alt="Fiber Optics" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Fiber Optics </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-13'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/electronics.html"
title="Electronics"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-13',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-13'}"
>
<span class="text-base text-gray-700 font-medium">
Electronics </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-13',
'block' : menu.hoverSecondPanelActiveId === 'category-node-13'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Electronics</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/flight-controllers.html"
title="Flight Controllers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Flight-Controllers.jpg" alt="Flight Controllers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Flight Controllers </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/electronics/flight-controllers/mini-flight-controllers.html"
title="Mini Flight Controllers"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Mini Flight Controllers </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/flight-controllers/micro-flight-controllers.html"
title="Micro Flight Controllers"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Micro Flight Controllers </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/flight-controllers/aio-all-in-one-fc.html"
title="AIO (All in One) FC's"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
AIO (All in One) FC's </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/flight-controllers/airplane-fc.html"
title="Airplane FCs and Parts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Airplane FCs and Parts </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/flight-controllers/commerical-drone-fc.html"
title="Commercial Drone FCs and Parts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Commercial Drone FCs and Parts </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/flight-controllers/fc-with-gps.html"
title="GPS Systems / Modules"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
GPS Systems / Modules </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/electronic-speed-controllers-esc.html"
title="Electronic Speed Controllers (ESC)"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Electronic-Speed-Controllers-_ESC_.jpg" alt="Electronic Speed Controllers (ESC)" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Electronic Speed Controllers (ESC) </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/electronics/electronic-speed-controllers-esc/single-esc.html"
title="Single ESC's"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Single ESC's </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/electronic-speed-controllers-esc/4-in-1-esc-s.html"
title="4 in 1 ESC's"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
4 in 1 ESC's </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/electronic-speed-controllers-esc/commercial-esc-s.html"
title="Commercial ESC's"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Commercial ESC's </a>
</li>
<li>
<a href="https://www.getfpv.com/electronics/electronic-speed-controllers-esc/esc-combos-and-power-systems.html"
title="ESC Combos and Power Systems"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
ESC Combos and Power Systems </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/stacks.html"
title="FC / ESC Stacks"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FC-ESC-Stacks.jpg" alt="FC / ESC Stacks" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
FC / ESC Stacks </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/power-distribution-boards-pdb.html"
title="Power Distribution Boards (PDB)"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Power-Distribution-Boards.jpg" alt="Power Distribution Boards (PDB)" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Power Distribution Boards (PDB) </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/led-lighting.html"
title="LED Lighting"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/LED-Lighting.jpg" alt="LED Lighting" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
LED Lighting </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/voltage-regulators.html"
title="Voltage Regulators / Smoke Stoppers / Capacitors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Voltage-Regulators-etc.jpg" alt="Voltage Regulators / Smoke Stoppers / Capacitors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Voltage Regulators / Smoke Stoppers / Capacitors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/servos.html"
title="Servos"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Servos.jpg" alt="Servos" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Servos </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/remote-id.html"
title="Remote ID"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Lumenier-RID-Remote-ID-Module-_Category-Thumbnail-150x150__1.jpg" alt="Remote ID" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Remote ID </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/electronics/autopilot-systems.html"
title="Autopilot Systems"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Autopilot-Category-Thumbnail-150x150.jpg" alt="Autopilot Systems" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Autopilot Systems </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-48'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/motors.html"
title="Motors"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-48',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-48'}"
>
<span class="text-base text-gray-700 font-medium">
Motors </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-48',
'block' : menu.hoverSecondPanelActiveId === 'category-node-48'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Motors</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/mini-quad-motors.html"
title="Mini Quad Motors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Mini-Quad-Motors.jpg" alt="Mini Quad Motors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Mini Quad Motors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/micro-quad-motors.html"
title="Micro Quad Motors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Quad-Motors-2.jpg" alt="Micro Quad Motors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Quad Motors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/commercial-cinematography-motors.html"
title="Commercial / Cinematography Motors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Gimbal-Motors.jpg" alt="Commercial / Cinematography Motors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Commercial / Cinematography Motors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/brushless-gimbal-motors.html"
title="Gimbal Motors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/gimbal-motors.jpg" alt="Gimbal Motors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Gimbal Motors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/airplane-motors.html"
title="Airplane Motors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Airplane-Motors.jpg" alt="Airplane Motors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Airplane Motors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/motor-combos-and-kits.html"
title="Motor Combos and Power Systems"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/f-pro-pilot-pack.jpg" alt="Motor Combos and Power Systems" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Motor Combos and Power Systems </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/accessories-and-parts.html"
title="Motor Accessories & Parts"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Motor-Accessories-_-Parts-2.jpg" alt="Motor Accessories & Parts" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Motor Accessories & Parts </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/motors/motor-bells.html"
title="Motor Bells"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/f4-proii-2400-bell_1.jpg" alt="Motor Bells" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Motor Bells </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-75'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/batteries.html"
title="Batteries / Chargers"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-75',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-75'}"
>
<span class="text-base text-gray-700 font-medium">
Batteries / Chargers </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-75',
'block' : menu.hoverSecondPanelActiveId === 'category-node-75'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Batteries / Chargers</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/mini-quad-batteries.html"
title="Mini Quad Flight Batteries"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Mini-Quad-Flight-Batteries.jpg" alt="Mini Quad Flight Batteries" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Mini Quad Flight Batteries </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/micro-quad-flight-batteries.html"
title="Micro Quad Flight Batteries"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Quad-Flight-Batteries-2.jpg" alt="Micro Quad Flight Batteries" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Quad Flight Batteries </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/battery-bundles.html"
title="Battery Bundles"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Battery-Bundles.jpg" alt="Battery Bundles" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Battery Bundles </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/18650-batteries.html"
title="Lithium Ion Batteries"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/lithium-ion-batteries.webp" alt="Lithium Ion Batteries" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Lithium Ion Batteries </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/accessory-batteries.html"
title="Accessory Batteries"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Accessory-Batteries.jpg" alt="Accessory Batteries" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Accessory Batteries </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/commercial-consumer-batteries.html"
title="Commercial / Industrial Batteries"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Commercial-Batteries.jpg" alt="Commercial / Industrial Batteries" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Commercial / Industrial Batteries </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/battery-chargers.html"
title="Battery Chargers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Battery-Chargers.jpg" alt="Battery Chargers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Battery Chargers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/parallel-charging-boards.html"
title="Parallel Charging Boards"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Parallel-Charging-Boards.jpg" alt="Parallel Charging Boards" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Parallel Charging Boards </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/battery-accessories.html"
title="Battery and Charger Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Battery-and-Charger-Accessories.jpg" alt="Battery and Charger Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Battery and Charger Accessories </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/batteries/lipo-straps.html"
title="LiPo Straps"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/LiPo-Straps.jpg" alt="LiPo Straps" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
LiPo Straps </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-100'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/radios.html"
title="Radios"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-100',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-100'}"
>
<span class="text-base text-gray-700 font-medium">
Radios </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-100',
'block' : menu.hoverSecondPanelActiveId === 'category-node-100'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Radios</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/radio-controllers.html"
title="Radio Controllers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Radio-Controllers-2.jpg" alt="Radio Controllers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Radio Controllers </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/radios/radio-controllers/frsky-radios.html"
title="Frsky Radios"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Frsky Radios </a>
</li>
<li>
<a href="https://www.getfpv.com/radios/radio-controllers/radiomaster-radios.html"
title="RadioMaster Radios"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
RadioMaster Radios </a>
</li>
<li>
<a href="https://www.getfpv.com/radios/radio-controllers/tbs-radios.html"
title="TBS Radios"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
TBS Radios </a>
</li>
<li>
<a href="https://www.getfpv.com/radios/radio-controllers/dji-radios.html"
title="DJI Radios"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
DJI Radios </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/radio-antennas.html"
title="Radio Antennas"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Radio-Antennas.jpg" alt="Radio Antennas" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Radio Antennas </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/receivers.html"
title="Radio Receivers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Radio-Receivers.jpg" alt="Radio Receivers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Radio Receivers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/radio-transmitters.html"
title="Radio Transmitter Modules (Tx)"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Radio-Transmitter-Modules-2.jpg" alt="Radio Transmitter Modules (Tx)" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Radio Transmitter Modules (Tx) </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/receiver-transmitter-combos.html"
title="Radio RX/TX Combos"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/RX-TX-Combos-2.jpg" alt="Radio RX/TX Combos" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Radio RX/TX Combos </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/long-range-radio-systems.html"
title="Long Range Systems and Antennas"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Long-Range-Systems.jpg" alt="Long Range Systems and Antennas" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Long Range Systems and Antennas </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/radios/radio-accessories.html"
title="Radio Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Radio-Accessories_1.jpg" alt="Radio Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Radio Accessories </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-40'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/propellers.html"
title="Propellers"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-40',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-40'}"
>
<span class="text-base text-gray-700 font-medium">
Propellers </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-40',
'block' : menu.hoverSecondPanelActiveId === 'category-node-40'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Propellers</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/mini-quad-propellers.html"
title="Mini Quad Propellers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Mini-Quad-Propellers.jpg" alt="Mini Quad Propellers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Mini Quad Propellers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/micro-quad-propellers.html"
title="Micro Quad Propellers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Micro-Quad-Propellers.jpg" alt="Micro Quad Propellers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Micro Quad Propellers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/commercial-industrial-propellers.html"
title="Commercial / Industrial Propellers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Commercial-Propellers-2.jpg" alt="Commercial / Industrial Propellers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Commercial / Industrial Propellers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/airplane-propellers.html"
title="Airplane Propellers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/airplain-propellers.jpg" alt="Airplane Propellers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Airplane Propellers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/prop-reducers.html"
title="Prop Reducers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Prop-Reducers.jpg" alt="Prop Reducers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Prop Reducers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/prop-adapters.html"
title="Prop Adapters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Prop-Adapters.jpg" alt="Prop Adapters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Prop Adapters </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/propeller-accessories.html"
title="Propeller Locknuts and Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Prop-Accessories.jpg" alt="Propeller Locknuts and Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Propeller Locknuts and Accessories </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/x-class-propellers.html"
title="X-Class Propellers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/X-Class-Propellers.jpg" alt="X-Class Propellers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
X-Class Propellers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/propellers/propeller-guards-and-ducts.html"
title="Propeller Guards and Ducts"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/dji-avata-propeller-guard-.jpg" alt="Propeller Guards and Ducts" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Propeller Guards and Ducts </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-611'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/action-cameras.html"
title="Action Cameras"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-611',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-611'}"
>
<span class="text-base text-gray-700 font-medium">
Action Cameras </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-611',
'block' : menu.hoverSecondPanelActiveId === 'category-node-611'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Action Cameras</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/action-cameras/action-camera.html"
title="Action Cameras"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Action-Cameras.jpg" alt="Action Cameras" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Action Cameras </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/action-cameras/camera-mounts.html"
title="Action Camera Mounts and Cases"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Action-Camera-Mounts.jpg" alt="Action Camera Mounts and Cases" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Action Camera Mounts and Cases </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/action-cameras/camera-filters.html"
title="Camera Filters"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Camera-Filters.jpg" alt="Camera Filters" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Camera Filters </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/action-cameras/camera-accessories.html"
title="Camera Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Camera-Accessories.jpg" alt="Camera Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Camera Accessories </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-39'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/planes.html"
title="Planes"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-39',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-39'}"
>
<span class="text-base text-gray-700 font-medium">
Planes </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-39',
'block' : menu.hoverSecondPanelActiveId === 'category-node-39'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Planes</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/planes/fpv-planes.html"
title="FPV Planes"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/FPV-Planes-2.jpg" alt="FPV Planes" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
FPV Planes </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/planes/laminate.html"
title="Laminate"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Laminate.jpg" alt="Laminate" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Laminate </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/planes/power-packages.html"
title="Power Packages"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Power-Packages.jpg" alt="Power Packages" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Power Packages </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/planes/accessories.html"
title="Parts & Accessories"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Plane-Parts-and-Accessories.jpg" alt="Parts & Accessories" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Parts & Accessories </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/planes/electronics.html"
title="Plane Electronics"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Plane-Electronics.jpg" alt="Plane Electronics" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Plane Electronics </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/planes/flitetest.html"
title="Flite Test RC Plane Build Kits"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/flite-test-planes.jpg" alt="Flite Test RC Plane Build Kits" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Flite Test RC Plane Build Kits </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-42'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/accessories.html"
title="Accessories"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-42',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-42'}"
>
<span class="text-base text-gray-700 font-medium">
Accessories </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-42',
'block' : menu.hoverSecondPanelActiveId === 'category-node-42'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Accessories</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/gift-card.html"
title="Gift Cards"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Gift-Cards.jpg" alt="Gift Cards" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Gift Cards </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/clothing.html"
title="Clothing & Stickers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Clothing-and-Hats.jpg" alt="Clothing & Stickers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Clothing & Stickers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/banners-race-gates.html"
title="Banners / Race Gates"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Banners-and-Gates.jpg" alt="Banners / Race Gates" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Banners / Race Gates </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/tools.html"
title="Tools"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Tools.jpg" alt="Tools" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Tools </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories/backpacks.html"
title="Travel Cases & Backpacks"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/backpacks.webp" alt="Travel Cases & Backpacks" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Travel Cases & Backpacks </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/power-cables-connectors.html"
title="Cables / Connectors"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Cables-and-Connectors.jpg" alt="Cables / Connectors" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Cables / Connectors </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/parts-hardware.html"
title="Parts & Hardware"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Hardware.jpg" alt="Parts & Hardware" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Parts & Hardware </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/wire.html"
title="Wire"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Wire.jpg" alt="Wire" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Wire </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/glues-and-adhesives.html"
title="Glues and Adhesives"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Glues.jpg" alt="Glues and Adhesives" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Glues and Adhesives </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/servo-cables.html"
title="Servo Cables"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Servo-Cables.jpg" alt="Servo Cables" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Servo Cables </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/sma-cables.html"
title="SMA Cables"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/SMA-Cables.jpg" alt="SMA Cables" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
SMA Cables </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/a-v-cables.html"
title="A/V Cables"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/AV-Cables.jpg" alt="A/V Cables" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
A/V Cables </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/flight-simulators.html"
title="Flight Simulators"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Flight-Simulators.jpg" alt="Flight Simulators" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Flight Simulators </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/carbon-fiber-sheets.html"
title="Carbon Fiber Sheets"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/Carbon-Fiber.jpg" alt="Carbon Fiber Sheets" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Carbon Fiber Sheets </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/accessories-390/toys.html"
title="Toys"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<span class="text-gray-700 font-bold">
Toys </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-780'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/3d-printing.html"
title="3D Printing"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-780',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-780'}"
>
<span class="text-base text-gray-700 font-medium">
3D Printing </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-780',
'block' : menu.hoverSecondPanelActiveId === 'category-node-780'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">3D Printing</div>
</div>
<div class="grid child-nav-container gap-1 ">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/3d-printing/3d-printers.html"
title="3D Printers"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/3d-printer-icon.jpg" alt="3D Printers" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
3D Printers </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/3d-printing/filament.html"
title="Filament"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/3d-printer-filament.jpg" alt="Filament" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Filament </span>
</a>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/3d-printing/3d-printed-parts.html"
title="3D Printed Parts"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/3D-Printed-Parts.jpg" alt="3D Printed Parts" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
3D Printed Parts </span>
</a>
<ul>
<li>
<a href="https://www.getfpv.com/3d-printing/3d-printed-parts/antenna-mounts.html"
title="Antenna Mounts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Antenna Mounts </a>
</li>
<li>
<a href="https://www.getfpv.com/3d-printing/3d-printed-parts/camera-mounts.html"
title="Camera Mounts"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Camera Mounts </a>
</li>
<li>
<a href="https://www.getfpv.com/3d-printing/3d-printed-parts/accessories.html"
title="Accessories"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Accessories </a>
</li>
</ul>
</div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/3d-printing/getfpv-quickprints-custom-3d-printing.html"
title="Custom 3D Printing"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/quick-prints-thumb.jpg" alt="Custom 3D Printing" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Custom 3D Printing </span>
</a>
</div>
</div>
</div>
</div>
<div
@mouseenter="menu.hoverSecondPanelActiveId = 'category-node-253'"
@mouseleave="menu.hoverSecondPanelActiveId = 0"
>
<a href="https://www.getfpv.com/on-sale.html"
title="On Sale"
class="block child-nav px-3 py-2 whitespace-nowrap first:mt-0 flex justify-between items-center text-secondary-lighter hover:text-black hover:bg-yellow-gfpv transition duration-300 ease-in-out "
:class="{ 'main-off' : menu.hoverSecondPanelActiveId !== 'category-node-253',
'main-hover' : menu.hoverSecondPanelActiveId === 'category-node-253'}"
>
<span class="text-base text-gray-700 font-medium">
On Sale </span>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline ml-10" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
</a>
<div
class="absolute top-0 left-full z-10 min-h-full hidden -ml shadow-lg bg-container-card px-6 py-4 overflow-y-auto"
style="max-height: calc(100vh - 130px);"
:class="{ 'hidden' : menu.hoverSecondPanelActiveId !== 'category-node-253',
'block' : menu.hoverSecondPanelActiveId === 'category-node-253'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">On Sale</div>
</div>
<div class="grid child-nav-container gap-1 short col-ct-1">
<div class="hidden"></div>
<div class="whitespace-normal card text-gray-700">
<a href="https://www.getfpv.com/on-sale/clearance.html"
title="Clearance"
class="block w-full px-3 py-1 my-1 first:mt-0 hover:underline"
>
<img src="/media/catalog/category/clearance_1.jpg" alt="Clearance" width="150" class="mx-auto" loading="lazy" />
<span class="text-gray-700 font-bold">
Clearance </span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="relative level-0" @mouseenter="menu.hoverPanelActiveId = 't-category-node-719'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md bg-opacity-95">
<a class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 test text-nav text-white font-semibold hover:text-black hover:bg-yellow-gfpv level-0"
href="https://www.getfpv.com/new-arrivals-1.html"
title="New Products"
:class="{ 'main-off' : menu.hoverPanelActiveId !== 't-category-node-719',
'main-hover' : menu.hoverPanelActiveId === 't-category-node-719'}"
>
New Products </a>
</span>
</div>
<div class="mr-2 level-0" @mouseenter="menu.hoverPanelActiveId = 't-category-node-626'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md">
<a class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 pr-1 xl:pr-2 text-nav text-white font-semibold hover:text-black hover:bg-yellow-gfpv level-0"
href="https://www.getfpv.com/fpv-quad-kits.html"
title="Shop By Brand"
:class="{ 'main-off' : menu.hoverPanelActiveId !== 't-category-node-626',
'main-hover' : menu.hoverPanelActiveId === 't-category-node-626'}"
>
Drone Bundles<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
<title>chevron-down</title></svg>
</a>
</span>
<div
class="absolute left-0 z-10 hidden px-6 py-4 w-full shadow-lg bg-container-lighter"
:class="{ 'hidden' : menu.hoverPanelActiveId !== 't-category-node-626',
'block' : menu.hoverPanelActiveId === 't-category-node-626'}">
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Drone Bundles</div>
</div>
<ul class="grid grid-cols-4 gap-y-4 divide-y divide-gray-200">
<!-- hidden li is just to force divide line to complete :: need to figure out why unexpected behavior is happening -->
<li class="hidden"></li>
<li class="">
<a href="https://www.getfpv.com/fpv-quad-kits/diy-drone-kits.html" class="category-thumbnail"><img class="nav-img" alt="DIY FPV Drone Kits" src="/media/catalog/category/Drone-Bundles.jpg" loading="lazy"></a>
<a href="https://www.getfpv.com/fpv-quad-kits/diy-drone-kits.html" class="level1 font-bold hover:underline text-gray-700 block text-center">DIY FPV Drone Kits</a>
</li>
</ul>
</div>
</div>
<div class="mr-2 level-0" @mouseenter="menu.hoverPanelActiveId = 't-category-node-574'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md">
<a class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 pr-1 xl:pr-2 text-nav text-white font-semibold hover:text-black hover:bg-yellow-gfpv level-0"
href="https://www.getfpv.com/commercial-industry-drones.html"
title="Shop By Brand"
:class="{ 'main-off' : menu.hoverPanelActiveId !== 't-category-node-574',
'main-hover' : menu.hoverPanelActiveId === 't-category-node-574'}"
>
Commercial / Industry<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
<title>chevron-down</title></svg>
</a>
</span>
<div
class="absolute left-0 z-10 hidden px-6 py-4 w-full shadow-lg bg-container-lighter"
:class="{ 'hidden' : menu.hoverPanelActiveId !== 't-category-node-574',
'block' : menu.hoverPanelActiveId === 't-category-node-574'}">
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Commercial / Industry</div>
</div>
<ul class="grid grid-cols-4 gap-y-4 divide-y divide-gray-200">
<!-- hidden li is just to force divide line to complete :: need to figure out why unexpected behavior is happening -->
<li class="hidden"></li>
<li class="">
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones.html" class="category-thumbnail"><img class="nav-img" alt="Cinematography " src="/media/catalog/category/Cinematography-Drones.jpg" loading="lazy"></a>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones.html" class="level1 font-bold hover:underline text-gray-700 ">Cinematography </a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/rtf-cinema-drones.html"
title="Ready to Fly Cinema Drones"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Ready to Fly Cinema Drones </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/frames.html"
title="Frames"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Frames </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/electronics.html"
title="Electronics "
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Electronics </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/motors.html"
title="Motors"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Motors </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/batteries.html"
title="Batteries "
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Batteries </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/propellers.html"
title="Propellers"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Propellers </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/accessories.html"
title="Accessories"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Accessories </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/cinematography-drones/cinema-cameras-and-lenses.html"
title="Cinema Cameras and Lenses"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Cinema Cameras and Lenses </a>
</li>
</ul>
</li>
<li class="">
<a href="https://www.getfpv.com/commercial-industry-drones/education.html" class="category-thumbnail"><img class="nav-img" alt="Education" src="/media/catalog/category/Education.jpg" loading="lazy"></a>
<a href="https://www.getfpv.com/commercial-industry-drones/education.html" class="level1 font-bold hover:underline text-gray-700 ">Education</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-k-2.html"
title="Grade K - 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade K - 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-3-5.html"
title="Grade 3 - 5"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade 3 - 5 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-6-8.html"
title="Grade 6 - 8"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade 6 - 8 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/grade-9-12.html"
title="Grade 9 - 12"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Grade 9 - 12 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/education/college.html"
title="College "
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
College </a>
</li>
</ul>
</li>
<li class="">
<a href="https://www.getfpv.com/commercial-industry-drones/dji.html" class="category-thumbnail"><img class="nav-img" alt="DJI" src="/media/catalog/category/dji-logo_1_1_.png" loading="lazy"></a>
<a href="https://www.getfpv.com/commercial-industry-drones/dji.html" class="level1 font-bold hover:underline text-gray-700 ">DJI</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/dji-neo-drone.html"
title="Neo"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Neo </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/avata-2.html"
title="Avata 2"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Avata 2 </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/avata.html"
title="Avata"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Avata </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/phantom.html"
title="Phantom"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Phantom </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/mavic.html"
title="Mavic"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Mavic </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/spark.html"
title="Spark"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Spark </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/inspire.html"
title="Inspire"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Inspire </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/flamewheel.html"
title="Flamewheel"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Flamewheel </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/s-series.html"
title="S Series"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
S Series </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/gimbals.html"
title="Gimbals"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Gimbals </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/dji/dji-air-2s-1.html"
title="DJI Air 2S"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
DJI Air 2S </a>
</li>
</ul>
</li>
<li class="">
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier.html" class="category-thumbnail"><img class="nav-img" alt="Lumenier" src="/media/catalog/category/lumenier-logo.jpg" loading="lazy"></a>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier.html" class="level1 font-bold hover:underline text-gray-700 ">Lumenier</a>
<ul>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/light-show-drones.html"
title="Light Show Drones"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
Light Show Drones </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/lu-type-motors.html"
title="LU Professional Motors"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
LU Professional Motors </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/qav400-fpv-quad.html"
title="QAV400 FPV Quad"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV400 FPV Quad </a>
</li>
<li>
<a href="https://www.getfpv.com/commercial-industry-drones/lumenier/qav500-fpv-quad.html"
title="QAV500 FPV Quad"
class="block w-full px-5 py-1 mr-1 first:mt-0 text-base text-gray-700 hover:bg-gray-200 transition duration-300 ease-in-out "
>
QAV500 FPV Quad </a>
</li>
</ul>
</li>
<li class="">
<a href="https://www.getfpv.com/commercial-industry-drones/ndaa-compliant.html" class="category-thumbnail"><img class="nav-img" alt="NDAA Compliant" src="/media/catalog/category/NDAA_Compliant_Logo_Red_Blue_135x135.webp" loading="lazy"></a>
<a href="https://www.getfpv.com/commercial-industry-drones/ndaa-compliant.html" class="level1 font-bold hover:underline text-gray-700 block text-center">NDAA Compliant</a>
</li>
<li class="">
<a href="https://www.getfpv.com/commercial-industry-drones/fiber-optics.html" class="category-thumbnail"><img class="nav-img" alt="Fiber Optics" src="/media/catalog/category/Fiber_Optics_Category_Thumbnail_GetFPV_.jpg" loading="lazy"></a>
<a href="https://www.getfpv.com/commercial-industry-drones/fiber-optics.html" class="level1 font-bold hover:underline text-gray-700 block text-center">Fiber Optics</a>
</li>
</ul>
</div>
</div>
<div class="mr-2 level-0" @mouseenter="menu.hoverPanelActiveId = 'shop-by-brand'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md">
<a class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 pr-1 xl:pr-2 text-nav text-white font-semibold hover:text-black hover:bg-yellow-gfpv level-0"
href="/drone-brands.html"
title="Shop By Brand"
:class="{ 'main-off' : menu.hoverPanelActiveId !== 'shop-by-brand',
'main-hover' : menu.hoverPanelActiveId === 'shop-by-brand'}"
>Shop By Brand<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
<title>chevron-down</title></svg>
</a>
</span>
<div
class="absolute left-0 z-10 hidden px-6 py-4 w-full shadow-lg bg-container-lighter"
:class="{ 'hidden' : menu.hoverPanelActiveId !== 'shop-by-brand',
'block' : menu.hoverPanelActiveId === 'shop-by-brand'}"
>
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">Shop by Brand</div>
</div>
<ul class="grid grid-cols-4 gap-y-4 divide-y divide-gray-200 text-center font-bold">
<!-- hidden li is just to force divide line to complete :: need to figure out why unexpected behavior is happening -->
<li class="hidden"></li>
<li class="">
<a href="https://www.getfpv.com/catalog/category/view/s/lumenier/id/740/" class="category-thumbnail"><img class="nav-img" alt="Lumenier" src="/media/catalog/category/Brand_Thumbnails_3.8.webp"></a>
<a href="https://www.getfpv.com/catalog/category/view/s/lumenier/id/740/" class="level1 hover:underline text-gray-700">Lumenier</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/xilo.html" class="category-thumbnail"><img class="nav-img" alt="XILO" src="/media/catalog/category/Brand_Thumbnails_3.8_xilo_1.webp"></a>
<a href="https://www.getfpv.com/drone-brands/xilo.html" class="level1 hover:underline text-gray-700">XILO</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/betafpv.html" class="category-thumbnail"><img class="nav-img" alt="BETAFPV" src="/media/catalog/category/Brand_Thumbnails_3.8_betafpv.webp"></a>
<a href="https://www.getfpv.com/drone-brands/betafpv.html" class="level1 hover:underline text-gray-700">BETAFPV</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/emax.html" class="category-thumbnail"><img class="nav-img" alt="EMAX" src="/media/catalog/category/Brand_Thumbnails_emax_3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/emax.html" class="level1 hover:underline text-gray-700">EMAX</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/tmotor.html" class="category-thumbnail"><img class="nav-img" alt="T-Motor" src="/media/catalog/category/Brand_Thumbnails_t-motor_3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/tmotor.html" class="level1 hover:underline text-gray-700">T-Motor</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/tbs.html" class="category-thumbnail"><img class="nav-img" alt="Team Black Sheep (TBS)" src="/media/catalog/category/Brand_Thumbnails_tbs3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/tbs.html" class="level1 hover:underline text-gray-700">Team Black Sheep (TBS)</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/ethix.html" class="category-thumbnail"><img class="nav-img" alt="ETHIX" src="/media/catalog/category/Ethix_150x100.webp"></a>
<a href="https://www.getfpv.com/drone-brands/ethix.html" class="level1 hover:underline text-gray-700">ETHIX</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/fatshark.html" class="category-thumbnail"><img class="nav-img" alt="Fat Shark" src="/media/catalog/category/Brand_Thumbnails_fat_shark3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/fatshark.html" class="level1 hover:underline text-gray-700">Fat Shark</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/flywoo.html" class="category-thumbnail"><img class="nav-img" alt="Flywoo" src="/media/catalog/category/Brand_Thumbnails_flywoo_3.8_2.webp"></a>
<a href="https://www.getfpv.com/drone-brands/flywoo.html" class="level1 hover:underline text-gray-700">Flywoo</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/happymodel.html" class="category-thumbnail"><img class="nav-img" alt="Happymodel" src="/media/catalog/category/happymodel.jpg"></a>
<a href="https://www.getfpv.com/drone-brands/happymodel.html" class="level1 hover:underline text-gray-700">Happymodel</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/truerc.html" class="category-thumbnail"><img class="nav-img" alt="TrueRC" src="/media/catalog/category/TrueRC-Logo-150x100_1_2.jpg"></a>
<a href="https://www.getfpv.com/drone-brands/truerc.html" class="level1 hover:underline text-gray-700">TrueRC</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/orqa.html" class="category-thumbnail"><img class="nav-img" alt="ORQA" src="/media/catalog/category/ORQA-brands-we-love-150x100.jpg"></a>
<a href="https://www.getfpv.com/drone-brands/orqa.html" class="level1 hover:underline text-gray-700">ORQA</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/iflight.html" class="category-thumbnail"><img class="nav-img" alt="iFlight" src="/media/catalog/category/Brand_Thumbnails_iflight_3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/iflight.html" class="level1 hover:underline text-gray-700">iFlight</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/radiomaster.html" class="category-thumbnail"><img class="nav-img" alt="RadioMaster" src="/media/catalog/category/Brand_Thumbnails_radiomaster_3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/radiomaster.html" class="level1 hover:underline text-gray-700">RadioMaster</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/walksnail.html" class="category-thumbnail"><img class="nav-img" alt="Walksnail" src="/media/catalog/category/Brand_Thumbnails_walksnail_3.8.webp"></a>
<a href="https://www.getfpv.com/drone-brands/walksnail.html" class="level1 hover:underline text-gray-700">Walksnail</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/zohd.html" class="category-thumbnail"><img class="nav-img" alt="ZOHD" src="/media/catalog/category/Brand_Thumbnails_zohd_3.8_2.webp"></a>
<a href="https://www.getfpv.com/drone-brands/zohd.html" class="level1 hover:underline text-gray-700">ZOHD</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/caddxfpv.html" class="category-thumbnail"><img class="nav-img" alt="CaddxFPV" src="/media/catalog/category/Brand_Thumbnails_caddoxfpv_3.8_1.webp"></a>
<a href="https://www.getfpv.com/drone-brands/caddxfpv.html" class="level1 hover:underline text-gray-700">CaddxFPV</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/maytek-systems.html" class="category-thumbnail"><img class="nav-img" alt="MATEKSYS" src="/media/catalog/category/MatekSYS-4.6.2023.webp"></a>
<a href="https://www.getfpv.com/drone-brands/maytek-systems.html" class="level1 hover:underline text-gray-700">MATEKSYS</a>
</li>
<li class="">
<a href="https://www.getfpv.com/drone-brands/dji.html" class="category-thumbnail"><img class="nav-img" alt="DJI" src="/media/catalog/category/Brand_Thumbnails_3.8_dji_1_2.webp"></a>
<a href="https://www.getfpv.com/drone-brands/dji.html" class="level1 hover:underline text-gray-700">DJI</a>
</li>
<li>
<div class="text-left flex flex-col content-center items-center py-5">
<a href="https://www.getfpv.com/drone-brands/pilot-brands.html" class="w-40 hover:underline text-gray-700">Drone Pilot Brands</a>
<ul class="w-40 text-secondary-lighter">
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/johnnyfpv.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
JohnnyFPV</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/skitzo.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
SKITZO FPV</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/joshua-bardwell.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
Joshua Bardwell</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/mr-steele-ethix.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
Mr. Steele - ETHIX</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/minchankim-mck.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
MCK (Min Chan Kim)</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/tomz.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
Tomz</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/chief.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
Chief</a></li>
<li class="level2 nav-3-12-1 first"><a href="https://www.getfpv.com/drone-brands/pilot-brands/fincky-fpv.html" class="level2 hover:underline"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4 md:h-4 md:w-4 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
<title>chevron-right</title></svg>
Fincky FPV</a></li>
</ul>
</div>
</li>
</ul>
</div>
</div>
<div class="mr-2 level-0" @mouseenter="menu.hoverPanelActiveId = 't-category-node-253'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md">
<a class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 pr-1 xl:pr-2 text-nav text-white font-semibold hover:text-black hover:bg-yellow-gfpv level-0"
href="https://www.getfpv.com/on-sale.html"
title="Shop By Brand"
:class="{ 'main-off' : menu.hoverPanelActiveId !== 't-category-node-253',
'main-hover' : menu.hoverPanelActiveId === 't-category-node-253'}"
>
On Sale<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5 md:h-5 md:w-5 inline -mt-2 -mb-1" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
<title>chevron-down</title></svg>
</a>
</span>
<div
class="absolute left-0 z-10 hidden px-6 py-4 w-full shadow-lg bg-container-lighter"
:class="{ 'hidden' : menu.hoverPanelActiveId !== 't-category-node-253',
'block' : menu.hoverPanelActiveId === 't-category-node-253'}">
<div class="flex justify-between pb-4 items-center">
<div class="font-bold text-xl">On Sale</div>
</div>
<ul class="grid grid-cols-4 gap-y-4 divide-y divide-gray-200">
<!-- hidden li is just to force divide line to complete :: need to figure out why unexpected behavior is happening -->
<li class="hidden"></li>
<li class="">
<a href="https://www.getfpv.com/on-sale/clearance.html" class="category-thumbnail"><img class="nav-img" alt="Clearance" src="/media/catalog/category/clearance_1.jpg" loading="lazy"></a>
<a href="https://www.getfpv.com/on-sale/clearance.html" class="level1 font-bold hover:underline text-gray-700 block text-center">Clearance</a>
</li>
</ul>
</div>
</div>
<div class="relative level-0" @mouseenter="menu.hoverPanelActiveId = 't-education'" @mouseleave="menu.hoverPanelActiveId = 0">
<span class="flex items-center block text-md bg-opacity-95">
<a class="transition duration-300 ease-in-out w-full py-3 px-2 xl:px-4 test text-nav text-white font-semibold hover:text-black hover:bg-yellow-gfpv level-0"
href="https://www.getfpv.com/learn/"
title="Learn About FPV"
:class="{ 'main-off' : menu.hoverPanelActiveId !== 't-education',
'main-hover' : menu.hoverPanelActiveId === 't-education'}"
>
Learn About FPV </a>
</span>
</div>
</nav>
</div>
</div>
<script>
'use strict';
const initHeaderNavigation = () => {
return {
mobilePanelActiveId: null,
hoverPanelActiveId: null,
open: false,
custLoggedIn: false,
custOpen: false,
setActiveMenu(menuNode) {
Array.from(menuNode.querySelectorAll('a')).filter(link => {
return link.href === window.location.href.split('?')[0];
}).map(item => {
//item.classList.add('underline');
//item.closest('div.level-0') && item.closest('div.level-0').querySelector('a.level-0').classList.add('underline');
});
},
setCustLoggedIn(data) {
this.custLoggedIn = (data.customer && data.customer.group_code != "NOT LOGGED IN") ? true : false;
//console.log(this.custLoggedIn)
}
}
}
</script>
</div>
<!--Cart Drawer-->
<script>
function initCartDrawer() {
return {
open: false,
cart: {},
isLoading: false,
getData(data) {
if (data.cart && data.cart.cartId) {
this.cart = data.cart;
this.setCartItems();
this.updateCartItemsStockStatus()
}
},
cartItems: {},
setCartItems() {
this.cartItems = this.cart && this.cart.items.sort(function(a,b) { return a.item_id - b.item_id }) || {}
},
updateCartItemsStockStatus() {
if(Object.keys(this.cartItems).length !== 0) {
fetch('https://www.getfpv.com/updatestatus')
.then((response) => {
return response.json()
}
).then((data) => {
if (data && data.errors) {
this.initErrorMessages(data.errors);
}
const originalArray = this.cartItems;
const updatesArray = data;
updatesArray.forEach(update => {
const index = originalArray.findIndex(item => item.item_id === update.id);
if (index !== -1) {
if (this.cartItems[index].product_stock_status != 'Pre-Order') {
this.cartItems[index].product_stock_status = update.product.stock_status
}
}
});
});
}
},
deleteItemFromCart(itemId) {
var formKey = document.querySelector('input[name=form_key]').value;
fetch(BASE_URL+"checkout/sidebar/removeItem/", {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&item_id="+itemId,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not remove item from quote."
}], 5000
);
}
}).then(function (response) {
console.log(response);
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: response.success ? "success" : "error",
text: response.success
? "You removed the item."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
});
},
startLoading() {
this.isLoading = true;
document.body.classList.add('overflow-hidden');
},
stopLoading() {
this.isLoading = false;
document.body.classList.remove('overflow-hidden');
},
clearErrorMessages() {
window.dispatchEvent(new CustomEvent('clear-messages'));
},
initErrorMessages(errors) {
const messages = [];
for (let error in Object.keys(errors)) {
messages.push({type: 'error', text: errors[error].message});
}
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(messages, 10000);
},
mutateItemQty(itemId, qty) {
this.startLoading();
const cartItemUpdateQuery = `mutation updateCartItemQtyMutation($cartId: String!, $itemId: Int, $qty: Float) {updateCartItems(
input: {
cart_id: $cartId,
cart_items: [
{
cart_item_id: $itemId
quantity: $qty
}
]
}
) {
cart {
total_quantity
is_virtual
items {
id
errors {
code
message
}
prices {
price {
value
}
row_total {
value
currency
}
row_total_incl_tax {
value
currency
}
price_incl_tax{
value
}
}
product_type
product {
id
name
sku
small_image {
label
url
}
url_key
url_suffix
price_tiers {
quantity
final_price {
value
}
discount {
amount_off
percent_off
}
}
}
quantity
... on SimpleCartItem {
customizable_options {
label
values {
label
value
price {
value
type
}
}
}
}
... on VirtualCartItem {
customizable_options {
label
values {
label
value
price {
value
type
}
}
}
}
... on DownloadableCartItem {
customizable_options {
label
values {
label
value
price {
value
type
}
}
}
}
... on ConfigurableCartItem {
configurable_options {
id
option_label
value_label
}
configured_variant {
small_image {
label
url
}
}
}
... on BundleCartItem {
bundle_options {
id
label
values {
quantity
label
}
}
customizable_options {
label
values {
label
value
price {
value
type
}
}
}
}
}
available_payment_methods {
code
title
}
selected_payment_method {
code
title
}
applied_coupons {
code
}
billing_address {
country {
code
}
region {
label
region_id
}
postcode
}
shipping_addresses {
country {
code
}
region {
label
region_id
}
postcode
selected_shipping_method {
amount {
value
currency
}
carrier_title
carrier_code
method_title
method_code
}
available_shipping_methods {
price_excl_tax {
value
currency
}
price_incl_tax {
value
currency
}
available
carrier_title
carrier_code
error_message
method_title
method_code
}
}
prices {
grand_total {
value
currency
}
subtotal_excluding_tax {
value
currency
}
subtotal_including_tax {
value
currency
}
applied_taxes {
amount {
value
currency
}
label
}
discounts {
amount {
value
currency
}
label
}
}
}
}}`;
const variables = {
cartId: this.cart.cartId,
itemId: itemId,
qty: qty
};
fetch('https://www.getfpv.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8',
'Store': 'default'
},
body: JSON.stringify({query: cartItemUpdateQuery, variables: variables})
}
).then((response) => {
return response.json()
}
).then((data) => {
this.clearErrorMessages();
if (data.errors) {
this.initErrorMessages(data.errors);
} else {
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
this.updateCartItemsStockStatus()
}
})
//.catch(displayError) // We need to figure out why we do not have scope to displayError it should be caught
.finally(() => {
this.stopLoading();
});
},
}
}
</script>
<section id="cart-drawer"
x-data="initCartDrawer()"
@private-content-loaded.window="getData(event.detail.data)"
@toggle-cart.window="open=true;"
@keydown.window.escape="open=false"
>
<template x-if="cart && cart.summary_count">
<div role="dialog"
aria-labelledby="cart-drawer-title"
aria-modal="true"
@click.outside="open = false"
class="fixed inset-y-0 right-0 z-30 flex max-w-full">
<div class="backdrop"
x-show="open"
x-transition:enter="ease-in-out duration-500"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="ease-in-out duration-500"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0"
@click="open = false"
aria-label="Close panel"></div>
<div class="relative w-screen max-w-md shadow-2xl"
x-show="open"
x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
x-transition:enter-start="translate-x-full"
x-transition:enter-end="translate-x-0"
x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
x-transition:leave-start="translate-x-0"
x-transition:leave-end="translate-x-full"
>
<div
x-show="open"
x-transition:enter="ease-in-out duration-500"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="ease-in-out duration-500"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex p-2 mt-2">
<button @click="open = false;" aria-label="Close panel"
class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
<svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round"
stroke-width="2" d="M6 18L18 6M6 6l12 12">
</path>
</svg>
</button>
</div>
<div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
<div class="flex flex-row justify-center items-center w-full h-full absolute select-none"
style="left: 50%;top: 50%;transform: translateX(-50%) translateY(-50%);background: rgba(255,255,255,0.7); z-index: 99;"
x-show="isLoading"
x-transition:enter="ease-out duration-200"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="ease-in duration-200"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0">
<!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
<svg width="57" height="57" viewBox="0 0 57 57" xmlns="http://www.w3.org/2000/svg" stroke="#fff"
class="stroke-current text-primary">
<g fill="none" fill-rule="evenodd">
<g transform="translate(1 1)" stroke-width="2">
<circle cx="5" cy="50" r="5">
<animate attributeName="cy"
begin="0s" dur="2.2s"
values="50;5;50;50"
calcMode="linear"
repeatCount="indefinite"/>
<animate attributeName="cx"
begin="0s" dur="2.2s"
values="5;27;49;5"
calcMode="linear"
repeatCount="indefinite"/>
</circle>
<circle cx="27" cy="5" r="5">
<animate attributeName="cy"
begin="0s" dur="2.2s"
from="5" to="5"
values="5;50;50;5"
calcMode="linear"
repeatCount="indefinite"/>
<animate attributeName="cx"
begin="0s" dur="2.2s"
from="27" to="27"
values="27;49;5;27"
calcMode="linear"
repeatCount="indefinite"/>
</circle>
<circle cx="49" cy="50" r="5">
<animate attributeName="cy"
begin="0s" dur="2.2s"
values="50;50;5;50"
calcMode="linear"
repeatCount="indefinite"/>
<animate attributeName="cx"
from="49" to="49"
begin="0s" dur="2.2s"
values="49;5;27;49"
calcMode="linear"
repeatCount="indefinite"/>
</circle>
</g>
</g>
</svg>
<div class="ml-10 text-primary text-xl">
Loading... </div>
</div>
<header class="px-4 sm:px-6">
<h2 id="cart-drawer-title" class="text-lg font-medium leading-7 text-gray-900">
<a href="/checkout/cart/">My Cart</a>
</h2>
</header>
<div class="relative grid gap-6 px-4 py-6 overflow-y-auto bg-white border-b
sm:gap-8 sm:px-6 border-container">
<template x-for="item in cartItems">
<div class="flex items-start p-3 -m-3 space-x-4 transition duration-150
ease-in-out rounded-lg hover:bg-gray-100">
<a :href="item.product_url" class="w-1/4">
<img
:src="item.product_image.src"
:width="item.product_image.width"
:height="item.product_image.height"
loading="lazy"
/>
</a>
<div class="w-3/4">
<div>
<p class="text-md font-bold leading-5">
<a :href="item.configure_url"
x-show="item.product_type !== 'grouped'"
class=""><span x-html="item.product_name"></span></a>
</p>
<p class="text-sm">sku: <span x-html="item.product_sku"></p>
<div >
<p x-show="item.product_stock_status == 'Back Ordered'">
<span class="text-red-500" x-text="item.product_stock_status"></span>
</p>
<p class="bg-yellow-300 py-2 px-4 rounded my-2 text-black-200 italic"
x-show="item.product_stock_status == 'Back Ordered'">
The requested quantity of <span x-text="item.quantity"></span> is not available
and will be back ordered. The entire order will be held until all items are in stock and ready to ship.
</p>
<p x-show="item.product_stock_status == 'In Stock'">
<span class="text-green-500" x-text="item.product_stock_status"></span>
</p>
<p x-show="item.product_stock_status == 'Out of Stock'">
<span class="text-red-500" x-text="item.product_stock_status"></span>
</p>
<p x-show="item.product_stock_status == 'Pre-Order'">
<span class="text-blue-500" x-text="item.product_stock_status"></span>
</p>
<p class="bg-yellow-300 py-2 px-4 rounded my-2 text-black-200 italic"
x-show="item.product_stock_status == 'Pre-Order'">
The requested quantity of <span x-text="item.quantity"></span> is not available
and will be pre-ordered. The entire order will be held until all items are in stock and ready to ship.
</p>
<p class="bg-yellow-300 py-2 px-4 rounded my-2 text-black-200 italic"
x-show="item.product_stock_status == 'bundle backordered'">
Some of the items in this bundle are not available
and will be back ordered. The entire order will be held until all items are in stock and ready to ship.
View cart for more details.
</p>
</div>
</div>
<template x-for="option in item.options">
<div class="pt-2">
<p class="font-semibold" x-text="option.label + ':'"></p>
<p class="text-secondary" x-html="option.value"></p>
</div>
</template>
<p class="text-sm" style=""><span x-html="item.product_price"></span></p>
<div class="pt-4 flex space-between">
<div class="flex">
<span class="mr-1 text-sm flex items-center">x</span>
<input type="number"
:id="'qty-' + item.item_id"
:name="'qty' + item.item_id"
x-model.number="item.qty"
:value="item.qty"
class="p-1 mr-2 w-14 text-center border-gray-400"
max="99"
min="1"
x-on:input.debounce.1000="mutateItemQty(item.item_id, $event.target.value);"
/>
</div>
<div class="flex">
<a :href="item.configure_url"
x-show="item.product_type !== 'grouped'"
class="inline-flex p-2 mr-2 btn btn-primary">
<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
size="16" class="w-5 h-5">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536
3.536L6.5 21.036H3v-3.572L16.732 3.732z">
</path>
</svg>
</a>
<button class="inline-flex p-2 btn btn-primary"
@click="deleteItemFromCart(item.item_id)"
>
<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"
size="16" class="w-5 h-5">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0
01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1
0 00-1 1v3M4 7h16">
</path>
</svg>
</button>
</div>
</div>
</div>
</div>
</template>
</div>
<div class="relative grid gap-6 px-4 py-6 bg-white sm:gap-8 sm:px-6">
<div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out rounded-lg
hover:bg-gray-100" x-show="cart.subtotalAmount>0">
<p class="font-bold">Subtotal: <span x-html="cart.subtotal"></span></p>
</div>
<div class="w-full p-3 -m-3 space-x-4 transition duration-150 ease-in-out
rounded-lg hover:bg-gray-100">
<a @click.prevent.stop="$dispatch('toggle-authentication',
{url: 'https://www.getfpv.com/checkout/'});"
href="https://www.getfpv.com/checkout/"
class="inline-flex btn btn-primary bg-yellow-gfpv text-black border-0 checkout justify-center">
Checkout </a>
<span>or</span>
<a href="https://www.getfpv.com/checkout/cart/"
class="underline">
View and Edit Cart </a>
</div>
</div>
</div>
</div>
</div>
</template>
</section>
<!--Authentication Pop-Up-->
<!-- BLOCK authentication-popup --><script>
function initAuthentication() {
return {
open: false,
close() {
this.open = false;
},
forceAuthentication: false,
checkoutUrl: 'https://www.getfpv.com/checkout/index/',
errors: 0,
hasCaptchaToken: 0,
displayErrorMessage: false,
errorMessages: [],
setErrorMessages(message) {
this.errorMessages = [message];
this.displayErrorMessage = true;
},
submitForm() {
// Do not rename $form, the variable is expected to be declared in the recaptcha output
const $form = document.querySelector('#login-form');
if (this.errors === 0) {
this.dispatchLoginRequest($form);
}
},
onPrivateContentLoaded() {
const data = this.$event.detail.data;
const isLoggedIn = data.customer && data.customer.firstname;
if (data.cart && !isLoggedIn) {
this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
}
},
redirectIfAuthenticated() {
const event = this.$event;
this.open = this.forceAuthentication;
if (event.detail && event.detail.url) {
this.checkoutUrl = event.detail.url;
}
if (!this.forceAuthentication) {
window.location.href = this.checkoutUrl;
}
},
resetErrors() {
this.errors = 0;
},
dispatchLoginRequest(form) {
this.isLoading = true;
const username = this.$refs['customer-email'].value;
const password = this.$refs['customer-password'].value;
const formKey = hyva.getFormKey();
const bodyFields = {
'username': username,
'password': password,
'formKey': formKey
};
const fieldName = 'g\u002Drecaptcha\u002Dresponse';
const recaptchaField = fieldName && form[fieldName];
if (recaptchaField) {
bodyFields[fieldName] = recaptchaField.value;
}
fetch('https://www.getfpv.com/customer/ajax/login/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
},
body: JSON.stringify(bodyFields)
}
).then(response => {
return response.json()
}
).then(data => {
this.isLoading = false;
if (data.errors) {
this.setErrorMessages(data.message);
this.errors = 1;
this.hasCaptchaToken = 0;
} else {
window.location.href = this.checkoutUrl;
}
});
}
}
}
window.addEventListener('alpine:init', () => Alpine.data('initAuthentication', initAuthentication), {once: true})
</script>
<section id="authentication-popup"
x-data="initAuthentication"
@private-content-loaded.window="onPrivateContentLoaded"
@toggle-authentication.window="redirectIfAuthenticated"
@keydown.window.escape="close"
>
<div
class="backdrop"
aria-hidden="true"
x-cloak
x-show="open"
x-transition:enter="ease-in-out duration-500"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="ease-in-out duration-500"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0"
@click="close"
></div>
<div role="dialog"
aria-modal="true"
@click.outside="close"
class="inset-y-0 right-0 z-30 flex max-w-full fixed"
x-cloak
x-show="open"
>
<div class="relative w-screen max-w-md pt-16 bg-container-lighter"
x-show="open"
x-cloak
x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
x-transition:enter-start="translate-x-full"
x-transition:enter-end="translate-x-0"
x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
x-transition:leave-start="translate-x-0"
x-transition:leave-end="translate-x-full"
>
<div
x-show="open"
x-cloak
x-transition:enter="ease-in-out duration-500"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="ease-in-out duration-500"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0" class="absolute top-0 right-2 flex p-2 mt-2">
<button
type="button"
@click="close"
aria-label="Close panel"
class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
</svg>
</button>
</div>
<template x-if="open">
<div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto">
<div class="mx-4">
<div class="message error mb-0" x-show="errors" x-cloak>
<template x-for="(message, index) in errorMessages" :key="index">
<div>
<template x-if="message">
<span x-html="message"></span>
</template>
</div>
</template>
</div>
</div>
<div class="block-customer-login bg-container border border-container mx-4 p-4 shadow-sm">
<p id="authenticate-customer-login" class="text-lg leading-7 text-gray-900">
<strong class="font-medium">Checkout using your account</strong>
</p>
<form class="form form-login"
method="post"
@submit.prevent="submitForm"
id="login-form"
>
<div class="fieldset login">
<div class="field email required">
<label class="label" for="form-login-username" form="login-form" >
<span>Email Address</span>
</label>
<div class="control">
<input name="username"
id="form-login-username"
x-ref="customer-email"
@change="resetErrors"
type="email"
required
autocomplete="off"
class="form-input"
>
</div>
</div>
<div class="field password required">
<label for="form-login-password" class="label" form="login-form">
<span>Password</span>
</label>
<div class="control">
<input name="password"
id="form-login-password"
type="password"
class="form-input"
required
x-ref="customer-password"
autocomplete="off"
@change="resetErrors"
>
</div>
</div>
<input name="context" type="hidden" value="checkout" />
<div class="actions-toolbar pt-6 pb-2">
<button type="submit" class="inline-flex btn btn-primary disabled:opacity-75"
>
Sign In </button>
<a href="https://www.getfpv.com/customer/account/forgotpassword/"
>
Forgot Your Password? </a>
</div>
</div>
</form>
</div>
<div class="mx-4">
</div>
<div class="block-new-customer bg-container border border-container mx-4 p-4 shadow-sm">
<p id="authenticate-new-customer" class="text-lg mb-2 leading-7 text-gray-900">
<strong class="font-medium">Checkout as a new customer</strong>
</p>
<div class="block-content">
<p class="mb-1">
Creating an account has many benefits: </p>
<ul class="list-disc pl-5">
<li> See order and shipping status</li>
<li> Track order history</li>
<li> Check out faster</li>
</ul>
<div class="actions-toolbar mt-6 mb-2">
<a href="https://www.getfpv.com/customer/account/create/"
class="inline-flex btn btn-primary">
Create an Account </a>
</div>
</div>
</div>
</div>
</template>
</div>
</div>
</section>
<!-- /BLOCK authentication-popup --></nav>
<script type="application/javascript" async
src="https://static.klaviyo.com/onsite/js/NpWF6k/klaviyo.js"></script>
<div x-data="initKlaviyoCustomerTracking()"
@private-content-loaded.window="sendCustomerDataToKlaviyo(event.detail.data)"></div>
<script>
!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();
function initKlaviyoCustomerTracking() {
return {
sendCustomerDataToKlaviyo(data) {
window.klaviyo = window.klaviyo || [];
const customer = data.customer;
window.klaviyo.isIdentified().then((identified)=> {
if(customer && customer.email && !identified) {
window.klaviyo.identify({
'$email': customer.email,
'$first_name': customer.firstname ? customer.firstname : '',
'$last_name': customer.lastname ? customer.lastname : ''
});
}
});
}
}
}
</script>
</header><div class="widget block block-static-block">
</div>
<div class="container">
<div data-cwax-id="81b2eae2-8f09-4711-8e2e-f568603f4750"></div>
</div>
<link rel="stylesheet" href="https://cfg.conversionwax.com/81b2eae2-8f09-4711-8e2e-f568603f4750.css" /><main id="maincontent" class="page-main"><div class="home-content"> <div style="background:
linear-gradient(25deg,#f3f3f3 45%,#e7e8ea 45%, #e7e8ea 55%, #dedfe1 55%, #dedfe1 55%);
background-repeat: no-repeat;"
class="py-1">
<div class="container flex flex-col lg:flex-row justify-between">
<div class="lg:w-1/3 lg:px-8 py-4 border-b border-gray-300 lg:border-b-0">
<div class="lg:m-auto lg:max-w-xs flex lg:justify-center gap-2">
<div class="pt-2"><img src="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/Stay_Connected.png" alt="Stay Connected"></div>
<div>
<h4 class="text-lg font-medium"><a href="/newsletter">STAY CONNECTED</a></h4>
<p class="text-sm leading-tight"><a href="javascript:void(0)">Get exclusive deals and stand a
chance to win monthly FREE products!</a>
</p>
</div>
</div>
</div>
<div class="lg:w-1/3 lg:px-8 py-4 border-b border-gray-300 lg:border-b-0">
<div class="lg:m-auto lg:max-w-xs flex lg:justify-center gap-2">
<div class="pt-2"><img src="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/SAME_DAY_SHIPPING_top.png" alt="SAME DAY SHIPPING"></div>
<div>
<h4 class="text-lg font-medium">FREE SAME DAY SHIPPING </h4>
<p class="text-sm leading-tight">Available on most orders over $199.</p>
</div>
</div>
</div>
<div class="lg:w-1/3 lg:px-8 py-4">
<div class="lg:m-auto lg:max-w-xs flex lg:justify-center gap-2">
<div class="pt-2"><img src="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/GetFPV_IS_RATED.png" alt="GetFPV IS HIGHLY RATED"></div>
<div>
<h4 class="text-lg font-medium">GetFPV IS HIGHLY RATED</h4>
<p class="text-sm leading-tight"><a href="https://customerreviews.google.com/v/merchant?q=getfpv.com&c=US&v=19&hl=en" class="underline" target="_blank">Click here</a> to view our latest reviews.</p>
</div>
</div>
</div>
</div>
</div>
<style>
.cat-icons svg {
width: 55px;
margin: 0 auto 10px;
opacity: .7;
fill: currentColor;
}
.cat-icons a:hover {
color: rgb(255, 193, 7);
}
.bg-g-cat-icons {
background: linear-gradient(
150deg, #444444 10%, #4b4b4b 10%, #464646 15%, #484848 15%, #373737 88%, #4b4b4b 88%);
background-repeat: no-repeat;
}
/*radial-gradient(at 80% 0%, #ffcc32 10%, transparent 30%),*/
</style>
<div class="cat-icons bg-g-cat-icons py-4 text-white font-semibold text-sm block">
<div class="container">
<div class="text-yellow-gfpv uppercase text-xl text-center pb-4">
Featured Categories </div>
<div class=" grid grid-cols-2 md:grid-cols-3 lg:flex justify-between gap-4">
<!-- Drone Bundles -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/fpv-quad-kits.html">
<svg id="e311d596-6caa-4f5c-b82d-3c6b6f2e2b45" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<polygon points="153.5,116.6 182.7,137.8 188,126.5 159.7,107.5 "/>
<polygon points="121.3,81.6 121.1,83.8 113.7,87.3 113.7,87.6 150.3,114.2 156.4,105.2 "/>
<path d="M122,73.8c2.1,0.1,4.3-0.3,6.4-1.3l38.9-18.6c6.7-3.2,9.6-11.3,6.4-18c-0.2-0.5-0.7-0.8-1.2-0.8c-0.2,0-0.4,0-0.6,0.1
l-51.5,24.6l2.7,1.9L122,73.8z"/>
<path d="M103.2,152.5c0.8,0.1,1.4-0.5,1.5-1.3l4.8-61.7l0-0.2l-0.2,0.1l-8.3,3.9l-5.3-3.7c-0.9,1.6-1.4,3.4-1.6,5.3l-3.4,43
c-0.3,3.6,0.9,7.1,3.2,9.8C96.4,150.6,99.7,152.2,103.2,152.5z"/>
<path
d="M84,67.2l0.7-8.6l7.7-3.6L59,32.1c-6.1-4.2-14.6-2.6-18.8,3.5c-0.4,0.6-0.3,1.5,0.4,1.9L84,67.2z"/>
<polygon points="88,66.7 87.8,69.8 87.7,70.1 87.6,72.1 87.4,74.4 87,78.7 94.8,84.1 96.5,85.3 98.2,86.5 101.5,88.7 107.2,86
109.9,84.7 110.8,84.3 112,83.8 113.9,82.9 114.5,82.6 117.3,81.2 117.5,79.1 117.7,77.1 117.7,76.8 117.8,75.1 117.9,74.5 118,73
118.8,63.7 116.1,61.9 114.2,60.6 112.3,59.2 104.3,53.7 99.9,55.8 98,56.7 96.7,57.3 96,57.6 93.5,58.8 88.5,61.2 "/>
<polygon points="296.3,116.6 290.1,107.5 261.8,126.5 267.1,137.8 "/>
<polygon points="336,87.3 328.7,83.8 328.5,81.6 293.4,105.2 299.5,114.2 336.1,87.6 "/>
<path d="M282.5,53.9l38.9,18.6c2.1,1,4.2,1.4,6.4,1.3l-1-12.1l2.7-1.9L278,35.3c-0.7-0.3-1.5,0-1.8,0.7c-1.6,3.3-1.7,6.9-0.5,10.3
C276.8,49.6,279.3,52.4,282.5,53.9z"/>
<path d="M358.9,138l-3.4-43c-0.1-1.9-0.7-3.7-1.6-5.3l-5.3,3.7l-8.3-3.9l-0.2-0.1l0,0.2l4.8,61.7c0.1,0.8,0.7,1.3,1.5,1.3
c3.6-0.3,6.9-1.9,9.2-4.7C358.1,145.1,359.2,141.6,358.9,138z"/>
<path d="M365.8,67.2l43.3-29.7c0.6-0.4,0.8-1.3,0.4-1.9c-2.6-3.8-6.8-5.9-11.2-5.9c-2.6,0-5.3,0.8-7.6,2.4L357.4,55l7.7,3.6
L365.8,67.2z"/>
<polygon points="331.9,74.5 331.9,75.1 332.1,76.8 332.1,77.1 332.3,79.1 332.4,81.2 335.3,82.6 335.9,82.9 337.8,83.8 338.9,84.3
339.9,84.7 342.6,86 348.3,88.7 351.6,86.5 353.3,85.3 354.9,84.1 362.8,78.7 362.4,74.4 362.2,72.1 362.1,70.1 362,69.8
361.8,66.7 361.3,61.2 356.3,58.8 353.8,57.6 353.1,57.3 351.8,56.7 349.9,55.8 345.4,53.7 337.5,59.2 335.6,60.6 333.7,61.9
331,63.7 331.8,73 "/>
<polygon points="296.3,223.5 267.1,202.3 261.8,213.6 290.1,232.6 "/>
<polygon points="328.7,256.3 336,252.8 336.1,252.5 299.5,225.9 293.4,234.9 328.5,258.5 "/>
<path d="M327.8,266.3c-0.2,0-0.4,0-0.6,0c-1.9,0-3.9,0.4-5.8,1.3l-38.9,18.6c-3.3,1.6-5.7,4.3-6.9,7.7s-1,7.1,0.5,10.3
c0.2,0.3,0.4,0.6,0.8,0.7c0.3,0.1,0.7,0.1,1.1-0.1l51.5-24.6l-2.7-1.9L327.8,266.3z"/>
<path d="M346.5,187.6c0,0-0.1,0-0.1,0c-0.7,0-1.3,0.6-1.4,1.3l-4.8,61.7l0,0.2l0.2-0.1l8.3-3.9l5.3,3.7c0.9-1.6,1.4-3.4,1.6-5.3
l3.4-43c0.3-3.6-0.9-7.1-3.2-9.8C353.4,189.6,350.1,187.9,346.5,187.6z"/>
<path
d="M409.5,304.5c0.4-0.6,0.3-1.5-0.4-1.9l-43.3-29.7l-0.7,8.6l-7.7,3.6l33.3,22.9C396.9,312.2,405.3,310.7,409.5,304.5z"/>
<polygon points="361.8,273.4 362,270.3 362.1,270 362.2,268 362.4,265.7 362.8,261.4 354.9,256 353.3,254.8 351.6,253.7
348.3,251.4 342.6,254.1 339.9,255.4 338.9,255.8 337.8,256.4 335.9,257.2 335.3,257.5 332.4,258.9 332.3,261.1 332.1,263
332.1,263.3 331.9,265 331.9,265.6 331.8,267.1 331,276.4 333.7,278.2 335.6,279.6 337.5,280.9 345.4,286.4 349.9,284.3
351.8,283.4 353.1,282.8 353.8,282.5 356.3,281.3 361.3,278.9 "/>
<polygon points="156.4,234.9 150.3,225.9 113.7,252.5 113.7,252.8 121.1,256.3 121.3,258.5 "/>
<polygon points="153.5,223.5 159.7,232.6 188,213.6 182.7,202.3 "/>
<path d="M172.8,304.9c0.3-0.1,0.6-0.4,0.8-0.7c1.6-3.3,1.7-6.9,0.5-10.3s-3.7-6.1-6.9-7.7l-38.9-18.6c-1.9-0.9-3.8-1.3-5.8-1.3
c-0.2,0-0.4,0-0.6,0l1,12.1l-2.7,1.9l51.5,24.6C172.1,305,172.5,305,172.8,304.9z"/>
<path d="M90.8,202.1l3.4,43c0.1,1.9,0.7,3.7,1.6,5.3l5.3-3.7l8.3,3.9l0.2,0.1l0-0.2l-4.8-61.7c-0.1-0.8-0.7-1.3-1.5-1.3
c-3.6,0.3-6.9,1.9-9.2,4.7C91.7,195,90.6,198.5,90.8,202.1z"/>
<path
d="M59,308l33.3-22.9l-7.7-3.6l-0.7-8.6l-43.3,29.7c-0.6,0.4-0.8,1.3-0.4,1.9C44.5,310.7,52.9,312.2,59,308z"/>
<polygon points="87.4,265.7 87.6,268 87.7,270 87.8,270.3 88,273.4 88.5,278.9 93.5,281.3 96,282.5 96.7,282.8 98,283.4
99.9,284.3 104.3,286.4 112.3,280.9 114.2,279.6 116.1,278.2 118.8,276.4 118,267.1 117.9,265.6 117.8,265 117.7,263.3 117.7,263
117.5,261.1 117.3,258.9 114.5,257.5 113.9,257.2 112,256.4 110.8,255.8 109.9,255.4 107.2,254.1 101.5,251.4 98.2,253.7
96.5,254.8 94.8,256 87,261.4 "/>
<path d="M185.1,142.1l-0.9,1.8l-0.2,0.5c-0.5,1-0.7,2.1-0.7,3.2v45c0,1.1,0.2,2.2,0.7,3.1l0.2,0.5l0.9,1.8l2.3,4.8l4,8.5l0.9,1.8
l0.9,1.8l4,8.4c0.7,1.5,1.1,3.2,1.1,4.9v57.1c0,0.2,0,0.3,0,0.5c0,0.3,0.1,0.6,0.2,0.9c0.2,0.6,0.4,1.2,0.8,1.7
c0.4,0.5,0.9,1,1.5,1.4c0.4,0.3,0.9,0.4,1.4,0.6c1.3,0.3,2.6,0.3,3.8-0.3c3.5-1.6,7.2-2.7,10.9-3.4c2.7-0.5,5.4-0.7,8.1-0.7
c2.7,0,5.4,0.3,8.1,0.7c3.7,0.7,7.4,1.8,10.9,3.4c1.1,0.5,2.4,0.6,3.6,0.3c0.6-0.1,1.1-0.3,1.6-0.6c0.5-0.3,1-0.7,1.4-1.1
c0.5-0.6,0.8-1.2,1-1.9c0.1-0.3,0.1-0.6,0.2-0.9c0-0.2,0-0.3,0-0.5v-57.1c0-1.7,0.4-3.3,1.1-4.9l4-8.4l0.9-1.8l0.9-1.8l4-8.5
l2.3-4.8l0.9-1.8l0.2-0.5c0.5-1,0.7-2.1,0.7-3.2v-45c0-1.1-0.2-2.2-0.7-3.2v0l-0.2-0.5l-0.9-1.8l-2.3-4.8l-4-8.5l-0.9-1.8l-0.9-1.8
l-4-8.4c-0.7-1.5-1.1-3.2-1.1-4.9V54.7c0-0.2,0-0.3,0-0.5c-0.1-1.7-1.1-3.1-2.5-4c-1.6-0.9-3.5-1-5.2-0.3c-12.1,5.5-26,5.5-38.1,0
c-1.7-0.8-3.6-0.7-5.2,0.3c-1.5,0.9-2.4,2.3-2.5,4c0,0.2,0,0.3,0,0.5v57.1c0,1.7-0.4,3.3-1.1,4.9l-4,8.4l-0.9,1.8l-0.9,1.8l-4,8.5
L185.1,142.1z M213.7,103.5l11.2-8.5l11.2,8.5v33.4l-11.2,8.5l-11.2-8.5V103.5z M213.7,203.3l11.2-8.5l11.2,8.5v33.4l-11.2,8.5
l-11.2-8.5V203.3z"/>
<polygon points="232.1,134.9 232.1,105.4 224.9,100 217.7,105.4 217.7,134.9 224.9,140.3 "/>
<polygon points="232.1,234.7 232.1,205.3 224.9,199.8 217.7,205.3 217.7,234.7 224.9,240.1 "/>
<path d="M203.8,306L185,321.3l2.4,3.2l17.9-14.6l1.8-1.4l2.5-2h30.8l1.7,1.4l1.6,1.3l18.6,15.3l2.4-3.2l-19.4-15.9l-1.6-1.3
l-1.6-1.3l3.6-8.2c-1.2-0.1-2.3-0.3-3.4-0.8c-11-5.1-23.7-5.1-34.8,0c-1.2,0.6-2.5,0.8-3.8,0.8l3.4,8.8l-1.6,1.3L203.8,306z"/>
<path d="M166.8,343.4c1.5,2,4.4,2.3,6.3,0.8l11.8-9.1c1-0.7,1.6-1.8,1.7-3s-0.2-2.4-0.9-3.3l-1.3-1.7l-2.4-3.2l-1-1.4
c-0.9-1.2-2.2-1.8-3.6-1.8c-1,0-1.9,0.3-2.8,0.9l-11.8,9.1c-1,0.7-1.6,1.8-1.7,3c-0.2,1.2,0.2,2.4,0.9,3.3L166.8,343.4z"/>
<path d="M287,330.8l-11.8-9.1c-0.8-0.6-1.8-0.9-2.7-0.9c-0.2,0-0.4,0-0.6,0c-1.2,0.2-2.3,0.8-3,1.7l-1,1.4l-2.4,3.2l-1.3,1.7
c-0.7,1-1.1,2.1-0.9,3.3s0.8,2.3,1.7,3l11.8,9.1c2,1.5,4.8,1.1,6.3-0.8l4.8-6.3c0.7-1,1.1-2.1,0.9-3.3S288,331.5,287,330.8z"/>
<path d="M162.7,520.1l-7.2-54.4l-32.9,43.8L92,521l-34-11.6l-12.6,5.8c0.5,2.7,1.8,5.3,3.6,7.5l10.4,12.1c3.1,3.6,7.5,5.7,12.2,5.7
l0.7-0.1c8.4-0.9,17-2.2,25.2-3.4l3.3-0.5c3.3-0.5,6.6-0.7,9.9-0.7c9.6,0,19.2,2,28,6l7,3.1c2.1,0.9,4.3,1.4,6.6,1.4h0.1l13.4-21
C164.2,524.1,163,522.3,162.7,520.1z"/>
<path d="M190.1,455.2c1.2,1.4,1.8,3.1,1.8,4.9l1.8,2.3l32.8,43.8l28.3,10.5l31.9-10.9l0.8-0.3l11.9-22.8l2.2,1.3v-53.8
c0-5.2-2.5-10.2-6.8-13.2l-31.3-22.5c-1.9-1.4-4.1-2.3-6.4-2.8l-38.5-7.4c-3.3-0.6-6.6-0.3-9.6,1.1l-12.3,5.4
c-2.6,1.1-5.3,1.7-8.2,1.7h-30.3c-2.8,0-5.6-0.6-8.2-1.7l-12.3-5.4c-3-1.3-6.4-1.7-9.6-1.1l-38.5,7.4c-2.3,0.4-4.5,1.4-6.4,2.8
l-31.3,22.5c-4.2,3-6.8,8-6.8,13.2v53.8l2.2-1.3l11.9,22.8l0.7,0.2l31.9,10.9l28.3-10.5l32.8-43.8l1.8-2.5c0-1.8,0.6-3.5,1.8-4.8
c1.4-1.6,3.4-2.5,5.5-2.5H173h0.8h10.8C186.7,452.7,188.7,453.6,190.1,455.2z M272.9,415c3.5-0.2,6.8,1.4,8.8,4.3l11.1,15.8
c1.8,2.6,2.3,5.8,1.4,8.8l-5.9,19.5c-1.1,3.5-3.9,6.2-7.5,7l-44.5,9.7c-0.7,0.2-1.5,0.2-2.2,0.2c-1.4,0-2.8-0.3-4.1-0.9
c-0.1,0-0.1-0.1-0.2-0.1c-1.3-0.6-2.4-1.5-3.4-2.6l-27.6-32.5c-2.3-2.7-3-6.3-1.9-9.6l2.8-8.9c1.3-4,4.9-6.8,9.1-7L272.9,415z
M116.2,479.6c-1.1,0.4-2.3,0.7-3.6,0.7c-0.7,0-1.4-0.1-2.2-0.2l-44.5-9.7c-3.6-0.8-6.5-3.4-7.5-7l-5.9-19.5
c-0.9-3-0.4-6.2,1.4-8.8L65,419.3c2-2.9,5.3-4.5,8.8-4.3l64.1,3.6c4.2,0.2,7.8,3.1,9.1,7l2.8,8.9c1.1,3.4,0.3,6.9-1.9,9.6
l-27.6,32.5c-0.8,0.9-1.7,1.7-2.7,2.2L116.2,479.6z M173.8,412H173h-13.9l-28.2-11.1l1.5-3.7l15.3,6l12.2,4.8h6.3h6.8h0.8h6.8h6.3
l12.2-4.8l15.3-6l1.5,3.7L187.7,412H173.8z"/>
<path d="M254.7,521L224,509.6l-32.8-43.7l-7.2,54.3c-0.3,2.5-1.8,4.5-3.9,5.6l15,20.5c2-0.1,4-0.5,5.9-1.4l7-3.1
c11.9-5.3,25-7.1,37.9-5.3l3.3,0.5c8.3,1.2,16.8,2.4,25.2,3.4l0.7,0.1c4.7,0,9.2-2.1,12.2-5.7l10.4-12.1c1.8-2.1,3.1-4.7,3.6-7.5
l-12.6-5.8L254.7,521z"/>
<path d="M173.8,456.7L173.8,456.7H173h0h-10.8c-1,0-1.9,0.4-2.5,1.1c-0.6,0.7-0.9,1.7-0.8,2.6l7.8,59.1c0.2,1.2,0.9,2.2,1.9,2.7
c0.5,0.3,1.1,0.4,1.6,0.4h2.7h0h0.8h0h2.7c0.4,0,0.8-0.1,1.2-0.2c1.2-0.4,2.1-1.5,2.3-2.9l7.8-59.1c0.1-1-0.2-1.9-0.8-2.6
c-0.6-0.7-1.5-1.1-2.5-1.1H173.8z"/>
<path d="M203.5,426.9l-2.8,8.9c-0.6,2-0.2,4.2,1.2,5.8l27.6,32.5c1.5,1.7,3.8,2.5,6,2l44.5-9.7c2.2-0.5,3.9-2.1,4.5-4.2l5.9-19.5
c0.6-1.8,0.2-3.7-0.9-5.3l-11.1-15.8c-1.2-1.7-3.2-2.7-5.4-2.6l-64.1,3.6C206.5,422.8,204.3,424.5,203.5,426.9z"/>
<path d="M146.1,435.8l-2.8-8.9c-0.8-2.4-3-4.1-5.5-4.3L73.6,419c-0.1,0-0.2,0-0.4,0c-2,0-3.8,1-5,2.6l-11.1,15.8
c-1.1,1.6-1.4,3.5-0.9,5.3l5.9,19.5c0.6,2.1,2.4,3.7,4.5,4.2l44.5,9.7c2.2,0.5,4.5-0.3,6-2l27.6-32.5
C146.3,440,146.7,437.9,146.1,435.8z"/>
<polygon points="45.7,488.4 45.1,488.7 43.1,489.9 41.1,491.1 20.8,503.1 28.8,518.4 41.2,512.7 43.1,511.8 45.1,510.9 55.1,506.3
"/>
<polygon points="303.6,489.9 301.6,488.7 301,488.4 291.6,506.3 301.6,510.9 303.6,511.8 305.6,512.7 317.9,518.4 325.9,503.1
305.6,491.1 "/>
<polygon
points="175.6,526.3 173.8,526.3 173,526.3 170,526.3 169.7,526.7 158.1,545 189.3,545 175.9,526.7 "/>
<path d="M452.6,306.9c0-3.3-2.7-6.1-6.1-6.1s-6.1,2.7-6.1,6.1v82.3h12.1V306.9z"/>
<path d="M521.2,306.9c0-3.3-2.7-6.1-6.1-6.1s-6.1,2.7-6.1,6.1v82.3h12.1V306.9z"/>
<path d="M525.2,393.3c-0.7-0.1-1.3-0.1-2-0.1c-0.4,0-0.9,0-1.3,0h-0.7h-12.1h-2h-2h-48.4h-2h-2h-12.1h-0.7c-0.4,0-0.9,0-1.3,0
c-0.7,0-1.3,0.1-2,0.1c-16.8,1.7-29.9,15.8-30,33l6,82.1c0,18.4,14.9,33.3,33.3,33.3h70c18.4,0,33.3-14.9,33.3-33.3l0-0.1l6-81.9
C555.1,409.1,542,395,525.2,393.3z M456.1,490c-6.8,0-12.3-5.5-12.3-12.3s5.5-12.3,12.3-12.3s12.3,5.5,12.3,12.3
S462.8,490,456.1,490z M444.3,454.8c-13.7,0-24.9-11.2-24.9-24.9s11.2-24.9,24.9-24.9s24.9,11.2,24.9,24.9S458,454.8,444.3,454.8z
M505.7,490c-6.8,0-12.3-5.5-12.3-12.3s5.5-12.3,12.3-12.3s12.3,5.5,12.3,12.3S512.4,490,505.7,490z M517.5,454.7
c-13.7,0-24.9-11.2-24.9-24.9s11.2-24.9,24.9-24.9c13.7,0,24.9,11.2,24.9,24.9S531.2,454.7,517.5,454.7z"/>
<path
d="M456.1,469.4c-4.6,0-8.3,3.7-8.3,8.3s3.7,8.3,8.3,8.3s8.3-3.7,8.3-8.3S460.6,469.4,456.1,469.4z"/>
<path
d="M505.7,469.4c-4.6,0-8.3,3.7-8.3,8.3s3.7,8.3,8.3,8.3s8.3-3.7,8.3-8.3S510.2,469.4,505.7,469.4z"/>
<path d="M444.3,409c-11.5,0-20.9,9.4-20.9,20.9s9.4,20.9,20.9,20.9s20.9-9.4,20.9-20.9S455.8,409,444.3,409z M449.5,429.9
c0,2.9-2.4,5.2-5.2,5.2c-2.9,0-5.2-2.4-5.2-5.2s2.4-5.2,5.2-5.2C447.1,424.7,449.5,427,449.5,429.9z"/>
<path d="M517.5,409c-11.5,0-20.9,9.4-20.9,20.9s9.4,20.9,20.9,20.9c11.5,0,20.9-9.4,20.9-20.9S529,409,517.5,409z M522.7,429.9
c0,2.9-2.4,5.2-5.2,5.2c-2.9,0-5.2-2.4-5.2-5.2s2.4-5.2,5.2-5.2C520.4,424.6,522.7,427,522.7,429.9z"/>
<h5>Drone Bundles</h5>
</a>
</div>
<!-- FPV Equipment -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/fpv.html">
<svg id="f307a376-0724-4d9a-afa7-4a8e1061fdce" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<path d="M327.6,189.6l-0.1-0.3l-0.4-1.9c-1-4.7-5.2-8.1-10-8.1h-3l3.8,10L327.6,189.6z"/>
<path d="M140.9,374.2c-2.3,0-4.5,0-6.7,0c-1.2,0-2.5,0-3.7,0c-8.6,0-16.8,0-24.3,0l0,0l27.4,11.4c24.6,10.2,52.2,5.8,73.3-11.4
c-15.9,0-40.9,0-65.2,0C141.4,374.2,141.1,374.2,140.9,374.2z"/>
<path d="M442.5,385.6l27.4-11.4H369.2C390.3,391.4,417.9,395.8,442.5,385.6z"/>
<path d="M513.2,228.2h-10.2h-75.4h-28h-223h-28H73.1H63c-17.9,0-32.4,14.5-32.5,32.4l-0.1,49c-0.1,19.8,9.6,38.4,25.9,49.8
c10.2,7.1,22.2,10.9,34.6,10.9c0,0,0,0,0,0l5.3,0c33.5,0,91.7,0,116,0h5.1h6.1c0.5,0,1,0,1.5,0c6-0.3,11.8-2.9,16.4-7.4l0.4-0.4
c12.5-12.1,28.9-18.7,46.3-18.7c0.1,0,0.1,0,0.2,0c17.4,0.1,33.9,6.8,46.4,19c4.9,4.8,11.3,7.5,17.8,7.5l11.5,0h116h5.1
c12.5,0,24.4-3.8,34.6-10.9l0.1-0.1c16.2-11.3,25.9-29.9,25.9-49.7v-48.9C545.6,242.8,531.1,228.2,513.2,228.2z"/>
<path d="M331.8,365.6c-11.7-11.5-27.2-17.8-43.6-17.8c-0.1,0-0.1,0-0.2,0c-16.3,0-31.8,6.2-43.5,17.6l-0.4,0.4
c-3,2.9-6.4,5.1-10,6.5c0,0,0,0,0,0l108,0c0,0,0,0,0,0C338.3,370.8,334.8,368.5,331.8,365.6z"/>
<path d="M148.5,218.8c0-4.2,3.4-7.5,7.5-7.5H169c4.2,0,7.5,3.4,7.5,7.5v5.5h223v-5.5c0-4.2,3.4-7.5,7.5-7.5H420
c4.2,0,7.5,3.4,7.5,7.5v5.5h69.1c-10.4-20.1-31.4-33-54.2-33H332l2.1,9.9h-2h-2h-84h-2h-2l2.1-9.9H133.6c-22.8,0-43.8,12.9-54.2,33
h69.1V218.8z M243.1,205.1h2h85.7h2h2l2.6,12.1h-98.9l2.6-12.1H243.1z"/>
<polygon points="285.9,179.2 277.4,179.2 276.2,189.2 285.9,189.2 "/>
<polygon points="298.6,179.2 289.9,179.2 289.9,189.2 299.9,189.2 "/>
<polygon points="273.4,179.2 266.2,179.2 262.3,189.2 272.1,189.2 "/>
<polygon points="313.7,189.2 309.9,179.2 302.6,179.2 303.9,189.2 "/>
<path d="M261.9,179.2h-3c-4.8,0-9,3.4-10,8.1l-0.4,1.9l-0.1,0.3l9.6-0.3L261.9,179.2z"/>
<path d="M156,215.2c-1.9,0-3.5,1.6-3.5,3.5v5.5h20v-5.5c0-1.9-1.6-3.5-3.5-3.5H156z"/>
<path d="M407,215.2c-1.9,0-3.5,1.6-3.5,3.5v5.5h20v-5.5c0-1.9-1.6-3.5-3.5-3.5H407z"/>
</svg>
<h5>FPV Equipment</h5>
</a>
</div>
<!-- Drone Frames -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/multi-rotor-frames.html">
<svg id="f985cae3-83da-4929-b6d7-93ca067b37b6" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<polygon points="231.4,236.8 239.2,220.2 200,193.8 190.9,207.3 "/>
<polygon points="187.6,204.9 196.7,191.6 147.8,158.7 147.5,162.5 136.5,167.7 "/>
<path d="M83.9,130.2l18.6,13l-1.1,13.1l20.1,13.9l8.2-3.9l3.6-1.7l3.6-1.7l6.6-3.1l0.3-3.7l0.2-2.3l0.2-2.3l1.3-16.1l-20.1-13.9
l-11.7,5.5l-18.6-13.1c-4.5-3.1-10.6-2-13.7,2.4c-1.5,2.2-2.1,4.8-1.6,7.4C80.3,126.4,81.8,128.7,83.9,130.2z"/>
<polygon points="439.5,167.7 428.5,162.5 428.2,158.7 379.3,191.6 388.4,204.9 "/>
<polygon points="385.1,207.3 376,193.8 336.8,220.2 344.6,236.8 "/>
<path d="M431.8,153.9l0.2,2.3l0.3,3.7l6.6,3.1l3.6,1.7l3.6,1.7l8.2,3.9l20.1-13.9l-1.1-13.1l18.6-13c2.2-1.5,3.6-3.8,4.1-6.4
c0.5-2.6-0.1-5.2-1.6-7.4c-3.1-4.5-9.3-5.5-13.7-2.4l-18.6,13.1l-11.7-5.5l-20.1,13.9l1.3,16.1L431.8,153.9z"/>
<polygon points="344.6,321.5 336.8,338.1 376,364.5 385.1,351 "/>
<polygon points="388.4,353.4 379.3,366.7 428.2,399.6 428.5,395.8 439.5,390.6 "/>
<path d="M492.1,428.1l-18.6-13l1.1-13.1L454.4,388l-8.2,3.9l-3.6,1.7l-3.6,1.7l-6.6,3.1l-0.3,3.7l-0.2,2.3l-0.2,2.3l-1.3,16.1
l20.1,13.9l11.7-5.5l18.6,13.1c4.5,3.1,10.6,2,13.7-2.4c1.5-2.2,2.1-4.8,1.6-7.4C495.7,431.8,494.2,429.6,492.1,428.1z"/>
<polygon points="136.5,390.6 147.5,395.8 147.8,399.6 196.7,366.7 187.6,353.4 "/>
<polygon points="190.9,351 200,364.5 239.2,338.1 231.4,321.5 "/>
<path d="M144.2,404.4l-0.2-2.3l-0.3-3.7l-6.6-3.1l-3.6-1.7l-3.6-1.7l-8.2-3.9l-20.1,13.9l1.1,13.1l-18.6,13
c-2.2,1.5-3.6,3.8-4.1,6.4c-0.5,2.6,0.1,5.2,1.6,7.4c3.1,4.5,9.3,5.5,13.7,2.4l18.6-13.1l11.7,5.5l20.1-13.9l-1.3-16.1L144.2,404.4
z"/>
<path d="M311.7,445.2c-3.3-1.5-6.7-2.7-10.2-3.5c-8.9-2.2-18.2-2.2-27.1,0c-3.5,0.8-6.9,2-10.2,3.5c-2.4,1.1-5.1,1.4-7.6,0.8
l8.5,17.7h44.5l9.4-17.6c-0.7,0.1-1.5,0.2-2.3,0.2C315.1,446.3,313.3,446,311.7,445.2z"/>
<path d="M342.2,317.3l0.9-1.8l0.7-1.4c0.7-1.4,1-3,1-4.5v-60.7c0-1.6-0.4-3.1-1-4.5l-0.7-1.4l-0.9-1.8l-0.9-1.8l-7.9-16.7l-0.9-1.8
l-0.9-1.8l-5.6-11.9c-0.9-1.9-1.4-4.1-1.4-6.2v-77c0-0.2,0-0.5,0-0.7c-0.2-2.5-1.6-4.6-3.8-5.9c-2.3-1.4-5.2-1.5-7.6-0.4
c-16.1,7.4-34.6,7.4-50.8,0c-2.4-1.1-5.3-1-7.6,0.4c-2.2,1.3-3.6,3.4-3.8,5.9c0,0.2,0,0.5,0,0.7v77c0,2.1-0.5,4.3-1.4,6.2
l-5.6,11.9l-0.9,1.8l-0.9,1.8l-7.9,16.7l-0.9,1.8l-0.9,1.8l-0.7,1.4c-0.7,1.4-1,3-1,4.5v60.7c0,1.6,0.4,3.1,1,4.5l0.7,1.4l0.9,1.8
l0.9,1.8l7.9,16.7l0.9,1.8l0.9,1.8l5.6,11.9c0.9,1.9,1.4,4.1,1.4,6.2v77c0,0.2,0,0.5,0,0.7c0.2,2.5,1.6,4.6,3.8,5.9
c0.3,0.2,0.7,0.4,1.1,0.5c2,0.8,4.2,0.8,6.2,0c0.1,0,0.2-0.1,0.3-0.1c8.1-3.7,16.7-5.5,25.4-5.5s17.3,1.8,25.4,5.5
c0.1,0,0.2,0.1,0.3,0.1c2,0.8,4.2,0.8,6.2,0c0.4-0.1,0.7-0.3,1.1-0.5c2.2-1.3,3.6-3.4,3.8-5.9c0-0.2,0-0.5,0-0.7v-77
c0-2.1,0.5-4.3,1.4-6.2l5.6-11.9l0.9-1.8l0.9-1.8l7.9-16.7L342.2,317.3z M302.3,368.5L288,379.5l-14.3-10.9v-44.3l14.3-10.9
l14.3,10.9V368.5z M302.3,234L288,245L273.7,234v-44.3l14.3-10.9l14.3,10.9V234z"/>
<polygon points="277.7,191.7 277.7,232.1 288,239.9 298.3,232.1 298.3,191.7 288,183.8 "/>
<polygon points="277.7,326.2 277.7,366.6 288,374.4 298.3,366.6 298.3,326.2 288,318.4 "/>
</svg>
<h5>Drone Frames</h5>
</a>
</div>
<!-- Electronics-->
<div class="text-center px-2">
<a href="https://www.getfpv.com/electronics.html">
<svg id="f985cae3-83da-4929-b6d7-93ca067b37b6" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<path d="M426,456.2c0-16.5,13.5-30,30-30c9.5,0,18,4.4,23.5,11.3V138.9c-5.5,6.9-14,11.3-23.5,11.3c-16.5,0-30-13.5-30-30
c0-9.5,4.4-18,11.3-23.5H410V123h-8v45.9h-17.9V123h-8.8v45.9h-17.9V123h-8.8v45.9h-17.9V123h-8.8v45.9H304V123h-8.3V96.8h-15.4
V123H272v45.9h-17.9V123h-8.8v45.9h-17.9V123h-8.8v45.9h-17.9V123h-8.8v45.9H174V123h-8V96.8h-27.3c6.9,5.5,11.3,14,11.3,23.5
c0,16.5-13.5,30-30,30c-9.5,0-18-4.4-23.5-11.3v298.7c5.5-6.9,14-11.3,23.5-11.3c16.5,0,30,13.5,30,30c0,9.5-4.4,18-11.3,23.5H166
V357h114v122.7h16V384h8v-27h17.9v27h8.8v-27h17.9v27h8.8v-27h17.9v27h8.8v-27H402v27h8v95.7h27.3C430.4,474.2,426,465.7,426,456.2
z M443.4,164.2c9.3,0,16.8,7.6,16.8,16.8c0,9.3-7.6,16.8-16.8,16.8s-16.8-7.6-16.8-16.8C426.6,171.8,434.1,164.2,443.4,164.2z
M443.4,217c9.3,0,16.8,7.6,16.8,16.8s-7.6,16.8-16.8,16.8s-16.8-7.6-16.8-16.8S434.1,217,443.4,217z M443.4,269.7
c9.3,0,16.8,7.6,16.8,16.8s-7.6,16.8-16.8,16.8s-16.8-7.6-16.8-16.8S434.1,269.7,443.4,269.7z M443.4,322.4
c9.3,0,16.8,7.6,16.8,16.8c0,9.3-7.6,16.8-16.8,16.8s-16.8-7.6-16.8-16.8C426.6,330,434.1,322.4,443.4,322.4z M443.4,374.7
c9.3,0,16.8,7.6,16.8,16.8c0,9.3-7.6,16.8-16.8,16.8s-16.8-7.6-16.8-16.8C426.6,382.2,434.1,374.7,443.4,374.7z M132.6,408.3
c-9.3,0-16.8-7.6-16.8-16.8c0-9.3,7.6-16.8,16.8-16.8s16.8,7.6,16.8,16.8C149.4,400.8,141.9,408.3,132.6,408.3z M132.6,356.1
c-9.3,0-16.8-7.6-16.8-16.8c0-9.3,7.6-16.8,16.8-16.8s16.8,7.6,16.8,16.8C149.4,348.6,141.9,356.1,132.6,356.1z M132.6,303.4
c-9.3,0-16.8-7.6-16.8-16.8s7.6-16.8,16.8-16.8s16.8,7.6,16.8,16.8S141.9,303.4,132.6,303.4z M132.6,250.7
c-9.3,0-16.8-7.6-16.8-16.8s7.6-16.8,16.8-16.8s16.8,7.6,16.8,16.8S141.9,250.7,132.6,250.7z M132.6,197.9
c-9.3,0-16.8-7.6-16.8-16.8c0-9.3,7.6-16.8,16.8-16.8s16.8,7.6,16.8,16.8C149.4,190.4,141.9,197.9,132.6,197.9z M251.6,193.3h72.7
V266h-72.7V193.3z M166,193.3h72.7V266H166V193.3z M408,334h-44.2l-17-20H300h-24h-46.8l-17,20H168v-5h41.8l17-20H276h24h49.2
l17,20H408V334z M408,311h-32.2l-17-20H288h-70.8l-17,20H168v-5h29.8l17-20H288h73.2l17,20H408V311z M410,266h-72.7v-72.7H410V266z
"/>
<path d="M120,145.2c13.8,0,25-11.2,25-25c0-10.8-6.8-19.9-16.4-23.5c-2.7-1-5.6-1.5-8.6-1.5c-13.8,0-25,11.2-25,25
c0,3,0.5,5.9,1.5,8.6C100.1,138.4,109.2,145.2,120,145.2z"/>
<path d="M456,145.2c10.8,0,19.9-6.8,23.5-16.4c1-2.7,1.5-5.6,1.5-8.6c0-13.8-11.2-25-25-25c-3,0-5.9,0.5-8.6,1.5
c-9.5,3.5-16.4,12.7-16.4,23.5C431,134,442.2,145.2,456,145.2z"/>
<path d="M120,431.2c-10.8,0-19.9,6.8-23.5,16.4c-1,2.7-1.5,5.6-1.5,8.6c0,13.8,11.2,25,25,25c3,0,5.9-0.5,8.6-1.5
c9.5-3.5,16.4-12.7,16.4-23.5C145,442.5,133.8,431.2,120,431.2z"/>
<path d="M456,431.2c-13.8,0-25,11.2-25,25c0,10.8,6.8,19.9,16.4,23.5c2.7,1,5.6,1.5,8.6,1.5c13.8,0,25-11.2,25-25
c0-3-0.5-5.9-1.5-8.6C475.9,438.1,466.8,431.2,456,431.2z"/>
<path d="M132.6,169.2c-6.5,0-11.8,5.3-11.8,11.8c0,6.5,5.3,11.8,11.8,11.8s11.8-5.3,11.8-11.8C144.4,174.6,139.1,169.2,132.6,169.2
z"/>
<circle cx="132.6" cy="233.8" r="11.8"/>
<circle cx="132.6" cy="286.5" r="11.8"/>
<path d="M132.6,327.4c-6.5,0-11.8,5.3-11.8,11.8c0,6.5,5.3,11.8,11.8,11.8s11.8-5.3,11.8-11.8C144.4,332.7,139.1,327.4,132.6,327.4
z"/>
<path d="M132.6,379.7c-6.5,0-11.8,5.3-11.8,11.8c0,6.5,5.3,11.8,11.8,11.8s11.8-5.3,11.8-11.8C144.4,385,139.1,379.7,132.6,379.7z"
/>
<path d="M443.4,192.9c6.5,0,11.8-5.3,11.8-11.8c0-6.5-5.3-11.8-11.8-11.8s-11.8,5.3-11.8,11.8C431.6,187.6,436.9,192.9,443.4,192.9
z"/>
<circle cx="443.4" cy="233.8" r="11.8"/>
<circle cx="443.4" cy="286.5" r="11.8"/>
<path d="M443.4,351.1c6.5,0,11.8-5.3,11.8-11.8c0-6.5-5.3-11.8-11.8-11.8s-11.8,5.3-11.8,11.8C431.6,345.8,436.9,351.1,443.4,351.1
z"/>
<path d="M443.4,403.3c6.5,0,11.8-5.3,11.8-11.8c0-6.5-5.3-11.8-11.8-11.8s-11.8,5.3-11.8,11.8C431.6,398,436.9,403.3,443.4,403.3z"
/>
<polygon points="179,163.9 186.9,163.9 186.9,123 186.9,122.9 179,122.9 179,123 "/>
<polygon points="191.9,118 200.7,118 218.6,118 227.4,118 245.3,118 254.1,118 272,118 275.3,118 275.3,96.8 275.3,86 171,86
171,96.8 171,118 174,118 "/>
<polygon points="205.7,163.9 213.6,163.9 213.6,123 213.6,122.9 205.7,122.9 205.7,123 "/>
<polygon points="232.4,163.9 240.3,163.9 240.3,123 240.3,122.9 232.4,122.9 232.4,123 "/>
<polygon points="259.1,163.9 267,163.9 267,123 267,122.9 259.1,122.9 259.1,123 "/>
<polygon points="309,163.9 316.9,163.9 316.9,123 316.9,122.9 309,122.9 309,123 "/>
<polygon points="321.9,118 330.7,118 348.6,118 357.4,118 375.3,118 384.1,118 402,118 405,118 405,96.8 405,86 300.7,86
300.7,96.8 300.7,118 304,118 "/>
<polygon points="335.7,163.9 343.6,163.9 343.6,123 343.6,122.9 335.7,122.9 335.7,123 "/>
<polygon points="362.4,163.9 370.3,163.9 370.3,123 370.3,122.9 362.4,122.9 362.4,123 "/>
<polygon points="389.1,163.9 397,163.9 397,123 397,122.9 389.1,122.9 389.1,123 "/>
<polygon points="171,479.7 171,490 275,490 275,479.7 275,362 171,362 "/>
<polygon points="384.1,389 375.3,389 357.4,389 348.6,389 330.7,389 321.9,389 304,389 301,389 301,479.7 301,490 405,490
405,479.7 405,389 402,389 "/>
<rect x="309" y="362" width="7.9" height="22"/>
<rect x="335.7" y="362" width="7.9" height="22"/>
<rect x="362.4" y="362" width="7.9" height="22"/>
<rect x="389.1" y="362" width="7.9" height="22"/>
<rect x="171" y="198.3" width="62.7" height="62.7"/>
<rect x="256.6" y="198.3" width="62.7" height="62.7"/>
<rect x="342.3" y="198.3" width="62.7" height="62.7"/>
</svg>
<h5>Electronics</h5>
</a>
</div>
<!-- Motors -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/motors.html">
<svg id="e2c52385-540d-4caa-81c7-cda18ad9391c" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<path d="M201.2,246.9h-53.5v5.7H42.8v15h104.8v13H42.8v15h104.8v12.9H42.8v15h104.8v5.7h53.5C194.4,302.3,194.3,274.2,201.2,246.9z
"/>
<path d="M418.1,129.7c-16.9-5.5-34.3-8.2-51.6-8.2c-25.9,0-51.7,6.1-75.4,18.2c-39.6,20.2-69,54.6-82.8,96.9
c-1.4,4.3-2.6,8.6-3.6,12.9c-6.1,25.7-6.1,52,0,77.3c3,12.6,7.6,25,13.6,36.8c20.2,39.6,54.6,69,96.9,82.8
c87.3,28.4,181.4-19.6,209.8-106.9C553.4,252.2,505.4,158.1,418.1,129.7z M519.3,295.7c0,0.7-0.1,1.4-0.1,2.1
c0,0.6-0.1,1.2-0.2,1.9c-0.9,12-3.3,24-7,35.6c-0.4,1.1-0.8,2.4-1.2,3.6c-0.3,0.8-0.6,1.6-0.9,2.4c-0.2,0.5-0.4,1-0.6,1.4
c-2.1,5.4-4.5,10.7-7.1,15.8c-0.5,0.9-0.9,1.8-1.4,2.7c-0.2,0.4-0.4,0.8-0.7,1.2c-5.7,10.2-12.5,19.7-20.3,28.4
c-0.3,0.3-0.6,0.7-0.9,1c-0.7,0.7-1.4,1.5-2.1,2.2c-4,4.2-8.3,8.2-12.7,11.8c-0.4,0.3-0.8,0.7-1.2,1c-0.7,0.5-1.4,1.1-2.1,1.6
c-10.6,8.3-22.3,15.2-34.7,20.4c-0.6,0.2-1.1,0.5-1.7,0.7c-0.7,0.3-1.3,0.5-2,0.8c-5.4,2.1-11,4-16.7,5.5c-0.7,0.2-1.4,0.4-2.1,0.6
l0,0c-0.6,0.2-1.2,0.3-1.8,0.4c-11.5,2.7-23.3,4.1-35.2,4.1c-1.4,0-2.9,0-4.3-0.1c-0.9,0-1.7,0-2.6-0.1l0,0c-0.5,0-1-0.1-1.5-0.1
c-5.8-0.3-11.5-1-17.2-2c-1-0.2-2-0.3-3-0.5c-0.4-0.1-0.9-0.2-1.3-0.3c-5.9-1.2-11.8-2.7-17.3-4.5c-5.6-1.8-11.2-4-16.6-6.5
c-0.4-0.2-0.8-0.4-1.2-0.5c-0.9-0.4-1.8-0.9-2.7-1.3c-5.2-2.6-10.3-5.4-15.1-8.6c-0.4-0.3-0.9-0.5-1.3-0.8c-0.7-0.5-1.4-1-2.1-1.5
c-11.1-7.6-21-16.5-29.7-26.7c-0.4-0.5-0.8-0.9-1.2-1.4c-0.5-0.5-0.9-1.1-1.3-1.7c-3.7-4.5-7.1-9.3-10.3-14.2
c-0.4-0.6-0.8-1.2-1.1-1.8l0,0c-0.3-0.5-0.6-1.1-0.9-1.6c-6.7-11.2-12-23.2-15.7-35.7c-0.2-0.8-0.5-1.6-0.7-2.5l0,0
c-0.1-0.5-0.3-1-0.4-1.5c-1.5-5.6-2.7-11.3-3.5-17c-0.1-1-0.3-2-0.4-3c-0.1-0.4-0.1-0.9-0.1-1.3c-1.4-11.9-1.4-23.9,0-35.8
c0.1-0.4,0.1-0.9,0.1-1.3c0.1-1,0.3-2,0.4-3c0.8-5.7,2-11.4,3.5-17c0.1-0.5,0.2-1,0.4-1.5c0.2-0.9,0.5-1.7,0.7-2.5
c0.4-1.4,0.8-2.7,1.2-3.9c3.7-11.4,8.8-22.4,15-32.6c0.3-0.5,0.6-1.1,1-1.6l0,0c0.4-0.6,0.8-1.2,1.2-1.8c3.2-4.9,6.7-9.6,10.4-14.2
c0.5-0.6,0.9-1.1,1.4-1.7c0.4-0.5,0.8-0.9,1.2-1.4c8.6-9.8,18.4-18.5,29.3-25.9c0.7-0.5,1.4-1,2.2-1.5c0.4-0.3,0.9-0.5,1.3-0.8
c4.9-3.1,9.9-6,15.1-8.5c0.9-0.4,1.8-0.9,2.7-1.3c0.4-0.2,0.8-0.4,1.2-0.5c10.6-4.9,21.8-8.5,33.2-10.8c0.4-0.1,0.9-0.2,1.3-0.3
c1-0.2,2-0.4,3-0.5c5.7-1,11.5-1.7,17.3-2c0.5,0,1-0.1,1.5-0.1c0.9,0,1.7-0.1,2.6-0.1c13.3-0.4,26.6,0.9,39.6,4
c0.6,0.1,1.2,0.3,1.8,0.4c0.7,0.2,1.4,0.4,2.1,0.5c2.9,0.8,5.7,1.6,8.4,2.5c2.7,0.9,5.5,1.9,8.3,3c0.7,0.3,1.3,0.5,2,0.8
c0.6,0.2,1.1,0.5,1.7,0.7c12.1,5.1,23.4,11.6,33.7,19.5c0.7,0.5,1.4,1,2.1,1.6c0.4,0.3,0.8,0.7,1.2,1c4.5,3.6,8.8,7.5,12.8,11.7
c0.7,0.7,1.4,1.4,2.1,2.1c0.3,0.3,0.6,0.7,0.9,1c8,8.6,14.9,18.1,20.8,28.4c0.2,0.4,0.4,0.7,0.6,1.1l0,0c0.5,0.9,1,1.8,1.4,2.7
c2.7,5.1,5.2,10.4,7.3,15.8c0.2,0.5,0.4,0.9,0.6,1.4c0.3,0.8,0.6,1.6,0.9,2.5c4.5,12.4,7.4,25.2,8.6,38.3c0.1,0.6,0.1,1.2,0.2,1.8
c0.1,0.7,0.1,1.4,0.1,2.2C519.6,284,519.6,289.9,519.3,295.7z"/>
<path d="M394.2,231.5l26.7-82.1c0,0,0,0,0,0c-2.8-1.1-5.5-2.1-8.3-3c-2.7-0.9-5.6-1.7-8.4-2.5c0,0,0,0,0,0l-26.7,82.1L394.2,231.5z
"/>
<path d="M321.3,243.4L252,193c0,0,0,0,0,0c-3.7,4.5-7.2,9.3-10.4,14.2c0,0,0,0,0,0l69.4,50.4L321.3,243.4z"/>
<path d="M378.2,350.9l26.3,81.1c5.6-1.5,11.2-3.3,16.7-5.5l-26.3-81L378.2,350.9z"/>
<path d="M429,278.1v17.6h86.3c0.3-5.8,0.3-11.7-0.1-17.6H429z"/>
<path d="M320.1,332.1l-10.3-14.2l-68.8,50c0,0,0,0,0,0c3.1,4.9,6.6,9.7,10.3,14.2v0L320.1,332.1z"/>
<path d="M328.8,199.4l10.6,31.3l15.7-5.1l-10-32.1l11.9-54.2c-5.8,0.4-11.6,1.1-17.3,2.2l-8.3,37.8l-28.9-25.6c0,0,0,0,0,0
c-5.2,2.5-10.4,5.3-15.3,8.4l41.4,36.8L328.8,199.4z"/>
<path d="M271,296.5l33.5-0.4l0,0v-16.5l0,0l-33.5-0.4l-33-19.4l-15.4-9.1c0,0,0,0,0,0c-1.5,5.6-2.6,11.3-3.4,17.1l34.1,20l-34.1,20
c0,0,0,0,0,0c0.8,5.7,1.9,11.4,3.4,17.1c0,0,0,0,0,0L271,296.5z"/>
<path d="M355.3,349.7L355.3,349.7l-15.7-5.1l0,0l-10.7,31.8l-42.1,37.3c4.9,3.1,10,5.9,15.2,8.4l29.5-26.2l8.5,38.6
c5.7,1,11.5,1.8,17.3,2.1l-12.1-54.9L355.3,349.7z"/>
<path d="M422.9,317.6l-9.7,13.3l27,20l22.3,51c4.4-3.7,8.7-7.7,12.7-12c0,0,0,0,0,0l-15.5-35.6l38.3,3.7c2.7-5.1,5.1-10.4,7.3-15.8
l-54.9-5.4L422.9,317.6z"/>
<path d="M412,243.9l9.7,13.3l27.4-19.4l55.6-5.4c-2.2-5.4-4.7-10.7-7.5-15.8l-38.8,3.8l15.5-35.6c0,0,0,0,0,0
c-4-4.2-8.3-8.2-12.8-11.8L439,223.9L412,243.9z"/>
<polygon points="366.6,226.9 330.7,238.6 308.5,269.1 308.5,275.7 308.5,300.1 308.5,306.9 330.7,337.5 337.1,339.6 360.3,347.1
366.6,349.1 402.6,337.5 424.8,306.9 424.8,269.1 402.6,238.6 "/>
</svg>
<h5>Motors</h5>
</a>
</div>
<!-- Batteries -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/batteries.html">
<svg id="bb30078b-75d1-40a7-818c-0009c416f5e0" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<rect x="170.1" y="367.8" width="22.7" height="13.1"/>
<path d="M170.1,158.9v44v32.7v14.2v32.7V335h22.7v-9.6h15.5V211.4c0-14.5,11.8-26.4,26.4-26.4h250.5c14.5,0,26.4,11.8,26.4,26.4
v117.1c0,14.5-11.8,26.4-26.4,26.4H286.2v26.1h263.5v-222H170.1z"/>
<path d="M485.2,349.8c11.8,0,21.4-9.6,21.4-21.4V211.4c0-11.8-9.6-21.4-21.4-21.4H234.7c-11.8,0-21.4,9.6-21.4,21.4v114.1h11.1v5.6
h61.8v18.7H485.2z"/>
<path d="M53.1,267.2c7.5-21.3,27.8-36.6,51.6-36.6h60.4v-22.7h-61.4c-42.7,0-77.4,34.7-77.4,77.4c0,5.1,0.5,10.1,1.5,14.9
C33.2,287.2,42.1,275.8,53.1,267.2z"/>
<path d="M167.6,340h-2.5h-60.4c-19.5,0-36.7-10.3-46.4-25.7c-2.2,5.6-3.3,11.6-3.3,17.9c0,5.3,0.8,10.4,2.4,15.1
c12.9,9.7,28.9,15.4,46.3,15.4h61.4h2.5h2.5h22.7V340h-22.7H167.6z"/>
<path d="M53.1,350.4c-0.5-1.4-0.9-2.8-1.3-4.2c-0.4-1.4-0.7-2.8-0.9-4.2c-0.6-3.1-0.9-6.4-0.9-9.7c0-8.4,1.9-16.3,5.3-23.4
c0.5-1,0.9-1.9,1.4-2.8c0.5-0.9,1-1.8,1.6-2.7c9.7-15.4,26.8-25.7,46.4-25.7h60.4v-22.7h-61.4c-17.3,0-33.4,5.7-46.3,15.4
c-1.1,0.9-2.3,1.8-3.4,2.7c-1.1,0.9-2.1,1.8-3.1,2.8c-9.6,9-16.9,20.3-21,33.1c-0.4,1.4-0.9,2.8-1.2,4.2c-0.4,1.4-0.7,2.9-1,4.3
c-0.9,4.8-1.5,9.8-1.5,14.9c0,42.7,34.7,77.4,77.4,77.4h89.1v-22.7h-88.1C80.9,386.9,60.6,371.6,53.1,350.4z"/>
<polygon points="210.9,330.5 208.4,330.5 197.8,330.5 197.8,335 197.8,367.8 197.8,380.9 197.8,381.9 197.8,383.4 197.8,385.9
197.8,414.6 197.8,417.1 219.4,417.1 219.4,416.5 219.4,385.9 219.4,383.4 219.4,380.9 219.4,349.9 219.4,346.8 219.4,343.4
219.4,331.1 219.4,330.5 213.4,330.5 "/>
<polygon points="224.4,380.9 224.4,383.4 224.4,385.9 224.4,411.5 281.2,411.5 281.2,385.9 281.2,383.4 281.2,380.9 281.2,376.3
224.4,376.3 "/>
<polygon points="224.4,347.2 224.4,350 224.4,352.7 224.4,371.3 281.2,371.3 281.2,354.8 281.2,352.3 281.2,349.8 281.2,336.1
224.4,336.1 "/>
</svg>
<h5>Batteries / Chargers</h5>
</a>
</div>
<!-- Radios -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/radios.html">
<svg id="e2c52385-540d-4caa-81c7-cda18ad9391c" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<path d="M459.6,202.7c-8.3-9-20.1-14.2-32.4-14.2H373v50.1H203v-50.1h-54.3c-12.3,0-24.1,5.2-32.4,14.2c-8.3,9-12.5,21.2-11.4,33.5
l18.4,282c2,22.9,20.8,40.1,43.8,40.1h241.8c23,0,41.8-17.3,43.8-40.2l18.3-282C472.1,224,467.9,211.8,459.6,202.7z M241.3,284.6
h93.5v36h-18.9v47h-55.7v-47h-18.9V284.6z M125.9,304.6c0-27.6,22.4-50,50-50s50,22.4,50,50s-22.4,50-50,50
S125.9,332.2,125.9,304.6z M140.3,386.3h42v19h-42V386.3z M182.7,421.8v19h-42v-19H182.7z M140.5,457.1h42v19h-42V457.1z
M182.9,511.6h-42v-19h42V511.6z M381.6,497.5c0,7.9-6.4,14.3-14.3,14.3H214.5c-7.9,0-14.3-6.4-14.3-14.3v-96.6
c0-7.9,6.4-14.3,14.3-14.3h152.8c7.9,0,14.3,6.4,14.3,14.3V497.5z M435.7,493.3h-30.8v-81.2h30.8V493.3z M400.1,354.6
c-27.6,0-50-22.4-50-50s22.4-50,50-50s50,22.4,50,50S427.6,354.6,400.1,354.6z"/>
<rect x="408.9" y="416.1" width="22.8" height="73.2"/>
<rect x="144.9" y="496.6" width="34" height="11"/>
<rect x="144.5" y="461.1" width="34" height="11"/>
<rect x="144.7" y="425.8" width="34" height="11"/>
<rect x="144.3" y="390.3" width="34" height="11"/>
<path d="M206.7,302.6h15.2c-1-23.8-20.1-42.9-43.9-43.9v25.4h28.7V302.6z"/>
<path d="M206.7,325.2H178v25.4c23.7-1.1,42.9-20.2,43.9-43.9h-15.2V325.2z"/>
<path d="M174,350.6v-25.4h-28.8v-18.6H130C131,330.4,150.2,349.6,174,350.6z"/>
<path d="M145.2,284.1H174v-25.4c-23.8,1-43,20.2-44,44h15.2V284.1z"/>
<path d="M186.2,288.1c5.6,3.4,9.3,9.6,9.3,16.6s-3.7,13.1-9.3,16.6h16.5v-33.1H186.2z"/>
<path d="M156.4,304.6c0-7,3.7-13.1,9.3-16.6h-16.5v33.1h16.5C160.2,317.8,156.4,311.6,156.4,304.6z"/>
<circle cx="175.9" cy="304.6" r="15.5"/>
<path d="M369.3,284.1H398v-25.4c-23.7,1.1-42.9,20.2-43.9,43.9h15.2V284.1z"/>
<path d="M430.8,325.2H402v25.4c23.8-1,43-20.2,44-44h-15.2V325.2z"/>
<path d="M402,258.7v25.4h28.8v18.6H446C445,278.8,425.8,259.7,402,258.7z"/>
<path d="M369.3,306.6h-15.2c1,23.8,20.1,42.9,43.9,43.9v-25.4h-28.7V306.6z"/>
<path d="M389.8,321.2c-5.6-3.4-9.3-9.6-9.3-16.6s3.7-13.1,9.3-16.6h-16.5v33.1H389.8z"/>
<path d="M419.6,304.6c0,7-3.7,13.1-9.3,16.6h16.5v-33.1h-16.5C415.8,291.5,419.6,297.6,419.6,304.6z"/>
<circle cx="400.1" cy="304.6" r="15.5"/>
<path d="M264.2,363.6h47.7v-47h18.9v-28h-85.5v28h18.9V363.6z M288,327.6c7.7,0,14,6.3,14,14s-6.3,14-14,14s-14-6.3-14-14
S280.3,327.6,288,327.6z"/>
<path d="M369,188.5v-2v-2v-21.9h-57h-10.5h-27H264h-57v21.9v2v2v46.1h162V188.5z M243,214.6c-8.8,0-16-7.2-16-16
c0-3.8,1.4-7.4,3.6-10.1c0.6-0.7,1.3-1.4,2-2c0.9-0.8,1.9-1.4,2.9-2c2.2-1.2,4.8-1.9,7.5-1.9s5.3,0.7,7.5,1.9c1,0.6,2,1.2,2.9,2
c0.7,0.6,1.4,1.3,2,2c2.3,2.8,3.6,6.3,3.6,10.1C259,207.5,251.8,214.6,243,214.6z M333,214.6c-8.8,0-16-7.2-16-16
c0-3.8,1.4-7.4,3.6-10.1c0.6-0.7,1.3-1.4,2-2c0.9-0.8,1.9-1.4,2.9-2c2.2-1.2,4.8-1.9,7.5-1.9s5.3,0.7,7.5,1.9c1,0.6,2,1.2,2.9,2
c0.7,0.6,1.4,1.3,2,2c2.3,2.8,3.6,6.3,3.6,10.1C349,207.5,341.8,214.6,333,214.6z"/>
<path d="M249.4,188.5c-1.9-1.2-4.1-1.9-6.4-1.9s-4.6,0.7-6.4,1.9c-3.4,2.1-5.6,5.9-5.6,10.1c0,6.6,5.4,12,12,12s12-5.4,12-12
C255,194.4,252.8,190.6,249.4,188.5z"/>
<path d="M339.4,188.5c-1.9-1.2-4.1-1.9-6.4-1.9s-4.6,0.7-6.4,1.9c-3.4,2.1-5.6,5.9-5.6,10.1c0,6.6,5.4,12,12,12s12-5.4,12-12
C345,194.4,342.8,190.6,339.4,188.5z"/>
<path d="M297.5,27.1c0-5.2-4.3-9.5-9.5-9.5s-9.5,4.3-9.5,9.5v109.5h19V27.1z"/>
<polygon points="276.5,158.6 278.5,158.6 297.5,158.6 299.5,158.6 301.5,158.6 308,158.6 308,140.6 301.5,140.6 299.5,140.6
297.5,140.6 278.5,140.6 276.5,140.6 274.5,140.6 268,140.6 268,158.6 274.5,158.6 "/>
</svg>
<h5>Radios</h5>
</a>
</div>
<!-- Propellers -->
<div class="text-center px-2">
<a href="https://www.getfpv.com/propellers.html">
<svg id="f0c36515-3db3-4588-a164-dd2b505d94a3" data-name="Layer 1"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 576">
<path d="M266.9,375.2l34.8,0c44,61,129,104.2,145.4,112.2c1.7,0.8,3.4,1.6,5.1,2.3c13.4,5.2,27.8,6.9,41.8,5.3
c18.1-2.1,34-12.8,43.1-28.5c-15.8-4.9-31.1-11.5-45.5-19.6L309.5,344l-17.3-30c30.6-68.6,25.6-163.5,24.3-181.8
c-0.1-1.9-0.3-3.7-0.6-5.6c-2.3-14.2-7.9-27.5-16.3-38.8c-10.8-14.6-28.1-23-46.2-23c3.7,16.2,5.6,32.7,5.8,49.2l2,208.1L243.3,353
c-74.8,7.7-154.6,59.6-169.7,69.8c-1.6,1.1-3.1,2.1-4.5,3.3c-11.2,9.1-19.9,20.6-25.5,33.5c-7.2,16.7-5.9,35.8,3.2,51.6h0
c12.2-11.3,25.5-21.2,39.7-29.6L266.9,375.2z M278.5,335.9c6.2,0,11.3,5.1,11.3,11.3c0,6.2-5.1,11.3-11.3,11.3
c-6.2,0-11.3-5.1-11.3-11.3C267.2,341,272.3,335.9,278.5,335.9z"/>
</svg>
<h5>Propellers</h5>
</a>
</div>
</div>
</div>
</div>
<div class="product-slider">
<div>
<script>
'use strict';
</script>
<section class="my-16 text-gray-700 body-font"
>
<div class="relative">
<div class="container">
<h2 class="text-gray-700 text-3xl title-font font-base w-full pb-3">Featured Products</h2>
</div>
<div class="container">
<div class="mx-auto pt-4 pb-12 grid gap-5 grid-cols-2 sm:grid-cols-3 lg:grid-cols-4">
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_YWZpZD1hVmxPVjBoQmRtZDZUSGM5JnJlZmVycmluZ19zZXJ2aWNlPWdvb2dsZS1jcGMmdXRtX3NvdXJjZT1nb29nbGUmdXRtX21lZGl1bT1jcGMmdXRtX2NhbXBhaWduPURNJTIwLSUyMFNlYXJjaCUyMC0lMjBUcmFkZW1hcmslMjAtJTIwSU1QJTIwLSUyMFVTJnV0bV9jb250ZW50PUdldEZQViUyMFtFWEFDVF0mdXRtX2tleXdvcmQ9Z2V0ZnB2JnV0bV9tYXRjaHR5cGU9ZSZjYW1wYWlnbl9pZD05NDE5MTYzNTc4JmFkX2dyb3VwX2lkPTk1MDY5NjYwMzQ1JmFkX2lkPTQyMDIxMTI4NzMwNiZhZF9uYW1lPUdldEZQViVDMiVBRSUyMC0lMjBEcm9uZSUyMCYlMjBGUFYlQzIlQUUlMjBTdG9yZSZnY19pZD05NDE5MTYzNTc4JmhfYWRfaWQ9NDIwMjExMjg3MzA2JmdhZF9zb3VyY2U9MSZnYWRfY2FtcGFpZ25pZD05NDE5MTYzNTc4JmdicmFpZD0wQUFBQUFEOGNONUx6OF9GemNyNEMwVXVvSGFyM2M2ZUp0JmdjbGlkPUVBSWFJUW9iQ2hNSS1wN2MzUENfa1FNVmIyOV9BQjJpUHd4N0VBQVlBU0FBRWdJcUlQRF9Cd0U~/product/19911/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('22794');">
<input name="form_key" type="hidden" value="GQjdNzq1YgfPpAdO"> <input type="hidden" name="product" value="19911">
<a href="https://www.getfpv.com/dji-o4-air-unit.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-19911.window="$root.src = event.detail" alt="DJI O4 Air Unit" title="DJI O4 Air Unit" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/d/j/dji-o4-air-unit-render_main-1000x1000_.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/dji-o4-air-unit.html">
DJI O4 Air Unit </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="19911" data-url="https://www.getfpv.com/dji-o4-air-unit.html"></div> </div>
<script>
function initPriceBox__69402576baf5b()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69402576baf5b()" @update-prices-19911.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="19911" data-price-box="product-id-19911">
<span x-data x-id="['product\u002Dprice\u002D19911']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D19911')" data-price-amount="119" data-price-type="finalPrice" class="price-wrapper "><span class="price">$119.00</span></span>
</span>
</div>
<script>
function attributeIcon_69402576c4ec4() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69402576c4ec4']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69402576c4ec4',
attributeIcon_69402576c4ec4 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69402576baf5b() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69402576baf5b()" @click="addToCartFBPixelEvent(`22794`, `DJI O4 Air Unit`, `119`, `_69402576baf5b`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`19911`, `22794`, `DJI O4 Air Unit`, `119`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/20917/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('23418');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="20917">
<a href="https://www.getfpv.com/iflight-skyviz-goggles.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-20917.window="$root.src = event.detail" alt="iFlight Skyviz Goggles" title="iFlight Skyviz Goggles" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/s/k/skyvizgoggle-2.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/iflight-skyviz-goggles.html">
iFlight Skyviz Goggles </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="20917" data-url="https://www.getfpv.com/iflight-skyviz-goggles.html"></div> </div>
<script>
function initPriceBox__694026417a038()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__694026417a038()" @update-prices-20917.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="20917" data-price-box="product-id-20917">
<span x-data x-id="['product\u002Dprice\u002D20917']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D20917')" data-price-amount="599.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$599.99</span></span>
</span>
</div>
<script>
function attributeIcon_69402641834ea() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69402641834ea']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69402641834ea',
attributeIcon_69402641834ea ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__694026417a038() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__694026417a038()" @click="addToCartFBPixelEvent(`23418`, `iFlight Skyviz Goggles`, `599.99`, `_694026417a038`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`20917`, `23418`, `iFlight Skyviz Goggles`, `599.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_cmVmZXJyaW5nX3NlcnZpY2U9YmluZy1jcGMmdXRtX2tleXdvcmQ9Z2V0ZnB2JTIwc3RvcmUmdXRtX21hdGNodHlwZT1lJmNhbXBhaWduX2lkPTU5MDExNzk3NSZhZF9ncm91cF9pZD0xMjY2NjM5MDMxNTUxOTkwJmFkX2lkPSZuZXR3b3JrPW8mZGV2aWNlPWMmYmlkbWF0Y2h0eXBlPWJlJnRhcmdldGlkPWt3ZC03OTE2NTQzMTM5NTYyMjpsb2MtNDA4MCZoX2NhbXBhaWduX2lkPTU5MDExNzk3NSZibmdfaWQ9MTI2NjYzOTAzMTU1MTk5MCZoX2FkX2lkPTc5MTY1MDQ0MTk4MDc3Jm1zY2xraWQ9MTkzYzc2NGZkMjJjMWQxM2I3NWExZjBmYzg4MmUzZDgmdXRtX3NvdXJjZT1iaW5nJnV0bV9tZWRpdW09Y3BjJnV0bV9jYW1wYWlnbj1ETSUyMC0lMjBTZWFyY2glMjAtJTIwVHJhZGVtYXJrJTIwLSUyMElNUCUyMC0lMjBVUyZ1dG1fdGVybT1nZXRmcHYlMjBzdG9yZSZ1dG1fY29udGVudD1HZXRGUFYlMjBTYWxlJTIwJTVCRVhBQ1QlNUQ~/product/21049/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('23501');">
<input name="form_key" type="hidden" value="3IzlBSu9jL7qmKUk"> <input type="hidden" name="product" value="21049">
<a href="https://www.getfpv.com/flywoo-o4-wide-angle-lens.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21049.window="$root.src = event.detail" alt="Flywoo O4 Wide-Angle Lens" title="Flywoo O4 Wide-Angle Lens" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/f/l/flywooo4camshell-3.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/flywoo-o4-wide-angle-lens.html">
Flywoo O4 Wide-Angle Lens - O4 Cam Shell </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21049" data-url="https://www.getfpv.com/flywoo-o4-wide-angle-lens.html"></div> </div>
<script>
function initPriceBox__69401ab52d96c()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69401ab52d96c()" @update-prices-21049.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21049" data-price-box="product-id-21049">
<span x-data x-id="['product\u002Dprice\u002D21049']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21049')" data-price-amount="19.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$19.99</span></span>
</span>
</div>
<script>
function attributeIcon_69401ab536780() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69401ab536780']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69401ab536780',
attributeIcon_69401ab536780 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69401ab52d96c() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69401ab52d96c()" @click="addToCartFBPixelEvent(`23501`, `Flywoo O4 Wide-Angle Lens - O4 Cam Shell`, `19.99`, `_69401ab52d96c`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21049`, `23501`, `Flywoo O4 Wide-Angle Lens - O4 Cam Shell`, `19.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/21254/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('23665');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="21254">
<a href="https://www.getfpv.com/lumenier-tactical-fpv-pouch.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21254.window="$root.src = event.detail" alt="Lumenier Tactical FPV Pouch" title="Lumenier Tactical FPV Pouch" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/l/u/lumenier_tactical_fpv_pouch-1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/lumenier-tactical-fpv-pouch.html">
Lumenier Tactical FPV Pouch </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21254" data-url="https://www.getfpv.com/lumenier-tactical-fpv-pouch.html"></div> </div>
<script>
function initPriceBox__694026418f795()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__694026418f795()" @update-prices-21254.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21254" data-price-box="product-id-21254">
<span x-data x-id="['product\u002Dprice\u002D21254']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21254')" data-price-amount="14.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$14.99</span></span>
</span>
</div>
<script>
function attributeIcon_6940264191347() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_6940264191347']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_6940264191347',
attributeIcon_6940264191347 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__694026418f795() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__694026418f795()" @click="addToCartFBPixelEvent(`23665`, `Lumenier Tactical FPV Pouch`, `14.99`, `_694026418f795`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21254`, `23665`, `Lumenier Tactical FPV Pouch`, `14.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/21416/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23791CN1Z');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="21416">
<a href="https://www.getfpv.com/caddx-protos-hd-fpv-drone-combo-w-goggles-controller.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21416.window="$root.src = event.detail" alt="Caddx Protos - Digital HD FPV Drone Kit" title="Caddx Protos - Digital HD FPV Drone Kit" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/c/a/caddx_protos_kit.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/caddx-protos-hd-fpv-drone-combo-w-goggles-controller.html">
Caddx Protos HD FPV Drone Combo w/ Goggles + Controller </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21416" data-url="https://www.getfpv.com/caddx-protos-hd-fpv-drone-combo-w-goggles-controller.html"></div> </div>
<script>
function initPriceBox__694026419b360()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__694026419b360()" @update-prices-21416.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21416" data-price-box="product-id-21416">
<span x-data x-id="['product\u002Dprice\u002D21416']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21416')" data-price-amount="469.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$469.99</span></span>
</span>
</div>
<script>
function attributeIcon_694026419d2c9() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_694026419d2c9']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_694026419d2c9',
attributeIcon_694026419d2c9 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__694026419b360() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__694026419b360()" @click="addToCartFBPixelEvent(`G23791CN1Z`, `Caddx Protos HD FPV Drone Combo w/ Goggles + Controller`, `469.99`, `_694026419b360`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21416`, `G23791CN1Z`, `Caddx Protos HD FPV Drone Combo w/ Goggles + Controller`, `469.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/21485/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23864CN1Z');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="21485">
<a href="https://www.getfpv.com/hdzero-whoop-v2-vtx.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21485.window="$root.src = event.detail" alt="HDZero Whoop V2 VTX" title="HDZero Whoop V2 VTX" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/h/d/hdzero_whoop_v2_vtx-1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/hdzero-whoop-v2-vtx.html">
HDZero Whoop V2 VTX </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21485" data-url="https://www.getfpv.com/hdzero-whoop-v2-vtx.html"></div> </div>
<script>
function initPriceBox__69402641a53b1()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69402641a53b1()" @update-prices-21485.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21485" data-price-box="product-id-21485">
<span x-data x-id="['product\u002Dprice\u002D21485']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21485')" data-price-amount="63.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$63.99</span></span>
</span>
</div>
<script>
function attributeIcon_69402641a6ee1() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69402641a6ee1']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69402641a6ee1',
attributeIcon_69402641a6ee1 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69402641a53b1() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69402641a53b1()" @click="addToCartFBPixelEvent(`G23864CN1Z`, `HDZero Whoop V2 VTX`, `63.99`, `_69402641a53b1`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21485`, `G23864CN1Z`, `HDZero Whoop V2 VTX`, `63.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/21507/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23884CN1Z');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="21507">
<a href="https://www.getfpv.com/axisflying-manta-30-3-bnf-drone-hd-w-dji-o4-gps.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21507.window="$root.src = event.detail" alt="Axisflying MANTA 30 3 BNF Drone HD w DJI O4GPSAxisflying MANTA 30 3 BNF Drone HDDJI O4GPS1" title="Axisflying MANTA 30 3 BNF Drone HD w DJI O4GPSAxisflying MANTA 30 3 BNF Drone HDDJI O4GPS1" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/a/x/axisflying_manta_30_3_bnf_drone_hd_w_dji_o4gpsaxisflying_manta_30_3_bnf_drone_hddji_o4gps1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/axisflying-manta-30-3-bnf-drone-hd-w-dji-o4-gps.html">
Axisflying MANTA 30 3" BNF Drone HD w/ DJI O4 + GPS </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21507" data-url="https://www.getfpv.com/axisflying-manta-30-3-bnf-drone-hd-w-dji-o4-gps.html"></div> </div>
<script>
function initPriceBox__69402641b21eb()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69402641b21eb()" @update-prices-21507.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21507" data-price-box="product-id-21507"><span class="normal-price">
<span x-data x-id="['product\u002Dprice\u002D21507']" class="price-container price-final_price tax weee">
<span class="price-label">As low as</span>
<span :id="$id('product\u002Dprice\u002D21507')" data-price-amount="449.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$449.99</span></span>
</span>
</span>
</div>
<script>
function attributeIcon_69402641b5535() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69402641b5535']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69402641b5535',
attributeIcon_69402641b5535 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<a href="https://www.getfpv.com/axisflying-manta-30-3-bnf-drone-hd-w-dji-o4-gps.html" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-black bg-white hover:bg-yellow-gfpv
mr-auto">
Select Options
</a>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent='addToWishlist(`21507`, `G23884CN1Z`, `Axisflying MANTA 30 3" BNF Drone HD w/ DJI O4 + GPS`, `449.99`)' aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS9yZWFkeS10by1mbHktcXVhZGNvcHRlcnMuaHRtbD9iYXR0ZXJ5X3ZvbHRhZ2U9MzMyJmZyZXF1ZW5jeT0xNDEmbW9kZT1saXN0Jm9yZGVyPXByaWNlJnBvcG9fY29tcGF0aWJsZT0xMDg5JnByb3BfY29sb3I9NTEwJnByb3BfZGlyZWN0aW9uPTUyNSZwcm9wX21hdGVyaWFsPTUyMSZwcm9wX3NpemU9MjQ1/product/21574/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23931CN1Z');">
<input name="form_key" type="hidden" value="rXQE592RcMYG2qOi"> <input type="hidden" name="product" value="21574">
<a href="https://www.getfpv.com/deepspace-seeker-3-drone-analog-w-caddx-ratel-2-gps.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21574.window="$root.src = event.detail" alt="DeepSpace Seeker 3 Drone Analog w/ Caddx Ratel 2 + GPS" title="DeepSpace Seeker 3 Drone Analog w/ Caddx Ratel 2 + GPS" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/d/e/deepspace_seeker_3_drone_analog_caddx_ratel_2gps_-_elrs_2.4ghz_2_1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/deepspace-seeker-3-drone-analog-w-caddx-ratel-2-gps.html">
DeepSpace Seeker 3 Drone Analog w/ Caddx Ratel 2 + GPS </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21574" data-url="https://www.getfpv.com/deepspace-seeker-3-drone-analog-w-caddx-ratel-2-gps.html"></div> </div>
<script>
function initPriceBox__69401f73a37af()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69401f73a37af()" @update-prices-21574.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21574" data-price-box="product-id-21574"><span class="normal-price">
<span x-data x-id="['product\u002Dprice\u002D21574']" class="price-container price-final_price tax weee">
<span class="price-label">As low as</span>
<span :id="$id('product\u002Dprice\u002D21574')" data-price-amount="279.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$279.99</span></span>
</span>
</span>
</div>
<script>
function attributeIcon_69401f73b679b() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69401f73b679b']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69401f73b679b',
attributeIcon_69401f73b679b ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<a href="https://www.getfpv.com/deepspace-seeker-3-drone-analog-w-caddx-ratel-2-gps.html" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-black bg-white hover:bg-yellow-gfpv
mr-auto">
Select Options
</a>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21574`, `G23931CN1Z`, `DeepSpace Seeker 3 Drone Analog w/ Caddx Ratel 2 + GPS`, `279.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
</div>
<script>
'use strict';
window.addEventListener('DOMContentLoaded', function() {
if (! window.productSliderEventHandlerInitialized) {
window.productSliderEventHandlerInitialized = true;
window.addEventListener('product-add-to-wishlist', (event) => {
const productId = event.detail.productId;
fetch(BASE_URL + "wishlist/index/add/", {
headers: {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
body: new URLSearchParams({
form_key: hyva.getFormKey(),
product: productId,
uenc: btoa(window.location.href)
}
),
method: "POST",
mode: "cors",
credentials: "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (result) {
if (!result) {
return
}
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (result.success) ? "success" : "error",
text: (result.success)
? "Product has been added to your Wish List." : result.error_message
}], 5000
);
window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
})
window.addEventListener('product-add-to-compare', (event) => {
const productId = event.detail.productId;
hyva.postForm({
action: BASE_URL + 'catalog/product_compare/add/',
data: {product: productId}
})
})
}
});
</script>
</div>
<style>
.cat-icons svg {
width: 55px;
margin: 0 auto 10px;
opacity: .7;
fill: currentColor;
}
.bg-g-shipping {
background: linear-gradient(
150deg, #444444 10%, #4b4b4b 10%, #464646 15%, #484848 15%, #373737 88%, #4b4b4b 88%);
background-repeat: no-repeat;
}
/*radial-gradient(at 80% 0%, #ffcc32 10%, transparent 30%),*/
</style>
<div class="cat-icons bg-g-shipping py-4 text-white font-semibold text-sm">
<div class="container">
<div class="text-white font-bold text-4xl text-center">
Same Day Shipping
</div>
<div class="text-yellow-gfpv text-xl text-center" style="transform: translateY(-3px)">
Available on most orders.
</div>
</div>
</div>
<div class="bg-g-1 p-6">
<div class="text-gray-450 font-bold text-4xl text-center pb-6">
Featured Industries
</div>
<div class="container grid grid-cols-1 lg:grid-cols-2 text-center gap-6 uppercase">
<a href="/commercial-industry-drones/cinematography-drones.html" class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2 bg-black bg-opacity-50 transition ease-in-out min-h-72"
style="background-image: url(https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/cinematography-drones.webp);background-position:center;background-repeat:no-repeat"
>
<h2 class="p-4 text-yellow-gfpv text-lg">Cinematography</h2>
</a>
<a href="/commercial-industry-drones/education.html" class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2 bg-black bg-opacity-50 transition ease-in-out min-h-72"
style="background-image: url(https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/education-drones.webp);background-position:center;background-repeat:no-repeat"
>
<h2 class="p-4 text-yellow-gfpv text-lg">Education</h2>
</a>
</div>
</div>
<div class="product-slider">
<div>
<script>
'use strict';
</script>
<section class="my-16 text-gray-700 body-font"
>
<div class="relative">
<div class="container">
<h2 class="text-gray-700 text-3xl title-font font-base w-full pb-3"><a href="/new-products.html">What's New</a></h2>
</div>
<div class="container">
<div class="mx-auto pt-4 pb-12 grid gap-5 grid-cols-2 sm:grid-cols-3 lg:grid-cols-4">
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_cmVmZXJyaW5nX3NlcnZpY2U9YmluZy1jcGMmdXRtX2tleXdvcmQ9d3d3JTIwZ2V0ZnB2JnV0bV9tYXRjaHR5cGU9cCZjYW1wYWlnbl9pZD01OTAxMTc5NzUmYWRfZ3JvdXBfaWQ9MTI2OTkzNzU2NjQxNjE4NSZhZF9pZD0mbmV0d29yaz1vJmRldmljZT1jJmJpZG1hdGNodHlwZT1icCZ0YXJnZXRpZD1rd2QtNzkzNzE1ODk5OTYyMTY6YXVkLTgxNjkyMDI0MDpsb2MtNDEyMyZoX2NhbXBhaWduX2lkPTU5MDExNzk3NSZibmdfaWQ9MTI2OTkzNzU2NjQxNjE4NSZoX2FkX2lkPTc5MzcxMjAxNzg4MzcxJm1zY2xraWQ9NzFlNGM2ZDVjNzNmMWQ1MGNlZTVhZjk1ZTRiZjFlMjImdXRtX3NvdXJjZT1iaW5nJnV0bV9tZWRpdW09Y3BjJnV0bV9jYW1wYWlnbj1ETSUyMC0lMjBTZWFyY2glMjAtJTIwVHJhZGVtYXJrJTIwLSUyMElNUCUyMC0lMjBVUyZ1dG1fdGVybT13d3clMjBnZXRmcHYmdXRtX2NvbnRlbnQ9R2V0RlBWLmNvbSUyMCU1QkJNTSU1RA~~/product/21706/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G24065CN1Z');">
<input name="form_key" type="hidden" value="ENOy7LmM5sqQwIar"> <input type="hidden" name="product" value="21706">
<a href="https://www.getfpv.com/hdzero-gamma-aio-g473-fc-45a-am32-esc-elrs-rx.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21706.window="$root.src = event.detail" alt="HDZero Gamma 45A HD-Ready AIO" title="HDZero Gamma 45A HD-Ready AIO" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/h/d/hdzero_gamma_aio-2.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/hdzero-gamma-aio-g473-fc-45a-am32-esc-elrs-rx.html">
HDZero Gamma AIO – G473 FC + 45A AM32 ESC + ELRS RX </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21706" data-url="https://www.getfpv.com/hdzero-gamma-aio-g473-fc-45a-am32-esc-elrs-rx.html"></div> </div>
<script>
function initPriceBox__694023a9b431c()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__694023a9b431c()" @update-prices-21706.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21706" data-price-box="product-id-21706">
<span x-data x-id="['product\u002Dprice\u002D21706']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21706')" data-price-amount="89.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$89.99</span></span>
</span>
</div>
<script>
function attributeIcon_694023a9c4300() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_694023a9c4300']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_694023a9c4300',
attributeIcon_694023a9c4300 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"><span class="text-blue-500">Pre-Order</span></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__694023a9b431c() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__694023a9b431c()" @click="addToCartFBPixelEvent(`G24065CN1Z`, `HDZero Gamma AIO – G473 FC + 45A AM32 ESC + ELRS RX`, `89.99`, `_694023a9b431c`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21706`, `G24065CN1Z`, `HDZero Gamma AIO – G473 FC + 45A AM32 ESC + ELRS RX`, `89.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/21611/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23974CN1Z');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="21611">
<a href="https://www.getfpv.com/betafpv-aquila20-fpv-rtf-kit-hd.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21611.window="$root.src = event.detail" alt="BETAFPV Aquila20 FPV RTF Kit - HD" title="BETAFPV Aquila20 FPV RTF Kit - HD" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/b/e/betafpv_aquila20_rtf_kit_hd-1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/betafpv-aquila20-fpv-rtf-kit-hd.html">
BETAFPV Aquila20 FPV RTF Kit - HD </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21611" data-url="https://www.getfpv.com/betafpv-aquila20-fpv-rtf-kit-hd.html"></div> </div>
<script>
function initPriceBox__69402641d7418()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69402641d7418()" @update-prices-21611.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21611" data-price-box="product-id-21611">
<span x-data x-id="['product\u002Dprice\u002D21611']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21611')" data-price-amount="499.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$499.99</span></span>
</span>
</div>
<script>
function attributeIcon_69402641dc692() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69402641dc692']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69402641dc692',
attributeIcon_69402641dc692 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"><span class="text-blue-500">Pre-Order</span></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69402641d7418() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69402641d7418()" @click="addToCartFBPixelEvent(`G23974CN1Z`, `BETAFPV Aquila20 FPV RTF Kit - HD`, `499.99`, `_69402641d7418`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21611`, `G23974CN1Z`, `BETAFPV Aquila20 FPV RTF Kit - HD`, `499.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS9yZWFkeS10by1mbHktcXVhZGNvcHRlcnMuaHRtbD9iYXR0ZXJ5X3ZvbHRhZ2U9MzMyJmZyZXF1ZW5jeT0xNDEmbW9kZT1saXN0Jm9yZGVyPXByaWNlJnBvcG9fY29tcGF0aWJsZT0xMDg5JnByb3BfY29sb3I9NTEwJnByb3BfZGlyZWN0aW9uPTUyNSZwcm9wX21hdGVyaWFsPTUyMSZwcm9wX3NpemU9MjQ1/product/21523/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23889CN1Z');">
<input name="form_key" type="hidden" value="rXQE592RcMYG2qOi"> <input type="hidden" name="product" value="21523">
<a href="https://www.getfpv.com/betafpv-aquila20-fpv-rtf-kit-analog.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21523.window="$root.src = event.detail" alt="BETAFPV Aquila20 FPV RTF Kit" title="BETAFPV Aquila20 FPV RTF Kit" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/b/e/betafpv_aquila20_fpv_kit-1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/betafpv-aquila20-fpv-rtf-kit-analog.html">
BETAFPV Aquila20 FPV RTF Kit - Analog </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21523" data-url="https://www.getfpv.com/betafpv-aquila20-fpv-rtf-kit-analog.html"></div> </div>
<script>
function initPriceBox__69401f73c91a8()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69401f73c91a8()" @update-prices-21523.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21523" data-price-box="product-id-21523">
<span x-data x-id="['product\u002Dprice\u002D21523']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21523')" data-price-amount="349.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$349.99</span></span>
</span>
</div>
<script>
function attributeIcon_69401f73cabea() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69401f73cabea']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69401f73cabea',
attributeIcon_69401f73cabea ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69401f73c91a8() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69401f73c91a8()" @click="addToCartFBPixelEvent(`G23889CN1Z`, `BETAFPV Aquila20 FPV RTF Kit - Analog`, `349.99`, `_69401f73c91a8`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21523`, `G23889CN1Z`, `BETAFPV Aquila20 FPV RTF Kit - Analog`, `349.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_YWZpZD1hVmxPVjBoQmRtZDZUSGM5JnJlZmVycmluZ19zZXJ2aWNlPWdvb2dsZS1jcGMmdXRtX3NvdXJjZT1nb29nbGUmdXRtX21lZGl1bT1jcGMmdXRtX2NhbXBhaWduPURNJTIwLSUyMFNlYXJjaCUyMC0lMjBUcmFkZW1hcmslMjAtJTIwSU1QJTIwLSUyMFVTJnV0bV9jb250ZW50PUdldEZQViUyMFtFWEFDVF0mdXRtX2tleXdvcmQ9Z2V0ZnB2JnV0bV9tYXRjaHR5cGU9ZSZjYW1wYWlnbl9pZD05NDE5MTYzNTc4JmFkX2dyb3VwX2lkPTk1MDY5NjYwMzQ1JmFkX2lkPTQyMDIxMTI4NzMwNiZhZF9uYW1lPUdldEZQViVDMiVBRSUyMC0lMjBEcm9uZSUyMCYlMjBGUFYlQzIlQUUlMjBTdG9yZSZnY19pZD05NDE5MTYzNTc4JmhfYWRfaWQ9NDIwMjExMjg3MzA2JmdhZF9zb3VyY2U9MSZnYWRfY2FtcGFpZ25pZD05NDE5MTYzNTc4JmdicmFpZD0wQUFBQUFEOGNONUx6OF9GemNyNEMwVXVvSGFyM2M2ZUp0JmdjbGlkPUVBSWFJUW9iQ2hNSW8tX1N2T1dfa1FNVnJhRmFCUjBGR0FpNEVBQVlBU0FBRWdKOXJQRF9Cd0U~/product/21374/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('23758');">
<input name="form_key" type="hidden" value="plFUM98QUZmgs5oD"> <input type="hidden" name="product" value="21374">
<a href="https://www.getfpv.com/dji-o4-pro-upgrade-kit-for-aos-v5.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21374.window="$root.src = event.detail" alt="DJI O4 Pro Upgrade Kit for AOS V5" title="DJI O4 Pro Upgrade Kit for AOS V5" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/a/o/aos-v5-upgrade-kit-1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/dji-o4-pro-upgrade-kit-for-aos-v5.html">
DJI O4 Pro Upgrade Kit – AOS V5 </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21374" data-url="https://www.getfpv.com/dji-o4-pro-upgrade-kit-for-aos-v5.html"></div> </div>
<script>
function initPriceBox__694019b7215d7()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__694019b7215d7()" @update-prices-21374.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21374" data-price-box="product-id-21374">
<span x-data x-id="['product\u002Dprice\u002D21374']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21374')" data-price-amount="11.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$11.99</span></span>
</span>
</div>
<script>
function attributeIcon_694019b72adaa() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_694019b72adaa']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_694019b72adaa',
attributeIcon_694019b72adaa ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__694019b7215d7() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__694019b7215d7()" @click="addToCartFBPixelEvent(`23758`, `DJI O4 Pro Upgrade Kit – AOS V5`, `11.99`, `_694019b7215d7`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21374`, `23758`, `DJI O4 Pro Upgrade Kit – AOS V5`, `11.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_YWZpZD1hVmxPVjBoQmRtZDZUSGM5JnJlZmVycmluZ19zZXJ2aWNlPWdvb2dsZS1jcGMmdXRtX3NvdXJjZT1nb29nbGUmdXRtX21lZGl1bT1jcGMmdXRtX2NhbXBhaWduPURNJTIwLSUyMFNlYXJjaCUyMC0lMjBUcmFkZW1hcmslMjAtJTIwSU1QJTIwLSUyMFVTJnV0bV9jb250ZW50PUdldEZQViUyMFtFWEFDVF0mdXRtX2tleXdvcmQ9Z2V0ZnB2JnV0bV9tYXRjaHR5cGU9ZSZjYW1wYWlnbl9pZD05NDE5MTYzNTc4JmFkX2dyb3VwX2lkPTk1MDY5NjYwMzQ1JmFkX2lkPTQyMDIxMTI4NzMwNiZhZF9uYW1lPUdldEZQViVDMiVBRSUyMC0lMjBEcm9uZSUyMCYlMjBGUFYlQzIlQUUlMjBTdG9yZSZnY19pZD05NDE5MTYzNTc4JmhfYWRfaWQ9NDIwMjExMjg3MzA2JmdhZF9zb3VyY2U9MSZnYWRfY2FtcGFpZ25pZD05NDE5MTYzNTc4JmdicmFpZD0wQUFBQUFEOGNONUx6OF9GemNyNEMwVXVvSGFyM2M2ZUp0JmdjbGlkPUVBSWFJUW9iQ2hNSS1wN2MzUENfa1FNVmIyOV9BQjJpUHd4N0VBQVlBU0FBRWdJcUlQRF9Cd0U~/product/21553/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23922US1Z');">
<input name="form_key" type="hidden" value="GQjdNzq1YgfPpAdO"> <input type="hidden" name="product" value="21553">
<a href="https://www.getfpv.com/hakrc-flytower-stack-f722-f7230-v2-fc-50a-2-6s-blheli-s-esc-30-5x30-5.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21553.window="$root.src = event.detail" alt="HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5" title="HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/2/3/23922-6.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/hakrc-flytower-stack-f722-f7230-v2-fc-50a-2-6s-blheli-s-esc-30-5x30-5.html">
HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5 </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21553" data-url="https://www.getfpv.com/hakrc-flytower-stack-f722-f7230-v2-fc-50a-2-6s-blheli-s-esc-30-5x30-5.html"></div> </div>
<script>
function initPriceBox__6940257ae9e97()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__6940257ae9e97()" @update-prices-21553.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21553" data-price-box="product-id-21553">
<span x-data x-id="['product\u002Dprice\u002D21553']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21553')" data-price-amount="99.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$99.99</span></span>
</span>
</div>
<script>
function attributeIcon_6940257aec721() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_6940257aec721']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_6940257aec721',
attributeIcon_6940257aec721 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__6940257ae9e97() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__6940257ae9e97()" @click="addToCartFBPixelEvent(`G23922US1Z`, `HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5`, `99.99`, `_6940257ae9e97`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21553`, `G23922US1Z`, `HAKRC Flytower Stack - F722 F7230 V2 FC + 50A 2-6S BLHeli_S ESC - 30.5x30.5`, `99.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_YWZpZD1PR3RhZUhkVmNYZFhWMDA5JnJlZmVycmluZ19zZXJ2aWNlPWxpbms~/product/21479/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23858CN1Z');">
<input name="form_key" type="hidden" value="1RuSJEuKk9iHCKsc"> <input type="hidden" name="product" value="21479">
<a href="https://www.getfpv.com/dogcom-sbang-1480mah-6s-22-2v-150c-lipo-battery-xt60.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21479.window="$root.src = event.detail" alt="DogCom SBang 22.2V 6S 1480mAh 150C LiPo Battery" title="DogCom SBang 22.2V 6S 1480mAh 150C LiPo Battery" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/d/o/dogcom-dogcom-sbang-22-2v-6s-1480mah-150c-lipo-battery-xt60-battery-31219903627377.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/dogcom-sbang-1480mah-6s-22-2v-150c-lipo-battery-xt60.html">
DOGCOM SBang 1480mAh 6S 22.2V 150C LiPo Battery - XT60 </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21479" data-url="https://www.getfpv.com/dogcom-sbang-1480mah-6s-22-2v-150c-lipo-battery-xt60.html"></div> </div>
<script>
function initPriceBox__69401d534ef21()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69401d534ef21()" @update-prices-21479.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21479" data-price-box="product-id-21479">
<span x-data x-id="['product\u002Dprice\u002D21479']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21479')" data-price-amount="39.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$39.99</span></span>
</span>
</div>
<script>
function attributeIcon_69401d535a902() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69401d535a902']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69401d535a902',
attributeIcon_69401d535a902 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69401d534ef21() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69401d534ef21()" @click="addToCartFBPixelEvent(`G23858CN1Z`, `DOGCOM SBang 1480mAh 6S 22.2V 150C LiPo Battery - XT60`, `39.99`, `_69401d534ef21`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21479`, `G23858CN1Z`, `DOGCOM SBang 1480mAh 6S 22.2V 150C LiPo Battery - XT60`, `39.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_Z2NfaWQ9MjE4MDUyMTIzODcmZ19zcGVjaWFsX2NhbXBhaWduPXRydWUmZ2FkX3NvdXJjZT0xJmdhZF9jYW1wYWlnbmlkPTIxODA1MjEyMzg3JmdicmFpZD0wQUFBQUFEOGNONUlDemxOcWpFSXpVSnRQSlhKWWxlRWxIJmdjbGlkPUVBSWFJUW9iQ2hNSV82YXR2ZWFfa1FNVmZBeEVDQjA0WkNqV0VBVVlBU0FDRWdMaEV2RF9Cd0U~/product/21297/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('23685');">
<input name="form_key" type="hidden" value="zDkey3IPYxL6PALa"> <input type="hidden" name="product" value="21297">
<a href="https://www.getfpv.com/benewake-tfmini-s-lidar.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21297.window="$root.src = event.detail" alt="Benewake TFmini-S LiDAR" title="Benewake TFmini-S LiDAR" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/b/e/benewake_tfmini-s_lidar1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/benewake-tfmini-s-lidar.html">
Benewake TFmini-S LiDAR </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21297" data-url="https://www.getfpv.com/benewake-tfmini-s-lidar.html"></div> </div>
<script>
function initPriceBox__69401ac53f044()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69401ac53f044()" @update-prices-21297.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21297" data-price-box="product-id-21297">
<span x-data x-id="['product\u002Dprice\u002D21297']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21297')" data-price-amount="44.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$44.99</span></span>
</span>
</div>
<script>
function attributeIcon_69401ac54991f() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69401ac54991f']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69401ac54991f',
attributeIcon_69401ac54991f ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69401ac53f044() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69401ac53f044()" @click="addToCartFBPixelEvent(`23685`, `Benewake TFmini-S LiDAR`, `44.99`, `_69401ac53f044`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21297`, `23685`, `Benewake TFmini-S LiDAR`, `44.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_YWZpZD1hVmxPVjBoQmRtZDZUSGM5JnJlZmVycmluZ19zZXJ2aWNlPWdvb2dsZS1jcGMmdXRtX3NvdXJjZT1nb29nbGUmdXRtX21lZGl1bT1jcGMmdXRtX2NhbXBhaWduPURNJTIwLSUyMFNlYXJjaCUyMC0lMjBUcmFkZW1hcmslMjAtJTIwSU1QJTIwLSUyMFVTJnV0bV9jb250ZW50PUdldEZQViUyMFtFWEFDVF0mdXRtX2tleXdvcmQ9Z2V0ZnB2JnV0bV9tYXRjaHR5cGU9ZSZjYW1wYWlnbl9pZD05NDE5MTYzNTc4JmFkX2dyb3VwX2lkPTk1MDY5NjYwMzQ1JmFkX2lkPTQyMDIxMTI4NzMwNiZhZF9uYW1lPUdldEZQViVDMiVBRSUyMC0lMjBEcm9uZSUyMCYlMjBGUFYlQzIlQUUlMjBTdG9yZSZnY19pZD05NDE5MTYzNTc4JmhfYWRfaWQ9NDIwMjExMjg3MzA2JmdhZF9zb3VyY2U9MSZnYWRfY2FtcGFpZ25pZD05NDE5MTYzNTc4JmdicmFpZD0wQUFBQUFEOGNONUx6OF9GemNyNEMwVXVvSGFyM2M2ZUp0JmdjbGlkPUNqMEtDUWlBZ1BfSkJoRC1BUklzQU5wRU14emo5RnhrWnhJT0J2MXAxTHhPZTR2akRhbVg4bDU1UmtBRkhIS0F1MFQteFdyQTlRbE5GSmdhQXZubkVBTHdfd2NC/product/21532/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('G23900CN1Z');">
<input name="form_key" type="hidden" value="Xu0fR3PinsWUnZI4"> <input type="hidden" name="product" value="21532">
<a href="https://www.getfpv.com/betafpv-pavo-pico-ii-drone-no-fpv-system-elrs-2-4ghz.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-21532.window="$root.src = event.detail" alt="BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz" title="BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/b/e/betafpv_pavo_pico_ii-1.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/betafpv-pavo-pico-ii-drone-no-fpv-system-elrs-2-4ghz.html">
BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="21532" data-url="https://www.getfpv.com/betafpv-pavo-pico-ii-drone-no-fpv-system-elrs-2-4ghz.html"></div> </div>
<script>
function initPriceBox__69402641e7cdd()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69402641e7cdd()" @update-prices-21532.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="21532" data-price-box="product-id-21532">
<span x-data x-id="['product\u002Dprice\u002D21532']" class="price-container price-final_price tax weee">
<span :id="$id('product\u002Dprice\u002D21532')" data-price-amount="129.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$129.99</span></span>
</span>
</div>
<script>
function attributeIcon_69402641f10f6() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69402641f10f6']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69402641f10f6',
attributeIcon_69402641f10f6 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69402641e7cdd() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69402641e7cdd()" @click="addToCartFBPixelEvent(`G23900CN1Z`, `BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz`, `129.99`, `_69402641e7cdd`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`21532`, `G23900CN1Z`, `BETAFPV Pavo Pico II Drone - No FPV System - ELRS 2.4GHz`, `129.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-yellow-gfpv text-sm text-white font-medium">NEW</div>
</div>
</div>
</div>
</form>
</div>
<div><a href="/new-products.html" More Products>More Products</a> </div>
</div>
</div>
</section>
</div>
<script>
'use strict';
window.addEventListener('DOMContentLoaded', function() {
if (! window.productSliderEventHandlerInitialized) {
window.productSliderEventHandlerInitialized = true;
window.addEventListener('product-add-to-wishlist', (event) => {
const productId = event.detail.productId;
fetch(BASE_URL + "wishlist/index/add/", {
headers: {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
body: new URLSearchParams({
form_key: hyva.getFormKey(),
product: productId,
uenc: btoa(window.location.href)
}
),
method: "POST",
mode: "cors",
credentials: "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (result) {
if (!result) {
return
}
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (result.success) ? "success" : "error",
text: (result.success)
? "Product has been added to your Wish List." : result.error_message
}], 5000
);
window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
})
window.addEventListener('product-add-to-compare', (event) => {
const productId = event.detail.productId;
hyva.postForm({
action: BASE_URL + 'catalog/product_compare/add/',
data: {product: productId}
})
})
}
});
</script>
</div>
<div class="bg-g-footer py-9 lg:p-9">
<div class="container grid grid-cols-1 lg:grid-cols-2 text-center gap-9 uppercase">
<a href="https://www.getfpv.com/learn/" class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2 bg-black bg-opacity-50 transition ease-in-out min-h-72"
style="background-image: url(https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/FPV_guide_bg.webp)"
>
<h2 class="p-4 text-white" style="filter: drop-shadow(0 0 16px rgba(0,0,0,0.7));">GetFPV /Learn</h2>
<p class="p-4 text-white" style="filter: drop-shadow(0 0 16px rgba(0,0,0,0.7));">The ideal location to expand your knowledge of an FPV racing drone.</p>
<span class="px-4 py-2 text-white block border border-white" href="javascript:void(0);">Read More</span>
</a>
<a href="https://www.getfpv.com/learn/" class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2 bg-black transition ease-in-out"
style="background-image: url(https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/GetFPV_learn_bg.webp)"
>
<div><img class="m-auto" src="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/watch_now.png" alt="watch now"/></div>
<h2 class="p-4 text-white" style="filter: drop-shadow(0 0 16px rgba(0,0,0,0.7));">FPV GUIDE - How to get into Cinematic FPV?</h2>
</a>
</div>
</div>
<div class="product-slider">
<div>
<script>
'use strict';
</script>
<section class="my-16 text-gray-700 body-font"
>
<div class="relative">
<div class="container">
<h2 class="text-gray-700 text-3xl title-font font-base w-full pb-3"><a href="/on-sale.html">Hurry Up! Stock Clearance Sale Is Live Now</a></h2>
</div>
<div class="container">
<div class="mx-auto pt-4 pb-12 grid gap-5 grid-cols-2 sm:grid-cols-3 lg:grid-cols-4">
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_cmVmZXJyaW5nX3NlcnZpY2U9YmluZy1jcGMmdXRtX2tleXdvcmQ9Z2V0ZnB2JTIwc3RvcmUmdXRtX21hdGNodHlwZT1lJmNhbXBhaWduX2lkPTU5MDExNzk3NSZhZF9ncm91cF9pZD0xMjY2NjM5MDMxNTUxOTkwJmFkX2lkPSZuZXR3b3JrPW8mZGV2aWNlPWMmYmlkbWF0Y2h0eXBlPWJlJnRhcmdldGlkPWt3ZC03OTE2NTQzMTM5NTYyMjpsb2MtNDA4MCZoX2NhbXBhaWduX2lkPTU5MDExNzk3NSZibmdfaWQ9MTI2NjYzOTAzMTU1MTk5MCZoX2FkX2lkPTc5MTY1MDQ0MTk4MDc3Jm1zY2xraWQ9MTkzYzc2NGZkMjJjMWQxM2I3NWExZjBmYzg4MmUzZDgmdXRtX3NvdXJjZT1iaW5nJnV0bV9tZWRpdW09Y3BjJnV0bV9jYW1wYWlnbj1ETSUyMC0lMjBTZWFyY2glMjAtJTIwVHJhZGVtYXJrJTIwLSUyMElNUCUyMC0lMjBVUyZ1dG1fdGVybT1nZXRmcHYlMjBzdG9yZSZ1dG1fY29udGVudD1HZXRGUFYlMjBTYWxlJTIwJTVCRVhBQ1QlNUQ~/product/6219/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('8935');">
<input name="form_key" type="hidden" value="3IzlBSu9jL7qmKUk"> <input type="hidden" name="product" value="6219">
<a href="https://www.getfpv.com/lumenier-n2o-1500mah-4s-120c-lipo-battery-xt-60.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-6219.window="$root.src = event.detail" alt="Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60)" title="Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60)" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/n/2/n2o-1500-4s-main.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/lumenier-n2o-1500mah-4s-120c-lipo-battery-xt-60.html">
Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60) </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="6219" data-url="https://www.getfpv.com/lumenier-n2o-1500mah-4s-120c-lipo-battery-xt-60.html"></div> </div>
<script>
function initPriceBox__69401ab558df0()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__69401ab558df0()" @update-prices-6219.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="6219" data-price-box="product-id-6219">
<span class="special-price">
<span x-data x-id="['product\u002Dprice\u002D6219']" class="price-container price-final_price tax weee">
<span class="price-label">Special Price</span>
<span :id="$id('product\u002Dprice\u002D6219')" data-price-amount="39.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$39.99</span></span>
<span class="line-through">$62.49</span>
</span>
</span>
<span class="old-price">
<span x-data x-id="['old\u002Dprice\u002D6219']" class="price-container price-final_price tax weee">
<span class="price-label">Regular Price</span>
<span :id="$id('old\u002Dprice\u002D6219')" data-price-amount="62.49" data-price-type="oldPrice" class="price-wrapper "><span class="price">$62.49</span></span>
<span class="line-through">$62.49</span>
</span>
</span>
</div>
<script>
function attributeIcon_69401ab55abd8() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_69401ab55abd8']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_69401ab55abd8',
attributeIcon_69401ab55abd8 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__69401ab558df0() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__69401ab558df0()" @click="addToCartFBPixelEvent(`8935`, `Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60)`, `39.99`, `_69401ab558df0`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`6219`, `8935`, `Lumenier N2O 1500mAh 4s 120c Lipo Battery (XT-60)`, `39.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-green-600 text-sm text-white font-medium">SALE</div>
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8_YWZpZD1hVmxPVjBoQmRtZDZUSGM5JnJlZmVycmluZ19zZXJ2aWNlPWdvb2dsZS1jcGMmdXRtX3NvdXJjZT1nb29nbGUmdXRtX21lZGl1bT1jcGMmdXRtX2NhbXBhaWduPURNJTIwLSUyME5CJTIwLSUyMFBNYXglMjAtJTIwU2hvcCUyMC0lMjBVbmRlci1pbmRleCUyMC0lMjBTTSUyMC0lMjBBTEwlMjAlN0MlMjBGdWxsJTIwRnVubmVsJnV0bV9jb250ZW50PXBtYXhfeCZ1dG1fa2V5d29yZD0mdXRtX21hdGNodHlwZT0mY2FtcGFpZ25faWQ9MjA4MDA0MTcwODcmbmV0d29yaz14JmRldmljZT1tJmdjX2lkPTIwODAwNDE3MDg3JmdhZF9zb3VyY2U9MSZnYWRfY2FtcGFpZ25pZD0yMDc5MDIxMzgzNyZnYnJhaWQ9MEFBQUFBRDhjTjVJMFJwdlp2b3FpOXhqVlRwZTAwUlBXYSZnY2xpZD1DajBLQ1FpQWdQX0pCaEQtQVJJc0FOcEVNeHdDYkc3ME1LOFBLU1dfc2VkYUFhZFJYMFgxczJVWVFxX29Md3JEelJ4bFFCVXBXX285dlRZYUFvYkNFQUx3X3djQg~~/product/16298/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('19636');">
<input name="form_key" type="hidden" value="W0b5Z4pizygkTXTj"> <input type="hidden" name="product" value="16298">
<a href="https://www.getfpv.com/geprc-cinelog-35-p-3-5-cinewhoop-drone-analog-w-caddx-ratel-2-performance-edition-6s.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-16298.window="$root.src = event.detail" alt='GEPRC CineLog 35 P 3.5" Cinewhoop Drone Analog w/ Caddx Ratel 2 - Performance Edition - 6S ' title='GEPRC CineLog 35 P 3.5" Cinewhoop Drone Analog w/ Caddx Ratel 2 - Performance Edition - 6S ' src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/g/e/geprc-cinelog-35-p-3.5-cinewhoop-drone-analog-performance-edition-6s_1_.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/geprc-cinelog-35-p-3-5-cinewhoop-drone-analog-w-caddx-ratel-2-performance-edition-6s.html">
GEPRC CineLog 35 P 3.5" Cinewhoop Drone Analog w/ Caddx Ratel 2 - Performance Edition - 6S </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="16298" data-url="https://www.getfpv.com/geprc-cinelog-35-p-3-5-cinewhoop-drone-analog-w-caddx-ratel-2-performance-edition-6s.html"></div> </div>
<script>
function initPriceBox__6940248e6edb9()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__6940248e6edb9()" @update-prices-16298.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="16298" data-price-box="product-id-16298"><span class="normal-price">
<span x-data x-id="['product\u002Dprice\u002D16298']" class="price-container price-final_price tax weee">
<span class="price-label">As low as</span>
<span :id="$id('product\u002Dprice\u002D16298')" data-price-amount="415.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$415.99</span></span>
</span>
</span>
</div>
<script>
function attributeIcon_6940248e78979() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_6940248e78979']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_6940248e78979',
attributeIcon_6940248e78979 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<a href="https://www.getfpv.com/geprc-cinelog-35-p-3-5-cinewhoop-drone-analog-w-caddx-ratel-2-performance-edition-6s.html" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-black bg-white hover:bg-yellow-gfpv
mr-auto">
Select Options
</a>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent='addToWishlist(`16298`, `19636`, `GEPRC CineLog 35 P 3.5" Cinewhoop Drone Analog w/ Caddx Ratel 2 - Performance Edition - 6S `, `415.99`)' aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
</div>
</div>
</div>
</form>
<form method="post" action="https://www.getfpv.com/checkout/cart/add/uenc/aHR0cHM6Ly93d3cuZ2V0ZnB2LmNvbS8~/product/18390/" class="item product product-item product_addtocart_form flex flex-col relative p_grid-item" x-data="initAddToCart()" @submit.prevent="addToCart('21631');">
<input name="form_key" type="hidden" value="wQO6RD9nLbFDJdgT"> <input type="hidden" name="product" value="18390">
<a href="https://www.getfpv.com/hex-driver-w-titanium-coating-m1-6.html" class="product photo product-item-photo block mx-auto mb-3 " tabindex="-1">
<img class="hover:shadow-sm object-contain max-w-full" loading="lazy" x-data="" @update-gallery-18390.window="$root.src = event.detail" alt="Hex Driver w/ Titanium Coating - M2" title="Hex Driver w/ Titanium Coating - M2" src="https://cdn-v2.getfpv.com/media/catalog/product/cache/8636f329c03de7a3ccf2e3f032055eef/h/e/hex-driver-combo-wtitanium-coating-m2-_image-1_.jpg" width="250" height="250">
</a>
<div class="product-info flex flex-col flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450 ">
<a class="product-item-link" href="https://www.getfpv.com/hex-driver-w-titanium-coating-m1-6.html">
Hex Driver w/ Titanium Coating - M2 </a>
</div>
<div class="py-1 w-6/12 ">
<div class="yotpo bottomLine bottomline-position" data-product-id="18390" data-url="https://www.getfpv.com/hex-driver-w-titanium-coating-m1-6.html"></div> </div>
<script>
function initPriceBox__6940264210f76()
{
return {
updatePrice(priceData) {
const regularPriceLabel = this.$root.querySelector('.normal-price .price-label');
const regularPriceElement = this.$root.querySelector('.normal-price .price-wrapper .price');
if (priceData.finalPrice.amount < priceData.oldPrice.amount) {
regularPriceLabel.classList.add('hidden');
} else {
regularPriceLabel.classList.remove('hidden');
}
regularPriceElement.innerText = hyva.formatPrice(priceData.finalPrice.amount);
}
}
}
</script>
<div class="pt-1 text-gray-900" x-data="initPriceBox__6940264210f76()" @update-prices-18390.window="updatePrice(event.detail);">
<div class="price-box price-final_price" data-role="priceBox" data-product-id="18390" data-price-box="product-id-18390">
<span class="special-price">
<span x-data x-id="['product\u002Dprice\u002D18390']" class="price-container price-final_price tax weee">
<span class="price-label">Special Price</span>
<span :id="$id('product\u002Dprice\u002D18390')" data-price-amount="2.99" data-price-type="finalPrice" class="price-wrapper "><span class="price">$2.99</span></span>
<span class="line-through">$5.49</span>
</span>
</span>
<span class="old-price">
<span x-data x-id="['old\u002Dprice\u002D18390']" class="price-container price-final_price tax weee">
<span class="price-label">Regular Price</span>
<span :id="$id('old\u002Dprice\u002D18390')" data-price-amount="5.49" data-price-type="oldPrice" class="price-wrapper "><span class="price">$5.49</span></span>
<span class="line-through">$5.49</span>
</span>
</span>
</div>
<script>
function attributeIcon_6940264212fb2() {
return Object.assign(
{
labelledById: '',
['attributeIconInit_6940264212fb2']() {
const timestamp = Date.now();
const randomNum = Math.floor(Math.random() * 1000);
this.labelledById = `amshopby-option-id-${timestamp}-${randomNum}`;
}
}
)
}
window.addEventListener(
'alpine:init',
() => Alpine.data(
'attributeIcon_6940264212fb2',
attributeIcon_6940264212fb2 ),
{once: true}
);
</script>
</div>
<span class="italic text-sm font-medium"></span>
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<script>
function initFBPixelAddToCart__6940264210f76() {
return {
addToCartFBPixelEvent(productSku, productName, productPrice, uniqueId) {
const currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let cartFBPData;
if (productSku) {
cartFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(cartFBPData,
currencyValue ? {currency: currencyValue} : ''
)
fbq('track', 'AddToCart', cartFBPData, {eventID:`AddToCart-${productSku}-${uniqueId}`});
}
}
}
}
</script>
<button x-data="initFBPixelAddToCart__6940264210f76()" @click="addToCartFBPixelEvent(`21631`, `Hex Driver w/ Titanium Coating - M2`, `2.99`, `_6940264210f76`)" class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black
mr-auto" aria-label="Add to Cart">
<span class="inline">
Add to Cart </span>
</button>
<script>
function initWishlist() {
return {
addToWishlist(productId, productSku, productName, productPrice) {
var formKey = document.querySelector('input[name=form_key]').value;
var postUrl = BASE_URL+"wishlist/index/add/",
currencyValue = dataLayer?.find(function (el) {
return el?.transactionCurrency;
})?.transactionCurrency,
categoryValue = dataLayer?.find(function (el) {
if (el?.categoryName) {
return el?.categoryName;
}
})?.categoryName,
qtyValue = 1;
let wishlistFBPData;
if (productSku) {
wishlistFBPData = {
content_type: 'product',
content_name: productName,
contents: [Object.assign({}, {
id: productSku,
quantity: qtyValue,
item_price: +productPrice
})],
value: +productPrice
};
Object.assign(wishlistFBPData,
currencyValue ? {currency: currencyValue} : '',
categoryValue ? {content_category: categoryValue} : ''
)
}
fetch(postUrl, {
"headers": {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"body": "form_key="+ formKey + "&product="+productId+"&uenc="+btoa(window.location.href),
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (response) {
if(!response) { return }
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (response.success) ? "success" : "error",
text: (response.success)
? "Product has been added to your Wish List."
: response.error_message
}], 5000
);
var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
window.dispatchEvent(reloadCustomerDataEvent);
if (productSku) {
fbq('track', 'AddToWishlist', wishlistFBPData, {eventID:`AddToWishlist-${productId}-${productSku}`});
}
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
}
}
}
</script>
<button x-data="initWishlist()" @click.prevent="addToWishlist(`18390`, `21631`, `Hex Driver w/ Titanium Coating - M2`, `2.99`)" aria-label="Add to Wish List" type="button" class="absolute rounded-full w-9 h-9 p-0 border-0 inline-flex flex-shrink-0 items-center justify-center text-gray-300 hover:text-red-600 ml-2" style="top:.2rem;right:.1rem">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-7 h-7" width="25" height="25" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
<title>heart</title></svg>
</button>
<div class="absolute flex gap-1" style="top:1rem;left:.1rem">
<div class="px-1 border-0 items-center justify-center bg-green-600 text-sm text-white font-medium">SALE</div>
</div>
</div>
</div>
</form>
</div>
<div><a href="/on-sale.html" More Products>More Products</a> </div>
</div>
</div>
</section>
</div>
<script>
'use strict';
window.addEventListener('DOMContentLoaded', function() {
if (! window.productSliderEventHandlerInitialized) {
window.productSliderEventHandlerInitialized = true;
window.addEventListener('product-add-to-wishlist', (event) => {
const productId = event.detail.productId;
fetch(BASE_URL + "wishlist/index/add/", {
headers: {
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
body: new URLSearchParams({
form_key: hyva.getFormKey(),
product: productId,
uenc: btoa(window.location.href)
}
),
method: "POST",
mode: "cors",
credentials: "include"
}).then(function (response) {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
} else {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Could not add item to wishlist."
}], 5000
);
}
}).then(function (result) {
if (!result) {
return
}
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: (result.success) ? "success" : "error",
text: (result.success)
? "Product has been added to your Wish List." : result.error_message
}], 5000
);
window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
}).catch(function (error) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: error
}], 5000
);
});
})
window.addEventListener('product-add-to-compare', (event) => {
const productId = event.detail.productId;
hyva.postForm({
action: BASE_URL + 'catalog/product_compare/add/',
data: {product: productId}
})
})
}
});
</script>
</div>
</div><div id="contentarea" tabindex="-1"></div>
<div class="page messages"><script>
function initMessages() {
"use strict";
return {
messages: window.mageMessages || [],
isEmpty() {
return this.messages.reduce(
function (isEmpty, message) {
return isEmpty && message === undefined
}, true
)
},
removeMessage(messageIndex) {
this.messages[messageIndex] = undefined;
},
addMessages(messages, hideAfter) {
messages.map((message) => {
this.messages = this.messages.concat(message);
if (hideAfter) {
this.setHideTimeOut(this.messages.length -1, hideAfter);
}
});
},
setHideTimeOut(messageIndex, hideAfter) {
setTimeout((messageIndex) => {
this.removeMessage(messageIndex);
}, hideAfter, messageIndex);
},
eventListeners: {
['@messages-loaded.window']() {
this.addMessages(event.detail.messages, event.detail.hideAfter)
},
['@private-content-loaded.window'](event) {
const data = event.detail.data;
if (
data.messages &&
data.messages.messages &&
data.messages.messages.length
) {
this.addMessages(data.messages.messages);
}
},
['@clear-messages.window']() {
this.messages = [];
}
}
}
}
</script>
<section id="messages"
x-data="initMessages()"
x-bind="eventListeners"
>
<template x-if="!isEmpty()">
<div class="w-full">
<div role="alert" class="messages container mx-auto py-3">
<template x-for="(message, index) in messages" :key="index">
<div>
<template x-if="message">
<div class="message" :class="message.type"
:ui-id="'message-' + message.type"
>
<span x-html="message.text"></span>
<a href="#" class="close cursor-pointer" title="close"
@click.prevent="removeMessage(index)">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="text-white" width="18" height="18" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
<title>x</title></svg>
</a>
</div>
</template>
</div>
</template>
</div>
</div>
</template>
</section>
</div><div class="columns"><div class="column main"><!-- Yotpo - Add body class -->
<script>
(() => {
window.addEventListener('DOMContentLoaded', () => {
document.body.classList.add('yotpo-yotpo-is-enabled');
});
})();
</script>
<!--/ Yotpo - Add body class -->
<!-- Yotpo - Widget Script -->
<script>
(function e() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.async = true;
e.src = '//staticw2.yotpo.com/hAsLjMqxgOJsP2kAiRUVORljRSNjcsIznflulIfL/widget.js';
e.defer = true;
var t = document.getElementsByTagName('script')[0];
t.parentNode.insertBefore(e, t);
})();
</script>
<!--/ Yotpo - Widget Script -->
<div
class="ambanners ambanner-11"
data-position="11"
data-bannerid=""
data-role="amasty-banner-container"
></div>
<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"></div></div></div></main><footer class="page-footer"><div class="footer content">
<footer class="text-gray-700 body-font shadow bg-g-footer">
<div class="bg-g-1">
<div class="container grid grid-cols-1 lg:grid-cols-3 text-center col-sep">
<div class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2">
<h2 class="p-4">Loyalty Program</h2>
<p class="p-4 pt-0 max-w-xs">Earn 'Crash Cash' loyalty rewards to redeem towards your next purchase!</p>
<a href="/customer/account/create" class="inline-block justify-center btn btn-gfpv bg-transparent text-gray-600 border-gray-600 hover:bg-black hover:text-white hover:border-black">Create An Account</a>
</div>
<div class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2">
<h2 class="p-4">Discounts & Coupons</h2>
<p class="p-4 pt-0 max-w-xs">Check out our landing hub for all GetFPV promotions, discounts, and coupons!</p>
<a href="/fpv-drone-coupon" class="inline-block justify-center btn btn-gfpv bg-transparent text-gray-600 border-gray-600 hover:bg-black hover:text-white hover:border-black">Learn More</a>
</div>
<div class="flex flex-col items-center justify-center pb-8 lg:py-10 px-2">
<h2 class="p-4">Stay Connected</h2>
<p class="p-4 pt-0 max-w-xs">Enter your e-mail to get exclusive deals and stand a chance to win monthly FREE products!</p>
<div class="">
<form class="form subscribe"
action="https://www.getfpv.com/newsletter/subscriber/new/"
method="post"
x-data="initNewsletterForm()"
@submit.prevent="submitForm()"
id="newsletter-validate-detail">
<div class="flex justify-center md:justify-start">
<label for="newsletter-subscribe" class="sr-only">
Email Address </label>
<input name="email"
type="email"
required
id="newsletter-subscribe"
class="form-input inline-flex w-full"
placeholder="Enter your email address">
<input name="form_key" type="hidden" value="jUczq2FGQB3mR80O" /> <button class="inline-flex flex-shrink-0 ml-auto xl:mt-0 btn btn-black uppercase">
Subscribe </button>
</div>
<div>
<template x-if="displayErrorMessage">
<p class="flex items-center text-red">
<span class="inline-block w-8 h-8 mr-3">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
</span>
<template x-for="errorMessage in errorMessages">
<span x-html="errorMessage"></span>
</template>
</p>
</template>
</div>
</form>
<div class="w-full">
</div>
<script>
function initNewsletterForm() {
return {
errors: 0,
hasCaptchaToken: 0,
displayErrorMessage: false,
errorMessages: [],
setErrorMessages(messages) {
this.errorMessages = [messages]
this.displayErrorMessage = this.errorMessages.length
},
submitForm() {
var $form = document.querySelector('#newsletter-validate-detail');
if (this.errors === 0) {
$form.submit();
}
}
}
}
</script>
</div>
</div>
</div>
</div>
<div class="border-b border-gray-450">
<div class="container grid grid-cols-1 lg:grid-cols-4 text-center">
<div class="pt-9 pb-4 lg:py-9 flex flex-col gap-4">
<a href="/chat.html">
<svg class="h-12 fill-current text-white inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 359.35 359.56"><path d="M558.64,385.39c0,12.06-.14,23.78.07,35.49.08,4.24-1.36,7-5,9.15-7.42,4.36-14.7,9-21.9,13.66a9.77,9.77,0,0,0-3.57,4.34,25,25,0,0,1-9.2,12c-6.71,4.54-13.4,9.13-20.24,13.47-11.39,7.23-25.7,4.28-33-6.64s-4.57-25.53,6.68-33.31c6.46-4.47,13.06-8.75,19.62-13.07a24.39,24.39,0,0,1,16-4.1,8.93,8.93,0,0,0,3.78-.91,17.42,17.42,0,0,0,2.85-1.79c8.92-5.87,8.92-5.87,7.85-16.29-4.39-1.94-8.85-3.34-12.7-5.72-11-6.82-16.82-17-17-29.87-.25-24.33-.33-48.67,0-73,.22-14.61,7.5-25.31,20.57-31.84,2.19-1.1,3.08-2,2.81-4.65a95.83,95.83,0,0,0-190.7,0c-.23,2.31.16,3.41,2.42,4.51,13.71,6.7,20.86,17.86,21,33.1.2,23.46.14,46.92,0,70.38-.07,15.73-7.16,27.51-21.57,33.82s-27.75,3.38-39.51-7.1a8.41,8.41,0,0,0-5-1.64c-19.94-.69-36-13.49-40.61-32.62a20.77,20.77,0,0,1-.84-4.77c.06-15.71-.78-31.5.58-47.1,1.49-17,14.93-30.55,31.66-34.25,2.89-.64,3.4-1.71,3.48-4.36,1.66-58.84,28.49-102.4,80.65-129.43C413.92,103.72,486.19,118.33,528,166q36.27,41.4,36.63,96.36c0,2.51.48,3.55,3.25,4.16a41.68,41.68,0,0,1,32.7,40.39c.16,11.73.08,23.46,0,35.19-.1,23.09-15.58,40.33-38.52,43C561.05,385.16,560.06,385.25,558.64,385.39Zm-245.29-132c2.58-27.19,13.22-50.28,32.65-69s43.07-29,70.16-30.21a103.67,103.67,0,0,1,66,19c27.74,19.48,42.83,46.54,46.39,80.26,9.09,0,16.84,3.25,24.49,9.21-2.34-52-24.18-91.79-69.19-116.2-46.49-25.2-93.4-22.59-137.27,7-37.93,25.56-56.12,62.71-57.66,109.34A37.65,37.65,0,0,1,313.35,253.38ZM504.74,325c0,11.85-.05,23.69,0,35.53.07,13.87,10.43,24.56,23.78,24.67s24.07-10.69,24.1-24.72q.09-35.16,0-70.31c0-14.18-10.34-24.75-24-24.74s-23.86,10.59-23.92,24.79C504.7,301.86,504.73,313.45,504.74,325ZM337,325.19h0c0-11.72.05-23.44,0-35.15-.07-14-10.33-24.51-23.77-24.57-13.68-.06-24.08,10.47-24.12,24.59q-.08,35.16,0,70.31a28.23,28.23,0,0,0,1.15,8.08c3.33,10.92,14.51,18.13,25.38,16.61,12.22-1.71,21.1-11.22,21.28-23.22C337.15,349.63,337,337.41,337,325.19Zm-59.25,47.43c-1-31.85-1.08-63.22.06-94.55-13.37,1.64-24.4,14.14-24.6,28.63-.17,12.33-.11,24.67,0,37a28.8,28.8,0,0,0,8,20A27.9,27.9,0,0,0,277.76,372.62Zm286.35-94.44c.8,31.55.93,62.87-.1,94.37a7.48,7.48,0,0,0,1.51-.14c12.62-2.89,22.54-14.28,22.93-27.24q.57-19.83,0-39.68C588,291.55,576.2,279,564.11,278.18Zm-46.6,161.28a11.37,11.37,0,0,0-5.89-9.52c-4.1-2.36-8.36-2.45-12.38.15-6.79,4.4-13.56,8.84-20.21,13.45a11.92,11.92,0,0,0,13.12,19.9c6.84-4.33,13.53-8.88,20.21-13.44C515.78,447.67,517.41,444.27,517.51,439.46Zm5.07-16.65c2,3.06,3.83,5.85,5.76,8.78,5.58-3.46,11.18-6.89,16.72-10.43a3.39,3.39,0,0,0,1.53-2.24c.1-8.63.06-17.28.06-26.09l-12,4.21c0,4.47-.09,8.82,0,13.17a7.49,7.49,0,0,1-3.86,7.13C528,419.1,525.29,421,522.58,422.81Z" transform="translate(-241.27 -117.86)"/><path d="M420.82,273.78c12.85,0,25.7,0,38.55,0s21.37,8.53,21.39,21.34c0,24.21,0,48.42,0,72.63,0,3-.43,5.73-3.49,7.23s-5.25.11-7.54-1.63c-6.15-4.68-12.29-9.38-18.6-13.86a10,10,0,0,0-5.4-1.77c-21-.12-41.92-.07-62.89-.08-13.53,0-21.88-8.39-21.89-22q0-19.85,0-39.68c0-14,8.24-22.2,22.39-22.21Zm47.84,83.73c.07-1.45.13-2.18.13-2.91q0-29.55,0-59.1c0-6.69-3.12-9.73-9.92-9.74H383c-7,0-10,3-10,10q0,19.63,0,39.28c0,7.74,2.84,10.57,10.59,10.58,21.81,0,43.63-.07,65.44.1a13.56,13.56,0,0,1,6.82,2.27C460.06,350.79,464,354,468.66,357.51Z" transform="translate(-241.27 -117.86)"/><path d="M307.08,333.43c0-5.62-.05-11.23,0-16.85.05-4.16,2.33-6.75,5.85-6.83s6.08,2.6,6.1,6.95q.06,17,0,34.07c0,4.14-2.36,6.76-5.85,6.84s-6.06-2.63-6.1-7C307,344.91,307.08,339.17,307.08,333.43Z" transform="translate(-241.27 -117.86)"/><path d="M319.06,288.67c0,6.14-1.86,9-5.91,9s-6.07-2.84-6.07-8.88,1.83-9,5.9-9S319.05,282.62,319.06,288.67Z" transform="translate(-241.27 -117.86)"/><path d="M397,309.75a6,6,0,1,1-6,5.87A6,6,0,0,1,397,309.75Z" transform="translate(-241.27 -117.86)"/><path d="M420.84,309.75a6,6,0,1,1-5.92,6A6,6,0,0,1,420.84,309.75Z" transform="translate(-241.27 -117.86)"/><path d="M444.94,321.67a6,6,0,1,1,5.85-6.07A6,6,0,0,1,444.94,321.67Z" transform="translate(-241.27 -117.86)"/></svg>
</a>
<div class="liveTxt">
<a href="/chat.html">
<h3 class="text-yellow-gfpv text-xl">Live Chat</h3>
</a>
</div>
</div>
<div class="py-4 lg:py-9 flex flex-col gap-4">
<a href="/sales/order/history/">
<svg class="h-12 fill-current text-white inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 383.33 383.85"><path d="M383.31,306.05c-2.44,1.1-4.5,2-6.88,2.93-5,1.8-10.23,3.18-15.37,4.66-4.18,1.2-6.77,0-7.78-3.43-1.06-3.65.5-6.08,4.8-7.38,4.53-1.37,9.06-2.69,13.79-4.09V112.86L340.94,122Q237.8,152.61,134.62,183.14c-3.31,1-4.68,2.23-4.67,6q.23,88.14.11,176.28v5c5.32-1.55,10.17-2.93,15-4.37l181.57-53.9c5.79-1.72,9.59.9,8.79,6-.5,3.19-3,4-5.56,4.77l-49.42,14.67q-75.75,22.47-151.48,45a11.21,11.21,0,0,1-10.15-1.39Q62,345.08,5.08,309.21C1.54,307,0,304.44,0,300.14q.18-96.19,0-192.38c0-3.94,1.3-6.49,4.63-8.59C14.32,93,23.83,86.63,33.46,80.39c4-2.57,7.78-1.45,9,2.57,1,3.11-.44,5.23-3,6.9-6.6,4.26-13.15,8.59-19.72,12.9-1,.67-2.05,1.38-3.37,2.27.92.71,1.62,1.35,2.41,1.84q51.33,32.52,102.66,65c1.81,1.15,3.13,1.78,5.31.34q42.93-28.31,86-56.4c.6-.39,1.16-.85,2-1.51l-18.5-11.72Q153,75.2,109.78,47.72c-2.38-1.52-3.93-1.44-6.23.1C91.22,56.06,78.75,64.1,66.36,72.25c-2.8,1.84-5.48,2.52-8-.23s-2.07-6.5,1.48-8.86C69.14,57,78.55,50.84,87.93,44.69c4.69-3.07,9.49-6,14.06-9.24,3.22-2.29,6-2.13,9.25,0,10.57,6.84,21.3,13.43,31.86,20.28a7.42,7.42,0,0,0,7,.91c12.85-4,25.76-7.7,39.37-11.74-1.53-1-2.57-1.81-3.66-2.5L137.74,12c-5.86-3.71-6.07-7.39-.7-11.57h4.49a11.84,11.84,0,0,0,2,.79c34.78,7,69.58,13.91,104.34,21,5.32,1.08,11.23,1.63,15.65,4.38,38.6,24,76.94,48.44,115.32,72.82,1.72,1.09,3,2.88,4.49,4.34ZM118.83,367.54v-4.49q0-87.76.07-175.52a6.44,6.44,0,0,0-3.49-6.24Q65.1,149.61,14.9,117.74c-1-.64-2.06-1.23-3.61-2.16V119q0,88.89-.06,177.77a4.91,4.91,0,0,0,2.7,4.73q50.91,32.13,101.76,64.37C116.49,366.35,117.36,366.75,118.83,367.54Zm40.23-301.9c1.74,1.15,2.94,2,4.17,2.75l63.16,40c6.13,3.88,6.14,8,.06,12q-28.6,18.75-57.22,37.47c-2.26,1.48-4.49,3-6.73,4.49l.39.88,190.05-56.42a5.44,5.44,0,0,0-2.71-1.3Q306.46,96.7,262.69,88a35.06,35.06,0,0,1-12.75-4.88q-22.41-14.55-45.16-28.59a8,8,0,0,0-5.42-.79c-4.36,1-8.62,2.41-12.91,3.7C177.52,60.09,168.61,62.77,159.06,65.64ZM346.76,93.3l.36-.64c-1.1-.75-2.18-1.54-3.3-2.25C317.3,73.61,290.74,56.88,264.28,40c-4.8-3.06-9.65-5.4-15.36-6.25-6.4-.95-12.7-2.53-19-3.8L169.11,17.8a11.75,11.75,0,0,0,3.36,2.86q41.67,26.42,83.39,52.75a27.2,27.2,0,0,0,8.55,3.31c10.46,2.29,21,4.28,31.48,6.39Z"/><path d="M150.49,308.31q0-12.72,0-25.44c0-4.79,1.06-6.27,5.5-7.59q93.4-27.79,186.83-55.56c5.82-1.73,8.83.55,8.85,6.7q.06,25.07,0,50.13c0,6.13-.82,7.27-6.67,9L199,329c-13.12,3.9-26.23,7.84-39.35,11.73-6.28,1.87-9.14-.33-9.15-7Q150.47,321,150.49,308.31Zm11.23,19.87c.95-.15,1.32-.18,1.67-.28q87.15-25.95,174.3-51.85c2.3-.68,2.82-1.78,2.81-3.95-.09-12.34,0-24.69-.06-37,0-.82-.16-1.63-.27-2.69-1.6.41-2.92.7-4.2,1.08q-50.46,15-100.92,30.07c-23.26,6.92-46.55,13.77-69.79,20.77-1.34.41-3.37,1.88-3.39,2.88C161.65,300.76,161.72,314.34,161.72,328.18Z"/><path d="M331.64,258.36c0,2.61.1,5.22,0,7.82-.17,3.44-2.53,5.8-5.58,5.81a5.6,5.6,0,0,1-5.57-5.78q-.18-7.83,0-15.64c.08-3.41,2.14-5.37,5.33-5.44a5.32,5.32,0,0,1,5.81,5.41C331.75,253.14,331.64,255.75,331.64,258.36Z"/><path d="M223.92,290.16c0,2.75.13,5.5,0,8.23-.19,3.18-2,5.07-5.22,5.26s-5.54-1.64-5.73-4.69a158.25,158.25,0,0,1,0-17.56c.16-3,2.56-4.56,5.51-4.45s5.29,1.62,5.46,5C224,284.67,223.92,287.42,223.92,290.16Z"/><path d="M170.66,302.61c0-2.49-.06-5,0-7.45.1-3.44,2-5.52,5.08-5.73a5.4,5.4,0,0,1,6,5.23c.19,5.45.2,10.92,0,16.37a5.54,5.54,0,0,1-11.07-.23c-.13-2.73,0-5.46,0-8.19Z"/><path d="M303.93,262.89c0-2.73-.1-5.47,0-8.19.15-3.27,2.08-4.95,5.27-5s5.55,1.49,5.73,4.63c.32,5.69.27,11.41,0,17.11a5.34,5.34,0,0,1-5.86,5c-3.24-.42-5.13-2.33-5.2-5.72-.05-2.61,0-5.21,0-7.82Z"/><path d="M253.22,281.31c0,2.62.09,5.24,0,7.85-.13,3.19-1.85,5.11-5,5.44a5.14,5.14,0,0,1-5.93-4.9c-.27-5.72-.26-11.47,0-17.19.16-3.26,2.61-4.83,5.72-4.63s5.17,1.83,5.25,5.2C253.27,275.82,253.22,278.57,253.22,281.31Z"/><path d="M287.37,267.23c0-2.6-.05-5.21,0-7.82.07-3.26,1.83-5,5.05-5.28s5.83,1.61,6,4.79c.25,5.69.27,11.41,0,17.1-.17,3.08-2.43,4.83-5.57,4.91-2.93.08-5.13-2.29-5.4-5.51a6.27,6.27,0,0,1,0-.75v-7.44Z"/><path d="M258.05,276.8c0-2.62-.09-5.24,0-7.85.15-3.28,2-5,5.27-5.09s5.53,1.4,5.67,4.67c.25,5.72.25,11.47,0,17.19-.15,3.18-2.48,5-5.58,4.88a5.11,5.11,0,0,1-5.31-5.2c-.17-2.86,0-5.73,0-8.6Z"/><path d="M198,299c0,2.49.11,5,0,7.47-.19,3.55-2.45,5.88-5.49,5.93s-5.49-2.28-5.59-5.78q-.24-7.85,0-15.7c.11-3.56,2.11-5.33,5.41-5.34s5.26,1.78,5.65,5.19a6.3,6.3,0,0,1,0,.75c0,2.49,0,5,0,7.48Z"/></svg>
</a>
<div class="liveTxt">
<a href="/sales/order/history/">
<h3 class="text-yellow-gfpv text-xl">Check Order Status</h3>
</a>
</div>
</div>
<div class="py-4 lg:py-9 flex flex-col gap-4">
<a href="/shipping.html">
<svg class="h-12 fill-current text-white inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 410.07 298.8"><path d="M625.51,328c-.8,7.9-1.55,15.81-2.42,23.7q-2.73,25-5.59,49.94c-.47,4-2.65,5.78-7.18,5.83-7.19.09-14.4.2-21.59,0-3.19-.11-4.26,1-4.93,4.05-5.16,23.66-28.74,39.51-52.27,34.74-19.26-3.9-31.6-15.65-36.3-34.84-.77-3.12-2-4-5-3.94q-44.19.16-88.37,0c-2.89,0-4.05.77-4.76,3.74-8.05,33.94-46.81,47.06-73.82,24.93A41.13,41.13,0,0,1,308.59,412c-.69-3.39-1.92-4.86-5.7-4.66-6.91.36-13.86.16-20.79.08-5.37-.06-7.67-2.48-7.17-7.7q3.85-40.69,7.84-81.39c.71-7.37,1.39-14.75,2.14-22.68-5.49,0-10.51,0-15.52,0a42.57,42.57,0,0,1-5.18-.21c-3.4-.42-5.33-2.44-5.29-5.87s2-5.56,5.43-5.7c5.59-.23,11.19-.15,16.79-.19h5c2.47-25.39,4.9-50.34,7.38-75.86h-5c-21.19,0-42.38,0-63.57,0-3.83,0-7.18-.57-9-4.47v-3.19c1.78-3.63,4.87-4.4,8.62-4.39,22,.08,44,0,66,.11,3.17,0,4.36-.8,4.62-4.13.92-12.06,2.16-24.1,3.34-36.15.56-5.72,2.46-7.39,8.24-7.4q34.18,0,68.39,0c4.52,0,6.9,1.72,7.34,5.09.54,4.14-2.19,6.83-7.25,6.85-11.87.07-23.73,0-35.6,0H310.16c-1.14,11.93-2.25,23.53-3.41,35.64h58a38.09,38.09,0,0,1,4,.11c3.71.41,5.84,2.55,5.74,5.89-.12,3.68-2.27,5.51-5.8,5.86-1.32.13-2.66.12-4,.12H305.55c-2.45,25.25-4.88,50.21-7.35,75.63,1.68.08,3.08.21,4.48.22,10.26,0,20.53,0,30.79,0a21.69,21.69,0,0,1,4.77.37,5.79,5.79,0,0,1,.14,11.14,18.82,18.82,0,0,1-4.75.44c-11.07,0-22.13.09-33.2,0-2.73,0-3.6.82-3.82,3.58-.84,10.59-2,21.15-3.05,32.07H502.05c5-57,9.91-113.8,14.9-171.06H404.18c-6.43,0-9.37-1.94-9.31-6.12s2.81-5.85,9.08-5.85H520.34c7.9,0,9.62,2.05,8.93,9.82q-3.79,42.12-7.41,84.26a8.21,8.21,0,0,0,.34,1.44c1.36,0,2.89,0,4.41,0,11,.34,22.19-.12,33.11,1.22,29.08,3.56,55.17,26.9,62.64,55.11,1.18,4.46,2.11,9,3.15,13.49C626.3,317.68,626,323.31,625.51,328ZM516.78,303.09c-.35,2.39-.62,3.8-.75,5.23-.8,8.88-1.53,17.76-2.35,26.63-.7,7.64-1.85,8.64-9.77,8.64H352.72c-18.67,0-37.34.11-56-.09-3.73,0-4.7,1.2-4.9,4.71-.38,7-1.3,14-2,21.05-.82,8.57-1.61,17.15-2.46,26.23,3.58,0,6.74,0,9.91,0s7,.86,9.37-.56c1.84-1.11,1.87-5.17,2.81-7.88A46,46,0,0,1,355.74,356c19.48.95,36.71,15.63,41.22,35.41.72,3.13,1.83,4.24,5.22,4.22,29.33-.16,58.67-.09,88-.1,1.29,0,2.59-.11,3.9-.17,5-22.73,18.56-37.41,41.72-39,27.09-1.82,43,13.39,49.32,38.89h21.19c1.85-16.74,3.66-33.26,5.55-49.77.25-2.16-.78-2.71-2.58-3.12a33.6,33.6,0,0,1-16.56-9.16c-5.25-5.29-10.3-10.77-15.41-16.2-5.3-5.62-11.3-11-19-11.8C544.61,303.76,530.76,303.71,516.78,303.09Zm95.83,28.79c5.83-42.2-26.78-72.79-55.45-74.8-1,11.58-2,23.17-3,34.66,20.5,5.87,23.76,7.92,37.23,22.9,2.93,3.26,5.76,6.71,9.14,9.46S608.11,329,612.61,331.88ZM386.33,401.5A33.62,33.62,0,1,0,352.77,435,33.82,33.82,0,0,0,386.33,401.5Zm119.77-2.13c-1.67,17.55,12.18,33.7,30.41,35.46,17.44,1.68,34.23-11.73,36.26-28.3,2.55-20.79-12.42-37.13-30.86-38.52C524,366.67,507,380.38,506.1,399.37Zm14.64-143.61c-1.07,11.92-2.12,23.72-3.19,35.66h24.57c1-11.93,2-23.63,3-35.43-1.41-.11-2.2-.22-3-.22C535.22,255.75,528.29,255.76,520.74,255.76Z" transform="translate(-215.91 -148.24)"/><path d="M258.28,243.79c4.52,0,9-.11,13.55,0,4.31.13,6.62,2.25,6.7,5.77.09,3.69-2.29,6-6.79,6.11q-13.74.2-27.5,0c-4.34-.07-6.88-2.63-6.74-6.19s2.55-5.56,6.83-5.68C249,243.69,253.63,243.79,258.28,243.79Z" transform="translate(-215.91 -148.24)"/><path d="M374.59,401.92a21.88,21.88,0,1,1-21.31-22.29A21.85,21.85,0,0,1,374.59,401.92Zm-22.06,9.43a10.06,10.06,0,0,0,10.08-9.72,9.9,9.9,0,0,0-19.8-.37A10.09,10.09,0,0,0,352.53,411.35Z" transform="translate(-215.91 -148.24)"/><path d="M540.08,379.64a21.85,21.85,0,1,1-22.52,21.14A21.9,21.9,0,0,1,540.08,379.64Zm-.57,11.93a10.13,10.13,0,0,0-10,9.88,10,10,0,1,0,10-9.88Z" transform="translate(-215.91 -148.24)"/></svg>
</a>
<div class="liveTxt">
<a href="/shipping.html">
<h3 class="text-yellow-gfpv text-xl">Same Day Shipping</h3>
</a>
</div>
</div>
<div class="pt-4 pb-9 lg:py-9 flex flex-col gap-4">
<a href="/contact">
<svg class="h-12 fill-current text-white inline-block" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 383.86 383.46"><path d="M229.51,285.53c1-7,1.7-14.07,2.9-21A191.29,191.29,0,0,1,380.78,110.2C471.54,90.91,562,138.09,598,223.5,644.55,334,577.34,461.62,460,485.17c-8.41,1.69-17,2.32-25.54,3.47a123.05,123.05,0,0,1-27.84-.11c-8.75-1.27-17.58-2.12-26.23-3.85C306.14,469.81,244.63,406,232.5,331.27c-1.17-7.23-2-14.52-3-21.79C228.91,300.38,228.8,291.53,229.51,285.53ZM421.07,477.9c99.59.07,180.4-80.69,180.46-180.33S520.86,117.17,421.2,117.11,240.81,197.78,240.74,297.43,321.43,477.83,421.07,477.9Z" transform="translate(-229.02 -105.91)"/><path d="M575.14,303.17h-15c-1.5,0-3,.06-4.49-.07-3.64-.33-5.76-2.47-5.73-5.64s2.2-5.36,5.86-5.46c5-.13,10-.05,15-.05h4.4c-1.84-38.32-15.59-71.07-41.34-99.53-3.93,4.08-7.61,8-11.35,11.75-4.4,4.47-7.33,5.12-10.17,2.38s-2.24-5.82,2.11-10.16c3.8-3.79,7.62-7.55,11.73-11.62-28.18-25.57-60.9-39.33-99.32-41.22,0,5,0,9.69,0,14.38,0,1.74.08,3.5-.06,5.23-.3,3.58-2.55,5.72-5.74,5.62-3-.1-5.22-2.19-5.34-5.6-.19-5.11-.08-10.23-.09-15.34,0-1.23,0-2.47,0-4.58-7.64.92-14.9,1.54-22.07,2.73a143.47,143.47,0,0,0-35.59,11c-.68.31-1.35.66-2.05.92-3.58,1.35-6.69.29-7.92-2.67s0-6.17,3.46-7.55c8.45-3.34,16.81-7.09,25.54-9.45,80.82-21.86,163,17.71,196.31,94.34,32.2,74,4.06,163.16-64.8,205.32-2.48,1.52-4.88,2.59-7.61.72-3.54-2.42-3.19-6.79.65-9.61q10.85-8,21.59-16.06c1-.74,1.81-1.68,3.13-2.92-4.41-4.27-8.72-8.38-12.95-12.57-3.24-3.21-3.58-6.26-1.17-8.83s5.77-2.37,9.11,1c4.14,4.14,8.22,8.35,12.71,12.91C559.59,374.36,573.09,341.56,575.14,303.17Z" transform="translate(-229.02 -105.91)"/><path d="M308.36,192.47c-25.69,28.33-39.29,61.14-41.2,99.47h15.56a44.74,44.74,0,0,1,4.49.08c3.17.33,5.07,2.14,5.14,5.35s-1.7,5.34-4.87,5.56c-4.59.32-9.21.19-13.83.23-2,0-3.95,0-6.46,0,1.81,38.18,15.55,70.89,41.38,99.48,4.31-4.48,8.38-8.8,12.54-13,3.33-3.37,6.56-3.66,9.09-1s2.09,5.62-1.12,8.84c-4.14,4.15-8.35,8.23-12.91,12.72,28.18,25.62,60.89,39.3,99.35,41.31,0-2.79,0-5.34,0-7.89,0-4-.11-8,.11-12a5.51,5.51,0,0,1,11,0c.21,5.11.09,10.23.11,15.34,0,1.34,0,2.67,0,4.3a128.88,128.88,0,0,0,32.11-4.48c7.07-1.94,14-4.48,20.92-6.87,4.14-1.43,7.3-.64,8.62,2.43,1.42,3.32-.22,6.25-4.48,8-93,38.44-199.3-15.48-223.3-113.25A165.25,165.25,0,0,1,328,161a24.19,24.19,0,0,1,2.19-1.43c2.88-1.55,5.93-.91,7.61,1.56s1.3,5.52-1.38,7.62c-4.8,3.77-9.76,7.34-14.58,11.08-1.86,1.44-3.54,3.11-5.86,5.17,4.48,4.29,8.81,8.36,13,12.52,3.35,3.31,3.64,6.59,1,9.11s-5.61,2.08-8.84-1.14C317,201.24,312.79,197,308.36,192.47Z" transform="translate(-229.02 -105.91)"/><path d="M404.32,295.5a5.58,5.58,0,0,1,.17-1.85c2.36-5.14-.78-8-4.11-11.26-8.16-7.86-16.09-16-24.1-24-3.13-3.15-3.5-6.34-1.12-8.84s5.9-2.2,9.13,1c9.09,9.06,18.19,18.11,27.2,27.26a4.74,4.74,0,0,0,5.16,1.46,20.26,20.26,0,0,1,8.8,0,4.91,4.91,0,0,0,5.47-1.56q26-26.12,52.06-52.12c.79-.79,1.55-1.63,2.41-2.34,2.48-2,5.78-1.94,7.74.27,2.1,2.38,2.11,5,.19,7.47a27.38,27.38,0,0,1-2.58,2.7Q465,259.45,439.15,285.18c-1.84,1.83-2.53,3.27-1.81,6.07,1.71,6.68-.14,12.67-5.62,17.08s-11.57,5.12-17.86,2.1S404.63,302.33,404.32,295.5Zm22.33,0a5.51,5.51,0,0,0-11-.3,5.51,5.51,0,1,0,11,.3Z" transform="translate(-229.02 -105.91)"/><path d="M421.28,351.08c6.23,0,12.46-.05,18.68,0,4.13,0,6.57,2.17,6.59,5.51s-2.4,5.61-6.52,5.64q-18.86.13-37.72,0c-4.17,0-6.57-2.24-6.59-5.58,0-3.49,2.43-5.55,6.89-5.59C408.83,351,415.06,351.08,421.28,351.08Z" transform="translate(-229.02 -105.91)"/></svg>
</a>
<div class="flex flex-col gap-2">
<a href="/contact">
<h3 class="text-white text-xl">Customer Support</h3>
</a>
<div>
<h5 class="text-yellow-gfpv text-sm"><strong>Mon - Fri:</strong>10:00am - 6:00pm EST</h5>
<h4 class="text-yellow-gfpv text-sm"><a href="/cdn-cgi/l/email-protection#2c5f595c5c435e586c4b49584a5c5a024f4341" class="underline"><span class="__cf_email__" data-cfemail="74070104041b0600341311001204025a171b19">[email protected]</span></a> | <a href="tel:19414440021">+1 (941) 444-0021</a></h4>
</div>
</div>
</div>
<!-- End Item3 -->
</div>
</div>
<div class="container px-5 py-8 mx-auto">
<style>
.link-list a:hover {
text-decoration: underline;
}
</style>
<div class="flex flex-wrap justify-between gap-y-16 gap-x-8">
<div class="">
<h4 class="font-medium text-yellow-gfpv pb-4">Need Help?</h4>
<ul class="link-list text-white text-sm">
<li><a href="/contact">Order Support</a></li>
<li><a href="/sales/order/history/">Check Order Status</a></li>
<li><a href="/customer-service">FAQ</a></li>
<li><a href="/contact">Contact Us</a></li>
</ul>
</div>
<div class="">
<h4 class="font-medium text-yellow-gfpv pb-4">Store & Shipping </h4>
<ul class="link-list text-white text-sm">
<li><a href="/loyalty">Loyalty Program</a></li>
<li><a href="/brands">Drone Brands</a></li>
<li><a href="/fpv-drone-coupon">Discounts and Coupons</a></li>
<li><a href="/distribution.html">Reseller Catalog</a></li>
<li><a href="/shipping.html">FREE SHIPPING on most orders $199+</a></li>
<li><a href="/shipping.html#local-pickup">Local Curbside Pickup</a></li>
<li><a href="/shipping.html">Shipping Tips</a></li>
<li><a href="/return-policy">Return Policy</a></li>
</ul>
</div>
<div>
<h4 class="font-medium text-yellow-gfpv pb-4">Shop Top Categories</h4>
<ul class="link-list text-white text-sm">
<li><a href="/fpv-quad-kits.html">Drone Bundles</a></li>
<li><a href="/fpv.html">FPV Equipment</a></li>
<li><a href="/multi-rotor-frames.html">Drone Frames</a></li>
<li><a href="/electronics.html">Electronics</a></li>
<li><a href="/motors.html">Motors</a></li>
<li><a href="/batteries.html">Batteries / Chargers</a></li>
<li><a href="/radios.html">Radios</a></li>
<li><a href="/propellers.html">Propellers</a></li>
</ul>
</div>
<div>
<h4 class="font-medium text-yellow-gfpv pb-4">More GetFPV</h4>
<ul class="link-list text-white text-sm">
<li><a href="/learn">GetFPV Learn</a></li>
<li><a href="/drone-benefits">GetFPV Benefits</a></li>
<li><a href="/distribution.html">GetFPV Distribution</a></li>
<li><a href="https://www.fpvcrate.com/">FPV Crate</a></li>
<li><a href="/on-sale/clearance.html">FPV Clearance</a></li>
<li><a href="/jobs">Career Opportunities</a></li>
</ul>
</div>
<div >
<h4 class="font-medium text-yellow-gfpv pb-4">Connect</h4>
<ul class="link-list text-white text-sm">
<li><a href="/newsletter">Newsletter Sign-Up</a></li>
<li><a href="/newsletter">Text Message Sign-Up</a></li>
<li><a href="https://www.facebook.com/getfpv" target="_blank">Facebook</a></li>
<li><a href="https://twitter.com/getfpv" target="_blank">Twitter</a></li>
<li><a href="https://www.youtube.com/getfpv" target="_blank">YouTube</a></li>
<li><a href="https://www.instagram.com/get_fpv/" target="_blank">Instagram</a></li>
<li><a href="http://www.auvsi.org/who-auvsi" target="_blank">AUVSI</a></li>
<li><a href="https://www.getfpv.com/drone-racing.html" target="_blank">Clubs, TSA, STEMS</a></li>
</ul>
</div>
</div>
</div>
<div class="border-t border-gray-450 py-9">
<div class="container flex flex-col lg:flex-row gap-4 justify-between content-center items-center ">
<a href="/">
<svg xmlns="http://www.w3.org/2000/svg" id="a2d4bd7e-662d-4e32-979d-e02498bfe581" data-name="Layer 1" viewBox="0 0 454.8 186.6" width="175" height="200" role="img"><path d="M184,183.2c-17.2,0-30.7-12.8-30.7-29.1a31.14,31.14,0,0,1,2.4-12.4,26.13,26.13,0,0,1-9.5-6.6,51.87,51.87,0,0,1-29.5,9.4c-8.8,0-16.7-2.8-22.7-8a88.64,88.64,0,0,1-9.2,4.7l-1.3,5.9c-6.6,31.4-27.9,36.1-40,36.1-17.5,0-29.7-11.3-29.7-27.4a29,29,0,0,1,3.9-15C8,134.4,3.5,122.7,3.5,111.6c0-34.5,15.7-69.3,50.7-69.3a25.14,25.14,0,0,1,8.2,1.3,12.43,12.43,0,0,1,5.8-1.4H90.5a12.33,12.33,0,0,1,9.6,4.6,14,14,0,0,1,2.4,4.7,40.48,40.48,0,0,1,27.9-10.7c8.3,0,14.8,1.8,19.6,4.7a13.56,13.56,0,0,1,3.4-2.3l2.8-12.8a12.34,12.34,0,0,1,10.4-9.6l22.9-3.1a9.7,9.7,0,0,1,1.7-.1,12.36,12.36,0,0,1,9.1,4,12.93,12.93,0,0,1,2.9,5.4C210,12,222.7,3.5,239.3,3.5c17.2,0,30.7,12.8,30.7,29.1a54.38,54.38,0,0,1-.6,8.4c-.1.4-.1.7-.2,1.1h2a11.41,11.41,0,0,1,4.1.7,31.53,31.53,0,0,1,6.1-.6c12.6,0,20.9,3.3,26.4,8.3a12.38,12.38,0,0,1,11.7-8.4h22.3a13.16,13.16,0,0,1,5.6,1.3,21.24,21.24,0,0,1,13-4.4c11.1,0,22.3,8.1,22.3,26.3,0,32.8-17.4,79-55.9,79-12.6,0-22.1-4.7-27.3-12.9-9,9.9-19.9,12.7-29.3,12.7a34.77,34.77,0,0,1-5.5-.4l-5.1,24a12.55,12.55,0,0,1-9.2,9.5L227,182.8a13.58,13.58,0,0,1-2.9.3,12.1,12.1,0,0,1-8.6-3.5,12,12,0,0,1-3.7-7.8C202.9,181.3,191.6,183.2,184,183.2Z" transform="translate(0 -0.1)" style="fill:#fff"/><path d="M378.3,42.9a24.46,24.46,0,0,0-17.8-7.4,24.72,24.72,0,0,0-13.4,4,15.38,15.38,0,0,0-5.2-.9H319.6a15.78,15.78,0,0,0-12.9,6.6c-6.4-4.3-14.9-6.4-25.3-6.4a37.85,37.85,0,0,0-5.8.5,18.92,18.92,0,0,0-2.3-.5,57.93,57.93,0,0,0,.3-6.1c0-18.3-15-32.6-34.2-32.6C223.8.1,211.2,7,203.2,19.7l-.3-.3a15.82,15.82,0,0,0-11.7-5.1,14.77,14.77,0,0,0-2.1.1l-23,3.1a16,16,0,0,0-13.4,12.4L150.3,41c-.2.1-.4.3-.6.4a42.61,42.61,0,0,0-19.3-4.1,43.55,43.55,0,0,0-26.5,8.6,6.42,6.42,0,0,0-1-1.3,15.9,15.9,0,0,0-12.4-5.9H68.2a16.17,16.17,0,0,0-6.1,1.2,30,30,0,0,0-7.9-1c-17.4,0-31.7,8.1-41.4,23.3C4.5,75,0,92.6,0,111.6,0,124,4.9,135,13.2,141.8a32.21,32.21,0,0,0-2.9,14c0,18.2,13.7,30.9,33.3,30.9,13.2,0,36.4-5.1,43.5-39l.9-4.1a62.68,62.68,0,0,0,5.8-2.9,38.14,38.14,0,0,0,23,7.2,54.25,54.25,0,0,0,29-8.4,30.41,30.41,0,0,0,5.5,3.9,36.7,36.7,0,0,0-1.5,10.6c0,18.3,15,32.6,34.2,32.6a42.15,42.15,0,0,0,26.1-8.5,16.76,16.76,0,0,0,3,4,15.83,15.83,0,0,0,11.1,4.5,15.53,15.53,0,0,0,3.7-.4l23.4-5.6a16.1,16.1,0,0,0,11.9-12.2l4.4-20.8a24.37,24.37,0,0,0,2.7.1c11.3,0,21.1-3.6,29-10.9,6.2,7.1,15.8,11,27.6,11,41,0,59.5-48.3,59.5-82.6C386.3,56.1,383.5,48.3,378.3,42.9Zm-51.5,98c-11.1,0-19.7-4-24.3-11.2l-2.5-3.9-3.1,3.4c-7,7.7-16,11.6-26.7,11.6a27,27,0,0,1-4.9-.4l-3.3-.5-5.8,27.3a8.71,8.71,0,0,1-6.6,6.7l-23.4,5.6a6.8,6.8,0,0,1-2,.2,9,9,0,0,1-6.2-2.5,8.63,8.63,0,0,1-2.6-5.6l-.6-7.9-5.5,5.8c-8,8.5-18.2,10.2-25.3,10.2-15.2,0-27.1-11.2-27.1-25.6A28.16,28.16,0,0,1,159,143l1.4-3.3-3.3-1.4a23.2,23.2,0,0,1-8.2-5.7l-2.1-2.3-2.5,1.7a48.51,48.51,0,0,1-27.5,8.8,31.43,31.43,0,0,1-20.4-7.1l-1.9-1.6-2.2,1.3a65.57,65.57,0,0,1-8.8,4.4l-1.7.7-1.6,7.7c-5.8,27.5-23.1,33.3-36.5,33.3-15.7,0-26.2-9.6-26.2-23.9A24.37,24.37,0,0,1,21,142.4l1.7-2.9-2.8-1.9c-7.8-5.1-12.6-15.2-12.6-26.2,0-32.7,14.6-65.7,47.1-65.7a24.47,24.47,0,0,1,7.1,1.1l1.4.5,1.3-.7a8.57,8.57,0,0,1,4.1-1H90.6a8.48,8.48,0,0,1,6.8,3.3,8.39,8.39,0,0,1,1.7,3.4l1.4,5.7,4.4-3.9a37,37,0,0,1,25.5-9.8c7.2,0,13.1,1.4,17.8,4.2l2.3,1.4,2-1.8a7.76,7.76,0,0,1,2.4-1.6l1.6-.7,3.1-14.5a9,9,0,0,1,7.4-6.9l22.9-3.1a8.82,8.82,0,0,1,7.7,2.8,9.5,9.5,0,0,1,2.1,3.8l2.4,9.9,4.2-9.3c6.4-14,17.8-21.4,33-21.4s27.1,11.2,27.1,25.6a46.65,46.65,0,0,1-.6,7.8,2.35,2.35,0,0,1-.2.8l-1.1,4.4h6.6a10.47,10.47,0,0,1,3,.5l.9.3.9-.2a34.08,34.08,0,0,1,5.5-.5c10.6,0,18.7,2.5,24.1,7.3l4,3.6,1.7-5.1a8.8,8.8,0,0,1,8.3-6h22.3a7.92,7.92,0,0,1,4,1l2,1,1.8-1.3a18.15,18.15,0,0,1,10.9-3.7c13.8,0,18.7,12.3,18.7,22.8,0,17.4-4.9,36.1-13,50C359.4,127,347,140.9,326.8,140.9Z" transform="translate(0 -0.1)"/><path d="M240.8,60.9l1.1-6.2H230.6l2.6-12.2c2.2-10.3,7.4-12.7,10.8-12.7,3.1,0,5.9,1.7,5.9,5.2,0,1.4-.2,2.6-.3,4.2h7.3a38.31,38.31,0,0,0,.5-6.3c0-10-8.8-16.7-18.2-16.7-10.2,0-23.4,4.2-28.1,26.2l-14,66.2c-5.1,4.4-10.6,9.1-15.1,9.1-6.2,0-7.7-2.3-7.7-5.9,0-.8-.2-2.3,10.5-51.1h9.3l1.2-6.2H186c2.9-13.9,5.2-24.4,5.2-24.4l-22.8,3.1-4.6,21.3h-5.1l-1.2,6.2h5.1c-1.8,8.9-5.9,26.4-8.5,39.5h-.3c-5.4,11.4-18.4,20.4-25.9,20.4-6,0-12.6-3.1-12.6-13.3a55.73,55.73,0,0,1,.5-6.6c14.7-1.8,34.9-12.6,34.9-31.5,0-10.8-7.1-16-19.7-16-28.1,0-36.4,34.4-36.4,54a10.87,10.87,0,0,0,.1,1.8c-4.9,6.1-11.1,10.4-17.8,13.9L91,54.7H68.8l-1.7,7.4a13.5,13.5,0,0,0-12.2-7.2c-29.9,0-38.1,35.3-38.1,56.6,0,9.1,4.3,21.6,19.1,21.6,7.1,0,13.1-3.2,17.7-7.4l-1.5,6.9C38.3,137.7,27,142.8,27,155.4c0,10,7.9,15,17.3,15,10.2,0,23.1-4.2,27.8-26.2l2.6-12.3c9-3.3,17.3-7.3,21.8-13.3,3.3,7.8,10.3,13.3,20.6,13.3,14.4,0,26.1-8.2,34.8-18.7a12.13,12.13,0,0,0-.1,1.8c0,11.6,7.2,16.8,19.1,16.8,7.3,0,16.6-7.6,24.4-15.1l-2.9,13.9c-14.7,4.5-26.5,8.9-26.5,23.1,0,10,8.8,16.7,18.2,16.7,10,0,22.8-4.2,27.6-26.2l17.7-83.3Zm-105,.6c4.6,0,5.4,5.4,5.4,8.6-.2,11-10.2,23.1-24.4,23.3C120,78.9,127.1,61.5,135.8,61.5ZM49.7,144.6c-1.9,9.1-5.9,13.7-8.9,13.7a5.19,5.19,0,0,1-5.2-5.1c0-6,6.3-9.9,15.1-13.3Zm6.6-31.7c-2.9,3.1-6.2,5.4-9.3,5.4-6.8,0-11.3-2.3-11.3-9.7,0-13.3,5.9-45,20.8-45,2.6,0,6.3,2,8.8,6.6Zm133,31.7c-2,9.1-5.6,12-8.8,12-3.4,0-6.2-2.9-6.2-5.1,0-8.3,7.3-12.7,17-15.9Z" transform="translate(0 -0.1)"/><path d="M359.6,51.6c-5.1,0-8.8,4.3-8.8,7.6,0,4.3,2,8.6,6.5,8.6a12,12,0,0,0,3.2-.6c0,16.8-10.3,50.6-25.4,50.6-4.5,0-5.9-2-5.9-4.9a25.88,25.88,0,0,1,.8-5.7l11.1-52.4H318.9l-11.1,52.4a39.12,39.12,0,0,0-.8,7.9c0,11.6,7.3,16.8,19.1,16.8,31.2,0,43.3-42.3,43.3-66.3C369.4,57.5,366.2,51.6,359.6,51.6Z" transform="translate(0 -0.1)"/><path d="M280.9,54.9a23.12,23.12,0,0,0-10.8,2.8l.6-2.9H248.5L224,170.4l23.3-5.6,8-37.8a27,27,0,0,0,14.5,4.6c15.7,0,29-11.3,33.8-44.4a73.51,73.51,0,0,0,.9-10.8C304.5,60.6,296.9,54.9,280.9,54.9Zm2.9,34.2c-5.1,24.5-8.8,31.2-16.5,31.2-2.5,0-6.3,0-10-2.8l11.1-51.8a15.86,15.86,0,0,1,8.8-3.2c4.9,0,8.6,1.9,8.6,11.1A81.2,81.2,0,0,1,283.8,89.1Z" transform="translate(0 -0.1)"/><path d="M372.3,127.3a4.05,4.05,0,0,0,0,8.1,4.1,4.1,0,0,0,4.1-4A4.18,4.18,0,0,0,372.3,127.3Z" transform="translate(0 -0.1)" style="fill:#fff"/><path d="M453.5,130.7c-1.5,0-1.9-.7-1.9-1.6,0-1.1,2.2-10,2.4-11.7,0-.4.1-.8.1-1.2,0-3.5-3-6.4-5.8-6.4-2.5,0-5.1,1.5-7.4,3.2a6.15,6.15,0,0,0-5-3.2c-2.2,0-4.5,1.2-6.5,2.7l.6-2.7h-7.3l-1.4,6.7a4.53,4.53,0,0,1-2.4.7,2.07,2.07,0,0,1-1.5-.5c-.1-3.7-1.3-7.5-6.1-7.5-7,0-13.3,5.3-13.3,17.7-2.2,2.2-4.8,3.9-8,3.9s-3.7-2.4-3.7-5.4c0-5.5,2.7-13.7,7-13.7,1.1,0,1.9.5,1.9,1.7a3.93,3.93,0,0,1-.3,1.4,6.13,6.13,0,0,1,1.6-.3,3.55,3.55,0,0,1,1.3.3,5.55,5.55,0,0,0,.3-1.7c0-2.8-2.8-3.5-5.6-3.5-9.8,0-13,9.8-13,17.2,0,6,2.7,8.3,7,8.3,6.3,0,9.5-3.1,11.7-5.9.5,4.5,2.9,6.2,7.6,6.2,5.1,0,10.6-5,11.6-15.2a13.7,13.7,0,0,0,3.5-1.5l-3.5,16.4h7.3l4.4-20.5a5.1,5.1,0,0,1,3.1-1.1c1.4,0,2.3,1.2,2.3,3a5.85,5.85,0,0,1-.2,1.3L430.6,135H438l3.8-17.8c0-.4.1-.7.1-1.1a5.66,5.66,0,0,0-.3-1.8,4.68,4.68,0,0,1,2.8-.9c1.4,0,2.3,1.2,2.3,3a5.85,5.85,0,0,1-.2,1.3l-1.9,9.1a13,13,0,0,0-.3,2.6c0,3.8,1.9,5.5,5.2,5.5,1.7,0,3.9-.3,5.3-4.7A1.55,1.55,0,0,1,453.5,130.7Zm-40-9.9c-.6,4.9-2.3,9.8-5.4,9.8-2,0-3.4-.8-3.4-3.9,0-4.1,2-14.4,6.8-14.4,1.4,0,2,1,2.1,2.6a3.78,3.78,0,0,0-2.2,3.6A2,2,0,0,0,413.5,120.8Z" transform="translate(0 -0.1)" style="fill:#fff"/><title>getfpv-logo</title></svg>
</a>
<ul class="text-white text-sm">
<li class="relative pl-7 my-2">
<svg class="absolute left-0 fill-current text-white w-4 top-1/2 transform -translate-y-1/2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 217.1 293.91"><path d="M426.69,150.68c2.92.37,5.86.65,8.77,1.12,42.35,6.94,71.62,30.35,87.25,70.26,8.77,22.42,8.81,45.29,1.44,68.26a145.47,145.47,0,0,1-17.22,35.46q-36.15,55-72.55,109.83a24.71,24.71,0,0,1-6.92,7.08c-5.45,3.48-12.46,2-16.87-2.94a39.51,39.51,0,0,1-3.28-4.34Q371.12,380.6,335,325.79c-10.44-15.82-17.86-32.88-21.17-51.6-2.87-16.26-1.19-32.24,3.78-47.85a108.88,108.88,0,0,1,88.29-74.49c3.11-.44,6.23-.78,9.35-1.17Zm-5.76,281.76c1.16-1.56,2.06-2.64,2.83-3.81q19.68-29.79,39.32-59.61c13.08-20,26.32-39.9,38.94-60.18a97.08,97.08,0,0,0,14.23-42.91,87.94,87.94,0,0,0-16.12-60.24c-22.61-31.82-53.76-45.64-92.66-41.12-15.47,1.8-29.5,7.74-42.14,16.84A94.46,94.46,0,0,0,330,229.58c-4.2,12.76-5.87,25.88-4,39.31,2.53,18.35,9.83,34.85,19.91,50.19Q381.92,374,418.19,428.72C418.92,429.83,419.76,430.85,420.93,432.44Z" transform="translate(-312.39 -150.68)"/><path d="M420.81,316.68a57.44,57.44,0,0,1-57.3-57.61c.12-31.68,26.15-57.51,57.71-57.27a57.44,57.44,0,0,1-.41,114.88Zm-.55-102.12c-25.12.81-44.83,21.31-44,45.75a44.77,44.77,0,0,0,46.38,43.61c24.1-.77,43.73-21.55,43-45.55C464.92,233.68,444.31,213.77,420.26,214.56Z" transform="translate(-312.39 -150.68)"/></svg>
<a href="https://goo.gl/maps/9dtmW6L7s6tp8MXE6" target="_blank">
1060 Goodrich Ave.<br/>
Sarasota, FL 34236
</a>
</li>
<li class="relative pl-7 my-2">
<svg class="absolute left-0 fill-current text-white w-4 top-1/2 transform -translate-y-1/2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384.24 385.72"><path d="M516.49,490.23c-12.59-.84-25.17-3.84-37-7.55a274.52,274.52,0,0,1-38.89-15.95c-31.23-15.33-60.26-34.11-86.3-57.16-52.16-46.19-93.44-100.15-116.65-166.64-5.73-16.44-9.17-33.32-8.77-50.85.38-16.87,5.86-31.7,17.79-43.82,10.56-10.72,20.8-21.84,32.13-31.71,18.33-16,37.21-15.78,54.79.84,17.77,16.79,34.92,34.28,51.65,52.11,13.74,14.62,13.65,34.49.24,49.37-9.39,10.42-19.59,20.12-29.59,30-2,1.95-2.16,3.31-1,5.75,9.95,20.87,24.4,38.48,40,55.21,15.89,17,33.37,32.25,53.05,44.8,5.17,3.29,10.76,5.91,16,9,2.1,1.25,3.38,1,5.09-.73,8.33-8.51,16.79-16.92,25.25-25.31,6.6-6.55,14-11.84,23.43-13.4,12.76-2.11,23.58,2,32.58,10.88,16.37,16.09,32.58,32.36,48.77,48.63,17.41,17.51,18.82,37.34,2.72,55.89C590.66,452.45,578.33,464.33,566,476c-8.79,8.31-19.9,12.38-31.92,13.82A95.09,95.09,0,0,1,516.49,490.23Zm7.39-19.11c11.62.23,22.35-2.69,30.78-10.83q16.9-16.34,32.83-33.66c8.09-8.78,7.94-18.23-.44-26.83-16.8-17.25-33.89-34.23-51.09-51.09-6.92-6.79-15.85-6.85-23.56-.88a55.27,55.27,0,0,0-5,4.56c-9.34,9.29-18.61,18.65-28,27.9-6.09,6-12.66,7.07-20.26,3.22-5.47-2.78-10.94-5.59-16.2-8.74-24.84-14.9-46.39-33.77-65.82-55.12-16.43-18.07-31.35-37.19-41.39-59.7-4.47-10-3.4-15.6,4.51-23.22,9.21-8.89,18.4-17.79,27.36-26.92,10.64-10.84,10.54-19.64.07-30.65l-.26-.27c-15.53-15.53-31-31.1-46.63-46.52a30,30,0,0,0-8.47-6.09c-8.78-4-15.85,0-22,6-9.5,9.3-19.11,18.52-28.11,28.3a56.61,56.61,0,0,0-10.49,15.8c-5.28,12.47-3.91,25.63-1.3,38.5,5.07,25,15,48.28,27.36,70.48a406.26,406.26,0,0,0,82.92,103.93c33.3,30.15,70.66,53.95,112.45,70.6C489.42,466.34,506.26,470.58,523.88,471.12Z" transform="translate(-228.83 -104.74)"/></svg>
<a href="tel:19414440021">+1 (941) 444-0021</a>
</li>
<li class="relative pl-7 my-2">
<svg class="absolute left-0 fill-current text-white w-4 top-1/2 transform -translate-y-1/2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 409.6 311.44"><path d="M216.15,421.41V173.87c1.18-3.78,1.89-7.8,3.65-11.29,7.17-14.29,19.18-20.66,35-20.66q166.16,0,332.31,0c.67,0,1.33,0,2,0,12.18.31,22.59,4.7,29.41,14.92a47.48,47.48,0,0,1,7.24,17V421.41c-.33,4.31-1.91,7.8-3.66,11.3-7.17,14.3-19.2,20.65-35,20.65q-166.16,0-332.31,0c-.67,0-1.33,0-2,0-12.18-.31-22.59-4.7-29.41-14.92C220,433.38,216.79,428.65,216.15,421.41ZM421,328,583.18,166.16H257.5ZM258.23,429.07H582.77L468.83,315.35c-11.9,11.93-24.21,24.28-36.54,36.61-7.53,7.52-13.58,7.48-21.23-.09L375.86,317c-1-1-2-1.91-2.77-2.59Zm-18-18.31L354.94,296.33,240.28,182.85ZM488,297.57,601.52,410.89V184.25Z" transform="translate(-216.15 -141.92)"/></svg>
<a href="/cdn-cgi/l/email-protection#72010702021d0006321517061402045c111d1f"><span class="__cf_email__" data-cfemail="2b585e5b5b44595f6b4c4e5f4d5b5d05484446">[email protected]</span></a>
</li>
</ul>
<ul class="grid grid-cols-3 lg:grid-cols-6 w-40 lg:w-full gap-2 lg:max-w-sm h-1/4">
<li class="bg-white flex content-center justify-center rounded">
<!-- Visa -->
<svg viewBox="0 0 780 500" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m293.2 348.73l33.359-195.76h53.358l-33.384 195.76h-53.333zm246.11-191.54c-10.569-3.966-27.135-8.222-47.821-8.222-52.726 0-89.863 26.551-90.181 64.604-0.297 28.129 26.515 43.822 46.754 53.185 20.771 9.598 27.752 15.716 27.652 24.283-0.133 13.123-16.586 19.115-31.924 19.115-21.355 0-32.701-2.967-50.225-10.273l-6.878-3.111-7.487 43.822c12.463 5.467 35.508 10.199 59.438 10.445 56.09 0 92.502-26.248 92.916-66.885 0.199-22.27-14.016-39.215-44.801-53.188-18.65-9.056-30.072-15.099-29.951-24.269 0-8.137 9.668-16.838 30.56-16.838 17.446-0.271 30.088 3.534 39.936 7.5l4.781 2.259 7.231-42.427m137.31-4.223h-41.23c-12.772 0-22.332 3.486-27.94 16.234l-79.245 179.4h56.031s9.159-24.121 11.231-29.418c6.123 0 60.555 0.084 68.336 0.084 1.596 6.854 6.492 29.334 6.492 29.334h49.512l-43.187-195.64zm-65.417 126.41c4.414-11.279 21.26-54.724 21.26-54.724-0.314 0.521 4.381-11.334 7.074-18.684l3.606 16.878s10.217 46.729 12.353 56.527h-44.293v3e-3zm-363.3-126.41l-52.239 133.5-5.565-27.129c-9.726-31.274-40.025-65.157-73.898-82.12l47.767 171.2 56.455-0.063 84.004-195.39-56.524-1e-3" fill="#0E4595"/><path d="m146.92 152.96h-86.041l-0.682 4.073c66.939 16.204 111.23 55.363 129.62 102.42l-18.709-89.96c-3.229-12.396-12.597-16.096-24.186-16.528" fill="#F2AE14"/></svg>
</li>
<li class="bg-white flex content-center justify-center rounded">
<!-- Paypal -->
<svg viewBox="0 0 780 500" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m168.38 169.35c-8.399-5.774-19.359-8.668-32.88-8.668h-52.346c-4.145 0-6.435 2.073-6.87 6.215l-21.264 133.48c-0.221 1.311 0.107 2.51 0.981 3.6 0.869 1.092 1.962 1.635 3.271 1.635h24.864c4.361 0 6.758-2.068 7.198-6.215l5.888-35.986c0.215-1.744 0.982-3.162 2.291-4.254 1.308-1.09 2.944-1.803 4.907-2.129 1.963-0.324 3.814-0.488 5.562-0.488 1.743 0 3.814 0.111 6.217 0.328 2.397 0.217 3.925 0.324 4.58 0.324 18.756 0 33.478-5.285 44.167-15.867 10.684-10.576 16.032-25.242 16.032-44.004 0-12.868-4.203-22.191-12.598-27.974zm-26.989 40.08c-1.094 7.635-3.926 12.649-8.506 15.049-4.581 2.403-11.124 3.599-19.629 3.599l-10.797 0.326 5.563-35.007c0.434-2.397 1.851-3.597 4.252-3.597h6.218c8.72 0 15.049 1.257 18.975 3.761 3.924 2.51 5.233 7.801 3.924 15.869z" fill="#003087"/><path d="m720.79 160.68h-24.207c-2.406 0-3.822 1.2-4.254 3.601l-21.266 136.1-0.328 0.654c0 1.096 0.436 2.127 1.311 3.109 0.867 0.98 1.963 1.471 3.27 1.471h21.596c4.137 0 6.428-2.068 6.871-6.215l21.264-133.81v-0.325c-1e-3 -3.055-1.423-4.581-4.257-4.581z" fill="#009CDE"/><path d="m428.31 213.36c0-1.088-0.438-2.126-1.305-3.105-0.875-0.981-1.857-1.475-2.945-1.475h-25.191c-2.404 0-4.367 1.096-5.891 3.271l-34.678 51.039-14.395-49.074c-1.096-3.487-3.492-5.236-7.197-5.236h-24.541c-1.093 0-2.074 0.492-2.941 1.475-0.875 0.979-1.309 2.019-1.309 3.105 0 0.439 2.127 6.871 6.379 19.303 4.252 12.436 8.832 25.85 13.74 40.246 4.908 14.393 7.469 22.031 7.688 22.896-17.886 24.432-26.825 37.518-26.825 39.26 0 2.838 1.415 4.254 4.253 4.254h25.191c2.398 0 4.36-1.088 5.89-3.27l83.427-120.4c0.433-0.432 0.65-1.192 0.65-2.29z" fill="#003087"/><path d="m662.89 208.78h-24.865c-3.057 0-4.904 3.6-5.559 10.799-5.678-8.722-16.031-13.089-31.084-13.089-15.703 0-29.064 5.89-40.076 17.668-11.016 11.778-16.521 25.632-16.521 41.552 0 12.871 3.762 23.121 11.285 30.752 7.525 7.639 17.611 11.451 30.266 11.451 6.324 0 12.758-1.311 19.301-3.926 6.543-2.617 11.664-6.105 15.379-10.469 0 0.219-0.223 1.197-0.654 2.941-0.441 1.748-0.656 3.061-0.656 3.926 0 3.494 1.414 5.234 4.254 5.234h22.576c4.139 0 6.541-2.068 7.193-6.215l13.416-85.39c0.215-1.31-0.111-2.507-0.982-3.599-0.877-1.088-1.965-1.635-3.273-1.635zm-42.694 64.454c-5.562 5.453-12.27 8.178-20.121 8.178-6.328 0-11.449-1.742-15.377-5.234-3.928-3.482-5.891-8.281-5.891-14.395 0-8.064 2.727-14.886 8.182-20.447 5.445-5.562 12.213-8.342 20.283-8.342 6.102 0 11.174 1.799 15.213 5.396 4.031 3.6 6.055 8.562 6.055 14.889-2e-3 7.851-2.783 14.505-8.344 19.955z" fill="#009CDE"/><path d="m291.23 208.78h-24.865c-3.058 0-4.908 3.6-5.563 10.799-5.889-8.722-16.25-13.089-31.081-13.089-15.704 0-29.065 5.89-40.078 17.668-11.016 11.778-16.521 25.632-16.521 41.552 0 12.871 3.763 23.121 11.288 30.752 7.525 7.639 17.61 11.451 30.262 11.451 6.104 0 12.433-1.311 18.975-3.926 6.543-2.617 11.778-6.105 15.704-10.469-0.875 2.615-1.309 4.906-1.309 6.867 0 3.494 1.417 5.234 4.253 5.234h22.574c4.141 0 6.543-2.068 7.198-6.215l13.413-85.39c0.215-1.31-0.111-2.507-0.981-3.599-0.873-1.088-1.962-1.635-3.269-1.635zm-42.695 64.616c-5.563 5.35-12.382 8.016-20.447 8.016-6.329 0-11.4-1.742-15.214-5.234-3.819-3.482-5.726-8.281-5.726-14.395 0-8.064 2.725-14.886 8.18-20.447 5.449-5.562 12.211-8.343 20.284-8.343 6.104 0 11.175 1.8 15.214 5.397 4.032 3.6 6.052 8.562 6.052 14.889-1e-3 8.07-2.781 14.779-8.343 20.117z" fill="#003087"/><path d="m540.04 169.35c-8.398-5.774-19.355-8.668-32.879-8.668h-52.02c-4.363 0-6.764 2.073-7.197 6.215l-21.266 133.48c-0.221 1.311 0.107 2.51 0.982 3.6 0.865 1.092 1.961 1.635 3.27 1.635h26.826c2.617 0 4.361-1.416 5.236-4.252l5.889-37.949c0.217-1.744 0.98-3.162 2.291-4.254 1.309-1.09 2.943-1.803 4.908-2.129 1.961-0.324 3.812-0.488 5.561-0.488 1.744 0 3.814 0.111 6.215 0.328 2.398 0.217 3.93 0.324 4.58 0.324 18.76 0 33.479-5.285 44.168-15.867 10.688-10.576 16.031-25.242 16.031-44.004 1e-3 -12.868-4.2-22.192-12.595-27.974zm-33.533 53.819c-4.799 3.271-11.998 4.906-21.592 4.906l-10.471 0.328 5.562-35.008c0.432-2.396 1.85-3.598 4.252-3.598h5.887c4.799 0 8.615 0.219 11.455 0.654 2.83 0.438 5.561 1.799 8.178 4.088 2.619 2.291 3.926 5.619 3.926 9.979 0 9.164-2.402 15.377-7.197 18.651z" fill="#009CDE"/></svg>
</li>
<li class="bg-white flex content-center justify-center rounded">
<!-- Discover -->
<svg viewBox="0 0 780 500" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m409.41 197.26c30.938 0 56.02 23.58 56.02 52.709v0.033c0 29.129-25.082 52.742-56.02 52.742-30.941 0-56.022-23.613-56.022-52.742v-0.033c0-29.129 25.081-52.709 56.022-52.709z" fill="#F47216"/><path d="m321.43 197.94c8.836 0 16.247 1.785 25.27 6.09v22.753c-8.544-7.863-15.955-11.154-25.757-11.154-19.265 0-34.413 15.015-34.413 34.051 0 20.074 14.681 34.195 35.368 34.195 9.312 0 16.586-3.12 24.802-10.856v22.764c-9.343 4.142-16.912 5.775-25.757 5.775-31.277 0-55.581-22.597-55.581-51.736-2e-3 -28.83 24.949-51.882 56.068-51.882zm-97.113 0.626c11.546 0 22.109 3.721 30.942 10.994l-10.748 13.248c-5.351-5.646-10.411-8.027-16.563-8.027-8.854 0-15.301 4.744-15.301 10.988 0 5.354 3.618 8.188 15.944 12.481 23.364 8.043 30.289 15.176 30.289 30.926 0 19.193-14.976 32.554-36.319 32.554-15.631 0-26.993-5.795-36.457-18.871l13.268-12.03c4.73 8.608 12.622 13.223 22.42 13.223 9.163 0 15.947-5.95 15.947-13.983 0-4.164-2.056-7.733-6.158-10.258-2.066-1.195-6.158-2.978-14.199-5.646-19.292-6.538-25.91-13.527-25.91-27.186-1e-3 -16.227 14.213-28.413 32.845-28.413zm234.72 1.729h22.436l28.084 66.592 28.447-66.592h22.267l-45.493 101.69h-11.054l-44.687-101.69zm-301.21 0.152h20.541v99.143h-20.541v-99.143zm411.73 0h58.253v16.799h-37.726v22.006h36.336v16.791h-36.336v26.762h37.726v16.785h-58.253v-99.143zm115.59 57.377c15.471-2.965 23.983-12.926 23.983-28.105 0-18.562-13.575-29.271-37.266-29.271h-30.454v99.144h20.516v-39.83h2.681l28.43 39.828h25.26l-33.15-41.766zm-17.218-11.736h-6.002v-30.025h6.326c12.791 0 19.744 5.049 19.744 14.697 2e-3 9.967-6.951 15.328-20.068 15.328zm-576.09-45.641h-30.149v99.143h29.992c15.946 0 27.465-3.543 37.573-11.445 12.014-9.359 19.117-23.467 19.117-38.057 1e-3 -29.259-23.221-49.641-56.533-49.641zm23.997 74.479c-6.454 5.484-14.837 7.879-28.108 7.879h-5.514v-65.559h5.513c13.271 0 21.323 2.238 28.108 8.018 7.104 5.956 11.377 15.184 11.377 24.682 1e-3 9.513-4.273 19.024-11.376 24.98z"/></svg>
</li>
<li class="bg-white flex content-center justify-center rounded">
<!-- Master -->
<svg viewBox="0 0 780 500" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m449.01 250c0 99.143-80.371 179.5-179.51 179.5s-179.5-80.361-179.5-179.5c0-99.133 80.362-179.5 179.5-179.5 99.137 0 179.51 80.371 179.51 179.5" fill="#D9222A"/><path d="m510.49 70.496c-46.379 0-88.643 17.596-120.5 46.467-6.49 5.889-12.548 12.237-18.125 18.996h36.267c4.965 6.037 9.536 12.387 13.685 19.012h-63.635c-3.827 6.122-7.281 12.469-10.342 19.008h84.313c2.894 6.185 5.431 12.53 7.601 19.004h-99.513c-2.09 6.234-3.832 12.58-5.217 19.008h109.94c2.689 12.49 4.045 25.231 4.042 38.008 0 19.935-3.254 39.112-9.254 57.021h-99.513c2.164 6.477 4.7 12.824 7.596 19.008h84.316c-3.063 6.541-6.519 12.889-10.347 19.013h-63.625c4.147 6.62 8.719 12.966 13.685 18.996h36.259c-5.57 6.772-11.63 13.127-18.13 19.013 31.857 28.866 74.117 46.454 120.5 46.454 99.139 0 179.51-80.361 179.51-179.5 0-99.129-80.371-179.5-179.51-179.5" fill="#EE9F2D"/><path d="m666.07 350.06c0-3.199 2.592-5.801 5.796-5.801s5.796 2.602 5.796 5.801-2.592 5.801-5.796 5.801-5.796-2.602-5.796-5.801zm5.796 4.408c2.434-1e-3 4.407-1.974 4.408-4.408 0-2.432-1.971-4.402-4.402-4.404h-6e-3c-2.429-3e-3 -4.4 1.963-4.404 4.391v0.014c-2e-3 2.433 1.968 4.406 4.4 4.408 1e-3 -1e-3 3e-3 -1e-3 4e-3 -1e-3zm-0.783-1.86h-1.187v-5.096h2.149c0.45 0 0.908 0 1.305 0.254 0.413 0.279 0.646 0.771 0.646 1.279 0 0.571-0.338 1.104-0.884 1.312l0.938 2.25h-1.315l-0.779-2.017h-0.871l-2e-3 2.018zm0-2.89h0.658c0.246 0 0.505 0.021 0.726-0.1 0.195-0.125 0.296-0.359 0.296-0.584-5e-3 -0.209-0.112-0.402-0.288-0.518-0.207-0.129-0.536-0.101-0.758-0.101h-0.634v1.303zm-443.5-80.063c-2.046-0.238-2.945-0.301-4.35-0.301-11.046 0-16.638 3.787-16.638 11.268 0 4.611 2.729 7.545 6.987 7.545 7.939 0 13.659-7.559 14.001-18.512zm14.171 32.996h-16.146l0.371-7.676c-4.926 6.065-11.496 8.949-20.426 8.949-10.563 0-17.804-8.25-17.804-20.229 0-18.024 12.596-28.541 34.217-28.541 2.208 0 5.042 0.199 7.941 0.57 0.604-2.441 0.763-3.488 0.763-4.801 0-4.908-3.396-6.737-12.5-6.737-9.533-0.108-17.396 2.271-20.625 3.333 0.204-1.229 2.7-16.659 2.7-16.659 9.712-2.846 16.116-3.917 23.325-3.917 16.732 0 25.596 7.513 25.579 21.712 0.033 3.805-0.597 8.5-1.579 14.671-1.691 10.734-5.32 33.721-5.816 39.325zm-62.158 0h-19.487l11.162-69.997-24.925 69.997h-13.279l-1.642-69.597-11.733 69.597h-18.242l15.237-91.056h28.021l1.7 50.968 17.092-50.968h31.167l-15.071 91.056m354.97-32.996c-2.037-0.238-2.941-0.301-4.342-0.301-11.041 0-16.634 3.787-16.634 11.268 0 4.611 2.726 7.545 6.983 7.545 7.94 0 13.664-7.559 13.993-18.512zm14.184 32.996h-16.146l0.366-7.676c-4.926 6.065-11.5 8.949-20.422 8.949-10.565 0-17.8-8.25-17.8-20.229 0-18.024 12.588-28.541 34.213-28.541 2.208 0 5.037 0.199 7.934 0.57 0.604-2.441 0.763-3.488 0.763-4.801 0-4.908-3.392-6.737-12.496-6.737-9.533-0.108-17.387 2.271-20.629 3.333 0.204-1.229 2.709-16.659 2.709-16.659 9.712-2.846 16.112-3.917 23.313-3.917 16.74 0 25.604 7.513 25.587 21.712 0.032 3.805-0.597 8.5-1.579 14.671-1.684 10.734-5.321 33.721-5.813 39.325zm-220.39-1.125c-5.333 1.679-9.491 2.398-14 2.398-9.962 0-15.399-5.725-15.399-16.267-0.142-3.271 1.433-11.88 2.671-19.737 1.125-6.917 8.449-50.529 8.449-50.529h19.371l-2.263 11.208h11.699l-2.642 17.796h-11.742c-2.25 14.083-5.454 31.625-5.491 33.95 0 3.816 2.037 5.483 6.671 5.483 2.221 0 3.94-0.227 5.254-0.7l-2.578 16.398m59.392-0.6c-6.654 2.034-13.075 3.017-19.879 3-21.684-0.021-32.987-11.346-32.987-33.032 0-25.313 14.38-43.947 33.899-43.947 15.971 0 26.171 10.433 26.171 26.796 0 5.429-0.7 10.729-2.388 18.212h-38.574c-1.305 10.741 5.57 15.217 16.837 15.217 6.935 0 13.188-1.429 20.142-4.663l-3.221 18.417zm-10.888-43.9c0.107-1.543 2.055-13.217-9.013-13.217-6.171 0-10.583 4.704-12.38 13.217h21.393zm-123.42-5.017c0 9.367 4.542 15.826 14.842 20.676 7.892 3.709 9.112 4.81 9.112 8.17 0 4.617-3.479 6.701-11.191 6.701-5.813 0-11.221-0.908-17.458-2.922 0 0-2.563 16.321-2.68 17.102 4.43 0.967 8.38 1.861 20.279 2.19 20.563 0 30.059-7.829 30.059-24.75 0-10.175-3.976-16.146-13.737-20.634-8.171-3.75-9.108-4.587-9.108-8.045 0-4.004 3.237-6.046 9.537-6.046 3.825 0 9.05 0.408 14 1.112l2.775-17.175c-5.046-0.8-12.696-1.442-17.15-1.442-21.801 1e-3 -29.347 11.388-29.28 25.063m229.09-23.116c5.412 0 10.458 1.421 17.412 4.921l3.188-19.763c-2.854-1.121-12.904-7.7-21.417-7.7-13.041 0-24.065 6.471-31.82 17.15-11.309-3.746-15.958 3.825-21.657 11.367l-5.063 1.179c0.383-2.483 0.729-4.95 0.612-7.446h-17.896c-2.445 22.917-6.778 46.128-10.171 69.075l-0.884 4.976h19.496c3.254-21.143 5.037-34.68 6.121-43.842l7.341-4.084c1.097-4.078 4.529-5.458 11.417-5.291-0.926 5.008-1.389 10.091-1.383 15.184 0 24.225 13.07 39.308 34.05 39.308 5.404 0 10.041-0.712 17.221-2.658l3.43-20.759c-6.458 3.181-11.759 4.677-16.559 4.677-11.329 0-18.184-8.363-18.184-22.185 0-20.051 10.196-34.109 24.746-34.109"/><path d="m185.21 297.24h-19.491l11.171-69.988-24.926 69.988h-13.283l-1.642-69.588-11.733 69.588h-18.241l15.237-91.042h28.021l0.788 56.362 18.904-56.362h30.267l-15.072 91.042" fill="#fff"/><path d="m647.52 211.6l-4.321 26.309c-5.329-7.013-11.054-12.088-18.612-12.088-9.833 0-18.783 7.455-24.642 18.425-8.158-1.692-16.597-4.563-16.597-4.563l-4e-3 0.067c0.658-6.134 0.921-9.875 0.862-11.146h-17.9c-2.438 22.917-6.771 46.128-10.157 69.075l-0.893 4.976h19.492c2.633-17.096 4.648-31.291 6.133-42.551 6.658-6.016 9.992-11.266 16.721-10.916-2.979 7.205-4.725 15.503-4.725 24.017 0 18.513 9.366 30.725 23.533 30.725 7.142 0 12.621-2.462 17.967-8.171l-0.913 6.884h18.435l14.842-91.042-19.221-1e-3zm-24.371 73.941c-6.634 0-9.983-4.908-9.983-14.596 0-14.555 6.271-24.875 15.112-24.875 6.695 0 10.32 5.104 10.32 14.509 1e-3 14.679-6.37 24.962-15.449 24.962z"/><path d="m233.19 264.26c-2.042-0.236-2.946-0.299-4.346-0.299-11.046 0-16.634 3.787-16.634 11.266 0 4.604 2.729 7.547 6.979 7.547 7.947-1e-3 13.668-7.559 14.001-18.514zm14.178 32.984h-16.146l0.367-7.663c-4.921 6.054-11.5 8.95-20.421 8.95-10.567 0-17.805-8.25-17.805-20.229 0-18.032 12.592-28.542 34.217-28.542 2.208 0 5.042 0.2 7.938 0.571 0.604-2.441 0.763-3.487 0.763-4.808 0-4.909-3.392-6.729-12.496-6.729-9.537-0.108-17.396 2.271-20.629 3.321 0.204-1.225 2.7-16.637 2.7-16.637 9.708-2.858 16.12-3.929 23.32-3.929 16.737 0 25.604 7.517 25.588 21.704 0.029 3.821-0.604 8.513-1.584 14.675-1.687 10.724-5.319 33.724-5.812 39.316zm261.38-88.592l-3.191 19.767c-6.95-3.496-12-4.92-17.407-4.92-14.551 0-24.75 14.058-24.75 34.106 0 13.821 6.857 22.181 18.184 22.181 4.8 0 10.096-1.492 16.554-4.675l-3.421 20.75c-7.184 1.957-11.816 2.67-17.225 2.67-20.977 0-34.051-15.084-34.051-39.309 0-32.55 18.059-55.3 43.888-55.3 8.507 1e-3 18.561 3.609 21.419 4.73m31.443 55.608c-2.041-0.236-2.941-0.299-4.347-0.299-11.041 0-16.633 3.787-16.633 11.266 0 4.604 2.729 7.547 6.983 7.547 7.938-1e-3 13.663-7.559 13.997-18.514zm14.178 32.984h-16.15l0.371-7.663c-4.925 6.054-11.5 8.95-20.421 8.95-10.563 0-17.804-8.25-17.804-20.229 0-18.032 12.596-28.542 34.212-28.542 2.213 0 5.042 0.2 7.941 0.571 0.601-2.441 0.763-3.487 0.763-4.808 0-4.909-3.393-6.729-12.495-6.729-9.533-0.108-17.396 2.271-20.63 3.321 0.204-1.225 2.704-16.637 2.704-16.637 9.709-2.858 16.116-3.929 23.316-3.929 16.741 0 25.604 7.517 25.583 21.704 0.033 3.821-0.596 8.513-1.579 14.675-1.682 10.724-5.323 33.724-5.811 39.316zm-220.39-1.121c-5.338 1.679-9.496 2.408-14 2.408-9.962 0-15.399-5.726-15.399-16.268-0.138-3.279 1.438-11.88 2.675-19.736 1.12-6.926 8.445-50.534 8.445-50.534h19.368l-2.26 11.212h9.941l-2.646 17.788h-9.975c-2.25 14.092-5.463 31.62-5.496 33.95 0 3.83 2.041 5.482 6.671 5.482 2.221 0 3.938-0.216 5.254-0.691l-2.578 16.389m59.391-0.592c-6.65 2.033-13.079 3.012-19.879 3-21.685-0.021-32.987-11.346-32.987-33.033 0-25.321 14.379-43.95 33.899-43.95 15.971 0 26.171 10.429 26.171 26.8 0 5.434-0.7 10.733-2.384 18.212h-38.574c-1.306 10.741 5.569 15.222 16.837 15.222 6.93 0 13.188-1.435 20.138-4.677l-3.221 18.426zm-10.891-43.912c0.116-1.538 2.06-13.217-9.013-13.217-6.167 0-10.579 4.717-12.375 13.217h21.388zm-123.42-5.005c0 9.367 4.542 15.818 14.842 20.675 7.892 3.709 9.112 4.812 9.112 8.172 0 4.616-3.483 6.699-11.188 6.699-5.816 0-11.225-0.908-17.467-2.921 0 0-2.554 16.321-2.671 17.101 4.421 0.967 8.375 1.85 20.275 2.191 20.566 0 30.059-7.829 30.059-24.746 0-10.18-3.971-16.15-13.737-20.637-8.167-3.759-9.113-4.584-9.113-8.046 0-4 3.246-6.059 9.542-6.059 3.821 0 9.046 0.421 14.004 1.125l2.771-17.179c-5.042-0.8-12.692-1.441-17.146-1.441-21.804 0-29.346 11.379-29.283 25.066m398.45 50.63h-18.438l0.917-6.893c-5.347 5.717-10.825 8.18-17.968 8.18-14.166 0-23.528-12.213-23.528-30.726 0-24.63 14.521-45.392 31.708-45.392 7.559 0 13.279 3.087 18.604 10.096l4.325-26.308h19.221l-14.841 91.043zm-28.746-17.109c9.075 0 15.45-10.283 15.45-24.953 0-9.405-3.629-14.509-10.325-14.509-8.837 0-15.115 10.315-15.115 24.875-1e-3 9.686 3.357 14.587 9.99 14.587zm-56.842-56.929c-2.441 22.917-6.773 46.13-10.162 69.063l-0.892 4.976h19.491c6.972-45.275 8.658-54.117 19.588-53.009 1.742-9.267 4.982-17.383 7.399-21.479-8.163-1.7-12.721 2.913-18.688 11.675 0.471-3.788 1.333-7.467 1.162-11.225l-17.898-1e-3m-160.42 0c-2.446 22.917-6.779 46.13-10.167 69.063l-0.888 4.976h19.5c6.963-45.275 8.646-54.117 19.57-53.009 1.75-9.267 4.991-17.383 7.399-21.479-8.154-1.7-12.717 2.913-18.679 11.675 0.471-3.788 1.324-7.467 1.162-11.225l-17.897-1e-3m254.57 68.241c-4e-3 -3.199 2.586-5.795 5.784-5.799h0.012c3.197-4e-3 5.793 2.586 5.796 5.783v0.016c-1e-3 3.201-2.595 5.795-5.796 5.797-3.201-2e-3 -5.795-2.596-5.796-5.797zm5.796 4.405c2.431 2e-3 4.402-1.969 4.403-4.399v-4e-3c3e-3 -2.433-1.968-4.406-4.399-4.408h-4e-3c-2.435 1e-3 -4.407 1.974-4.408 4.408 2e-3 2.432 1.975 4.403 4.408 4.403zm-0.784-1.871h-1.188v-5.082h2.153c0.446 0 0.909 9e-3 1.296 0.254 0.417 0.283 0.654 0.767 0.654 1.274 0 0.575-0.337 1.112-0.888 1.317l0.941 2.236h-1.32l-0.779-2.009h-0.87l1e-3 2.01zm0-2.879h0.653c0.246 0 0.513 0.019 0.729-0.1 0.196-0.125 0.296-0.361 0.296-0.588-9e-3 -0.21-0.114-0.404-0.287-0.523-0.204-0.117-0.542-0.084-0.763-0.084h-0.629l1e-3 1.295z" fill="#fff"/></svg>
</li>
<li class="bg-white flex content-center justify-center rounded">
<!-- American express -->
<svg viewBox="0 0 780 500" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m575.61 145.11l-15.092 35.039h30.266l-15.174-35.039zm-174.15 21.713c2.845-1.422 4.52-4.515 4.52-8.356 0-3.764-1.76-6.49-4.604-7.771-2.591-1.42-6.577-1.584-10.399-1.584h-27v19.523h26.638c4.266 1e-3 7.831-0.059 10.845-1.812zm-345.97-21.713l-14.921 35.039h29.932l-15.011-35.039zm694.7 224.47h-42.344v-18.852h42.173c4.181 0 7.109-0.525 8.872-2.178 1.667-1.473 2.609-3.555 2.592-5.732 0-2.562-1.062-4.596-2.68-5.813-1.588-1.342-3.907-1.953-7.726-1.953-20.588-0.67-46.273 0.609-46.273-27.211 0-12.75 8.451-26.172 31.461-26.172h43.677v-17.492h-40.58c-12.246 0-21.144 2.81-27.443 7.181v-7.181h-60.022c-9.597 0-20.863 2.279-26.191 7.181v-7.181h-107.19v7.181c-8.529-5.897-22.925-7.181-29.565-7.181h-70.702v7.181c-6.747-6.262-21.758-7.181-30.902-7.181h-79.127l-18.104 18.775-16.959-18.775h-118.2v122.68h115.97l18.655-19.076 17.575 19.076 71.484 0.06v-28.859h7.03c9.484 0.146 20.67-0.223 30.542-4.311v33.106h58.962v-31.976h2.844c3.628 0 3.988 0.146 3.988 3.621v28.348h179.12c11.372 0 23.26-2.786 29.841-7.853v7.853h56.817c11.822 0 23.369-1.588 32.154-5.653v-22.853c-5.324 7.462-15.707 11.245-29.751 11.245zm-363.58-28.967h-27.36v29.488h-42.618l-27-29.102-28.058 29.102h-86.854v-87.914h88.19l26.976 28.818 27.89-28.818h70.064c17.401 0 36.952 4.617 36.952 28.963 0 24.422-19.016 29.463-38.182 29.463zm131.56-3.986c3.097 4.291 3.544 8.297 3.634 16.047v17.428h-22.016v-10.998c0-5.289 0.533-13.121-3.544-17.209-3.2-3.148-8.086-3.9-16.088-3.9h-23.432v32.107h-22.031v-87.914h50.62c11.105 0 19.188 0.473 26.384 4.148 6.92 4.006 11.275 9.494 11.275 19.523-2e-3 14.031-9.769 21.189-15.541 23.389 4.878 1.725 8.866 4.818 10.739 7.379zm90.575-36.258h-51.346v15.982h50.091v17.938h-50.091v17.492l51.346 0.078v18.242h-73.182v-87.914h73.182v18.182zm56.344 69.731h-42.705v-18.852h42.535c4.16 0 7.109-0.527 8.957-2.178 1.507-1.359 2.591-3.336 2.591-5.73 0-2.564-1.174-4.598-2.676-5.818-1.678-1.34-3.993-1.947-7.809-1.947-20.506-0.674-46.186 0.605-46.186-27.213 0-12.752 8.363-26.174 31.35-26.174h43.96v18.709h-40.225c-3.987 0-6.579 0.146-8.783 1.592-2.405 1.424-3.295 3.535-3.295 6.322 0 3.316 2.04 5.574 4.797 6.549 2.314 0.771 4.797 0.996 8.533 0.996l11.805 0.309c11.899 0.273 20.073 2.25 25.04 7.068 4.266 4.232 6.559 9.578 6.559 18.625-2e-3 18.913-12.335 27.742-34.448 27.742zm-170.06-68.313c-2.649-1.508-6.559-1.588-10.461-1.588h-27.001v19.744h26.64c4.265 0 7.892-0.145 10.822-1.812 2.842-1.646 4.543-4.678 4.543-8.438s-1.701-6.482-4.543-7.906zm244.99-1.59c-3.988 0-6.641 0.145-8.873 1.588-2.314 1.426-3.202 3.537-3.202 6.326 0 3.314 1.953 5.572 4.794 6.549 2.315 0.771 4.796 0.996 8.448 0.996l11.887 0.303c11.99 0.285 19.998 2.262 24.879 7.08 0.889 0.668 1.423 1.42 2.034 2.174v-25.014h-39.965l-2e-3 -2e-3zm-352.65 0h-28.59v22.391h28.336c8.424 0 13.663-4.006 13.667-11.611-4e-3 -7.688-5.497-10.78-13.413-10.78zm-190.81 0v15.984h48.136v17.938h-48.136v17.49h53.909l25.047-25.791-23.983-25.621h-54.973zm140.77 61.479v-70.482l-33.664 34.674 33.664 35.808zm-138.93-141.15v15.148h183.19l-0.085-32.046h3.545c2.483 0.083 3.205 0.302 3.205 4.229v27.818h94.748v-7.461c7.642 3.924 19.527 7.461 35.168 7.461h39.86l8.531-19.522h18.913l8.342 19.522h76.811v-18.544l11.629 18.543h61.555v-122.58h-60.915v14.477l-8.53-14.477h-62.507v14.477l-7.833-14.477h-84.434c-14.135 0-26.555 1.89-36.591 7.158v-7.158h-58.268v7.158c-6.387-5.43-15.089-7.158-24.762-7.158h-212.87l-14.282 31.662-14.668-31.662h-67.047v14.477l-7.367-14.477h-57.18l-26.553 58.284v46.621l39.264-87.894h32.579l37.29 83.217v-83.217h35.789l28.695 59.625 26.362-59.625h36.507v87.894h-22.475l-0.082-68.837-31.796 68.837h-19.252l-31.877-68.898v68.898h-44.6l-8.425-19.605h-45.654l-8.512 19.605h-23.814v17.682h37.466l8.447-19.523h18.914l8.425 19.523h73.713v-14.927l6.579 14.989h38.266l6.58-15.214zm288.67-80.176c7.085-7.015 18.188-10.25 33.298-10.25h21.227v18.833h-20.782c-7.998 0-12.521 1.14-16.871 5.208-3.74 3.7-6.304 10.696-6.304 19.908 0 9.417 1.955 16.206 6.028 20.641 3.376 3.478 9.513 4.533 15.283 4.533h9.851l30.902-69.12h32.853l37.124 83.134v-83.133h33.386l38.543 61.213v-61.213h22.46v87.891h-31.072l-41.562-65.968v65.968h-44.656l-8.532-19.605h-45.55l-8.278 19.605h-25.66c-10.657 0-24.151-2.258-31.793-9.722-7.707-7.462-11.713-17.571-11.713-33.553-4e-3 -13.037 2.389-24.953 11.818-34.37zm-45.101-10.249h22.372v87.894h-22.372v-87.894zm-100.87 0h50.432c11.203 0 19.464 0.285 26.553 4.21 6.936 3.926 11.095 9.658 11.095 19.46 0 14.015-9.763 21.254-15.448 23.429 4.796 1.75 8.896 4.841 10.849 7.401 3.096 4.372 3.629 8.277 3.629 16.126v17.267h-22.115l-0.083-11.084c0-5.29 0.528-12.896-3.461-17.122-3.203-3.09-8.088-3.763-15.983-3.763h-23.538v31.97h-21.927l-3e-3 -87.894zm-88.393 0h73.249v18.303h-51.32v15.843h50.088v18.017h-50.088v17.553h51.32v18.177h-73.249v-87.893z" fill="#2557D6"/></svg>
</li>
</ul>
<a href="https://www.google.com/shopping/ratings/account/metrics?q=getfpv.com&c=US&v=19&hl=en" target="_blank">
<img src='https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/images/footer_google_review.webp' width="128" height="85" alt="Review us on Google" />
</a>
</div>
</div>
<div class="bg-gray-450 ">
<div class="container px-5 py-6 mx-auto">
<p class="text-sm text-gray-200 sm:ml-6 sm:mt-0 mt-4 text-center">
© 2025 GetFPV LLC. All Rights Reserved. | <a href="/terms"> Terms & Conditions</a> | <a href="https://www.iubenda.com/privacy-policy/39236794/legal"> Privacy Policy</a> | <a href="/media/sitemap.xml"> Site Map</a>
</p>
</div>
</div>
</footer>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
'use strict';
function amBrandsPopup() {
let cached = false;
const displayError = (error) => {
console.error(error);
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "error",
text: "Something\u0020went\u0020wrong.\u0020Please\u0020try\u0020again."
}], 10000
);
};
let letters = [
"A","B","C","D",
"E","F","G","H","I","J","K","L","M",
"N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#"
];
return {
hoverPanelActiveId: null,
selectedLetter: null,
items: [],
letters: [],
showCount: null,
showFilter: null,
showImages: true,
showSearch: null,
loading: false,
label: 'Brands',
isPopupEnabled: false,
isTopMenuItemEnabled: false,
cache: false,
isMobile: false,
initErrorMessages(errors) {
const messages = [];
for (let error in Object.keys(errors)) {
messages.push({type: 'error', text: errors[error].message});
}
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(messages, 10000);
},
chooseLetter(letter) {
this.selectedLetter = this.selectedLetter === letter ? null : letter;
},
getQuery() {
return "query BrandsPopupQuery { ambrandlist(\n showCount: true\n displayZero: true\n ) {\n all_letters,\n items {\n alt\n brandId\n cnt\n image\n img\n label\n letter\n url\n }\n }\n storeConfig {\n amshopby_brand_general_brands_brands_popup,\n amshopby_brand_general_menu_item_label,\n amshopby_brand_general_brands_page,\n amshopby_brand_general_topmenu_enabled,\n amshopby_brand_general_brands_popup_config {\n show_images,\n display_zero,\n filter_display_all,\n image_width,\n image_height,\n show_filter,\n show_count\n }\n } }" },
/**
* Retrieve media url for given path
*
* @param path
* @returns {string}
*/
getMediaUrl(path) {
const baseUrl = BASE_URL.replace('index.php/', '');
if (path.includes('://')) {
return path;
}
let productImageUrl = `${baseUrl}${path}`;
const regexDuplicateDomain = new RegExp(`^(https?:\/\/[^/]+).*\\1`);
productImageUrl = productImageUrl.replace(regexDuplicateDomain, '$1');
return productImageUrl.includes('/product/placeholder/')
? productImageUrl.replace(/\/media(?=\/static)/, '')
: productImageUrl;
},
checkIsMobileResolution() {
this.isMobile = window.matchMedia('(max-width: 1023px)').matches;
},
getBrandUrl(url){
return BASE_URL + url;
},
init() {
this.checkIsMobileResolution();
this.$watch('hoverPanelActiveId', (value) => {
if (value === 'am-brand') {
this.sendRequest();
}
});
},
/**
* Get brands by letter
*
* @param result
* @returns {{imageWidth: *, isTopMenuItemEnabled: *, showCount: *, displayAll: *, showFilter: *, showImages: *, isPopupEnabled: *, label: *, imageHeight: *, filterDisplayAll: *, brandsPage: *}}
*/
settingsMapper(result) {
const config = result.data.storeConfig?.amshopby_brand_general_brands_popup_config;
return {
showImages: config.show_images,
showCount: config.show_count,
showFilter: config.show_filter,
imageWidth: config.image_width,
imageHeight: config.image_height,
filterDisplayAll: config.filter_display_all,
displayAll: config.display_zero,
isPopupEnabled: result.data.storeConfig?.amshopby_brand_general_brands_brands_popup,
label: result.data.storeConfig?.amshopby_brand_general_menu_item_label,
isTopMenuItemEnabled: result.data.storeConfig?.amshopby_brand_general_topmenu_enabled,
brandsPage: result.data.storeConfig?.amshopby_brand_general_brands_page,
}
},
/**
* Send request to graphql
*
* @returns {Promise<any>}
*/
async sendRequest() {
if (this.isMobile) {
return false;
}
this.loading = true;
try {
if (cached) {
this.loading = false;
return false;
}
const response = await fetch('https://www.getfpv.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Store': 'default'
},
credentials: 'include',
body: JSON.stringify({query: this.getQuery(), variables: {}})
});
const result = await response.json();
if (result?.errors) {
this.initErrorMessages(result.errors);
return;
}
const data = result.data?.ambrandlist;
const mapper = this.settingsMapper(result);
// Update component settings
Object.keys(mapper).forEach(config => {
this[config] = mapper[config];
});
if (!this.filterDisplayAll) {
letters = data.all_letters.split(',');
}
const items = data.items.map(brand => {
brand.image = brand.img
? this.getMediaUrl(brand.img) : (brand.image ? this.getMediaUrl(brand.image) : null);
return brand;
});
this.letters = letters.map(letter => ({
letter,
brands: this.getLetterItems(items, letter),
}));
this.items = this.letters.filter(row => row.brands?.length > 0);
cached = true;
} catch (error) {
displayError(error);
} finally {
this.loading = false;
}
},
/**
* Get brands by letter
*
* @param items
* @param letter
* @returns {*}
*/
getLetterItems(items, letter) {
return items.filter(row => row.letter === letter);
},
convertHtml(text) {
let textField = document.createElement("textarea");
textField.innerHTML = text;
return textField.value;
}
}
}
function amBrandsPopupData() {
return Object.assign(
amBrandsPopup(),
{
brandPopupClass() {
return {
'hover:border-primary data-[active]:border-primary': !this.isPopupEnabled
}
},
labelPopupClass() {
return {'w-14 opacity-0': this.label === ''}
},
popupcontentClass() {
return {
'hidden' : this.hoverPanelActiveId !== 'am-brand',
'left-0' : `${this.$el.dataset.first}`,
'right-0' : `${this.$el.dataset.last}`
}
},
panelActiveMouseenterEvent() {
return this.hoverPanelActiveId = 'am-brand'
},
panelActiveMouseleaveEvent() {
return this.hoverPanelActiveId = null
},
isPopupShow() {
return this.hoverPanelActiveId === 'am-brand'
},
labelText(){
return this.label
},
isEnabledPopup(){
return this.isPopupEnabled
},
showExtMessage(){
return false
},
notLoading() {
return !this.loading
},
brandLabel() {
return this.brand.label
},
letterClass() {
return {
'border-blue-400 text-blue-400 bg-blue-100': this.selectedLetter === this.letter.letter,
'bg-gray-200 text-gray-700 cursor-default pointer-events-none': !this.letter.brands || this.letter.brands.length === 0
}
},
letterClickEvent(event) {
return this.chooseLetter(this.letter.letter)
},
letterBrands() {
return this.letter.brands
},
brandUrl() {
return this.getBrandUrl(this.brand.url)
},
brandImage() {
return this.brand.image
},
notBrandImage() {
return !this.brand.image
},
letterLetter() {
return this.letter.letter
},
brandBrandId() {
return this.brand.brandId
},
isLetterShow() {
return !this.selectedLetter || this.selectedLetter === this.letter.letter
},
brandImageMediaUrl() {
return this.getMediaUrl(this.brand.image)
},
brandImageStyle() {
return `max-width: ${this.imageWidth ? this.imageWidth + 'px' : '100px' };max-height: ${this.imageHeight ? this.imageHeight + 'px' : 'inherit'}`
},
brandsLabelStyle() {
return `min-width: ${this.imageWidth}px`
},
brandLabelFilter() {
return this.brand.label.charAt(0)
},
brandCnt() {
return '(' + this.brand.cnt + ')'
}
}
)
}
window.addEventListener('alpine:init', () => Alpine.data('amBrandsPopupData', amBrandsPopupData), {once: true});
</script>
</div></footer>
<script>
function amBannerInjectorResolver () {
const injectors = Object.values({"products.among.injector":{"position":14,"name":"amBannerAmongCategoryInjector"},"products.belowcart.injector":{"position":15,"name":"amBannerBelowCartInjector"}});
return {
amBannerAmongCategoryInjector: function (sectionId, injectorParams) {
const container = document.querySelector('[data-role="amasty-banner-container"][data-position="' + sectionId + '"]');
Object.keys(injectorParams.banners).map((id) => {
const params = injectorParams.banners[id];
const element = container.querySelector('[data-banner-id="' + id + '"]');
insertBannerAmongCategoryByConfig({
containerSelector: injectorParams.containerSelector,
itemSelector: injectorParams.itemSelector,
afterProductRow: params.afterProductRow,
afterProductNum: params.afterProductNum,
span: params.width
}, element);
});
function insertBannerAmongCategoryByConfig (injectorConfig, element) {
const options = {
injectorConfig: {},
container: null,
after: null,
wrapper: null,
initialized: false,
gridSizes: ['sm', 'xl'],
bannerWidthClass: 'col-span',
...injectorConfig
}
insertBanner(element);
function insertBanner(element) {
const initialized = setOptions();
if (!initialized) {
return;
}
element.classList.add('ambanners-injected-banner');
const wrapper = options.wrapper.cloneNode(true);
wrapper.classList.remove('card', 'card-interactive');
addStylesForDifferentSizes(wrapper);
insertWrapper(wrapper);
wrapper.append(element);
}
function setOptions () {
const initialized = document.querySelector(options.containerSelector) !== null;
if (!initialized) {
console.warn(
'Failed to initialize banner: Can\'t find an element with selector "' + options.containerSelector + '"'
);
return;
}
options.container = document.querySelector(options.containerSelector);
setLineToInject();
if (!options.after) {
return;
}
setWrapper();
return true;
}
function setLineToInject() {
if (options.afterProductNum === -1) {
setFirstLineToInject();
} else {
setLineByPositionToInject();
}
}
function setWrapper() {
if (options.after) {
options.wrapper = options.after.cloneNode();
}
}
function setFirstLineToInject() {
options.after = document.querySelector(options.itemSelector);
}
function setLineByPositionToInject() {
// calc banner insert offset
const offset = calculateOffsetBasedOnPreviousBanners();
options.after = document.querySelectorAll(options.itemSelector)[options.afterProductNum - offset];
}
function calculateOffsetBasedOnPreviousBanners () {
return [...document.querySelectorAll(`${options.itemSelector}`)]
?.reduce((accumulator, amInjectedBannerWrapper) => {
const widthAttributeValue = Number(amInjectedBannerWrapper?.getAttribute('am-banner-span'))
if (widthAttributeValue > 1) {
accumulator += (widthAttributeValue - 1);
}
return accumulator;
}, 0);
}
function insertWrapper(insert) {
if (options.after) {
insertWrapperAfterFoundProduct(insert);
} else if (options.container) {
insertWrapperInProductListContainer(insert);
}
}
function insertWrapperAfterFoundProduct(insert) {
if (options.afterProductNum === -1) {
options.after.parentNode.insertBefore(insert, options.after);
} else {
options.after.parentNode.insertBefore(insert, options.after.nextSibling);
}
}
function insertWrapperInProductListContainer(insert) {
if (parseInt(options.afterProductRow) > 1) {
options.container.innerHTML += insert.innerHTML;
} else {
options.container.innerHTML = insert.innerHTML + options.container.innerHTML;
}
}
function addStylesForDifferentSizes (wrapper) {
options.gridSizes?.forEach((size, index) => {
const widthValue = options.span > index + 1 ? index + 2 : options.span;
wrapper?.classList.add(`${size}:${options.bannerWidthClass}-${widthValue}`);
wrapper?.setAttribute('am-banner-span', widthValue);
});
}
}
},
amBannerBelowCartInjector: function (sectionId) {
const belowProductAddToCartBanner = document.querySelector('.ambanners.ambanner-' + sectionId);
belowProductAddToCartBanner.style.display = 'block';
document.querySelectorAll('.product-item')?.forEach(product => {
product?.append(belowProductAddToCartBanner.cloneNode(true));
});
belowProductAddToCartBanner.style.display = 'none';
},
resolve: function (position, injectorParams) {
const injector = injectors.find((injector) => {
return injector.position === Number(position);
});
return this[injector?.name]?.(position, injectorParams);
}
}
}
</script>
<div x-data="{...hyva.modal(), ...initAmHidePricePopup()}" x-spread="eventListeners" x-bind="eventListeners">
<div x-cloak
x-spread="overlay('am-hideprice-popup')"
x-bind="overlay('am-hideprice-popup')"
class="fixed inset-0 flex items-center justify-center text-left bg-black bg-opacity-50 z-30">
<div x-ref="am-hideprice-popup"
role="dialog"
aria-labelledby="am-request-popup-label"
class="relative inline-block max-h-screen overflow-auto bg-white shadow-xl rounded-lg px-5 pb-5 w-full sm:max-w-screen-sm">
<div class="flex justify-end w-full my-3">
<button @click="hide"
aria-label="Close"
class="text-gray-300 transition hover:text-black focus:drop-shadow-md hover:drop-shadow-md">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-6 w-6" width="24" height="24" role="img">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
<title>x</title></svg>
</button>
</div>
<div id="am-request-popup-label" class="w-full pb-1 mb-4 border-b-2">
<span>Get a Quote for</span>
<span class="font-bold" x-text="formConfig.productName"></span>
</div>
<form x-ref="amHidePriceForm" action="#" class="form" @submit.prevent="submitRequest">
<input type="hidden" name="product_id" :value="formConfig.productId">
<fieldset class="fieldset">
<div class="field w-full">
<label for="price-request-name">
<span class="text-red-500">*</span>
Customer Name </label>
<input type="text"
required
class="w-full form-input"
name="name"
id="price-request-name"
x-model="formConfig.customer.name"
x-focus-first/>
</div>
<div class="field w-full">
<label for="price-request-email">
<span class="text-red-500">*</span>
Customer Email </label>
<input type="email"
required
class="w-full form-input"
name="email"
id="price-request-email"
x-model="formConfig.customer.email"/>
</div>
<div class="field w-full">
<label for="price-request-phone">
<span class="text-red-500">*</span>
Phone Number </label>
<input
type="text"
required
class="w-full form-input"
name="phone"
id="price-request-phone"
x-model="formConfig.customer.phone"/>
</div>
<div class="field w-full">
<label for="price-request-comment">
Comment </label>
<textarea name="comment" id="price-request-comment" class="w-full form-input"
rows="3"></textarea>
</div>
</fieldset>
<div x-show="errorMessage.length > 0"
x-transition:enter="transition ease-out duration-200"
x-transition:enter-start="opacity-0 transform"
x-transition:enter-end="opacity-100 transform"
class="bg-red-200 p-3 my-3 rounded w-full">
<p class="text-red-900" x-text="errorMessage"></p>
</div>
<div class="mt-5 w-full flex justify-center">
<button
:disabled="isLoading"
type="submit"
class="action submit primary btn btn-primary disabled:opacity-75">
<template x-if="!isLoading">
<span>
Submit </span>
</template>
<template x-if="isLoading">
<span>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 44 44" stroke="#000" class="w-5 h-5 stroke-current" role="img">
<g fill="none" fill-rule="evenodd" stroke-width="2">
<circle cx="22" cy="22" r="1">
<animate attributeName="r" begin="0s" dur="1.8s" values="1; 20" calcMode="spline" keyTimes="0; 1" keySplines="0.165, 0.84, 0.44, 1" repeatCount="indefinite"/>
<animate attributeName="stroke-opacity" begin="0s" dur="1.8s" values="1; 0" calcMode="spline" keyTimes="0; 1" keySplines="0.3, 0.61, 0.355, 1" repeatCount="indefinite"/>
</circle>
<circle cx="22" cy="22" r="1">
<animate attributeName="r" begin="-0.9s" dur="1.8s" values="1; 20" calcMode="spline" keyTimes="0; 1" keySplines="0.165, 0.84, 0.44, 1" repeatCount="indefinite"/>
<animate attributeName="stroke-opacity" begin="-0.9s" dur="1.8s" values="1; 0" calcMode="spline" keyTimes="0; 1" keySplines="0.3, 0.61, 0.355, 1" repeatCount="indefinite"/>
</circle>
</g>
<title>loading-indicator</title></svg>
Loading... </span>
</template>
</button>
</div>
</form>
</div>
</div>
</div>
<script>
'use strict';
function initAmHidePricePopup() {
return {
formConfig: {
url: 'https://www.getfpv.com/amasty_hide_price/request/add/',
productId: null,
productName: '',
customer: {
name: '',
email: '',
phone: ''
},
},
isLoading: false,
abortController: undefined,
errorMessage: '',
eventListeners: {
['@open-am-hideprice-popup.window'](event) {
this.formConfig = {...this.formConfig, ...event.detail};
this.$nextTick(() => {
!this.opened['am-hideprice-popup'] && this.show('am-hideprice-popup').then(() => {
!!this.abortController && this.abortController.abort();
// Wait close animation
setTimeout(() => {
this.isLoading = false;
this.formConfig = {
...this.formConfig,
productId: null,
productName: null,
};
}, 400);
});
});
}
},
submitRequest: function () {
const headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
};
const form = this.$refs.amHidePriceForm;
const body = new URLSearchParams(new FormData(form));
body.append('form_key', hyva.getFormKey());
this.isLoading = true;
this.errorMessage = '';
this.abortController = new AbortController();
fetch(this.formConfig.url, {
signal: this.abortController.signal,
method: 'POST',
body,
headers: headers
}).then((response) => {
if (!response.ok) {
this.errorMessage = 'Something went wrong. Please try again later';
}
return response.json();
}).then((response) => {
if (!response.success) {
this.errorMessage = response.error;
return;
}
typeof window.dispatchMessages !== undefined && window.dispatchMessages([{
type: 'success',
text: response.success
}], 5000);
form.reset();
this.hide('am-hideprice-popup');
}).finally(() => {
this.abortController = undefined;
this.isLoading = false;
});
}
}
}
</script>
<script>
(() => {
function src_default(Alpine) {
Alpine.directive("intersect", Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
let evaluate = evaluateLater(expression);
let options = {
rootMargin: getRootMargin(modifiers),
threshold: getThreshold(modifiers)
};
let observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting === (value === "leave"))
return;
evaluate();
modifiers.includes("once") && observer.disconnect();
});
}, options);
observer.observe(el);
cleanup(() => {
observer.disconnect();
});
}));
}
function getThreshold(modifiers) {
if (modifiers.includes("full"))
return 0.99;
if (modifiers.includes("half"))
return 0.5;
if (!modifiers.includes("threshold"))
return 0;
let threshold = modifiers[modifiers.indexOf("threshold") + 1];
if (threshold === "100")
return 1;
if (threshold === "0")
return 0;
return Number(`.${threshold}`);
}
function getLengthValue(rawValue) {
let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
return match ? match[1] + (match[2] || "px") : void 0;
}
function getRootMargin(modifiers) {
const key = "margin";
const fallback = "0px 0px 0px 0px";
const index = modifiers.indexOf(key);
if (index === -1)
return fallback;
let values = [];
for (let i = 1; i < 5; i++) {
values.push(getLengthValue(modifiers[index + i] || ""));
}
values = values.filter((v) => v !== void 0);
return values.length ? values.join(" ").trim() : fallback;
}
document.addEventListener("alpine:init", () => {
window.Alpine.plugin(src_default);
});
})();
</script>
<script>
for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]":"intersect",".product-info [x-data]":"intersect","#filters-content [x-data]":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]":"intersect","#notice-cookie-block":"idle"})) {
document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
}
</script>
<script>
(function () {
"use strict";
const hasAlpine = new Promise(resolve => {
window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
});
const hasInteract = new Promise(resolve => {
(events => {
const onInteract = () => {
resolve();
events.forEach(type => window.removeEventListener(type, onInteract));
}
events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
})(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
});
const onIntersect = (el) => {
return new Promise(resolve => {
const observer = new IntersectionObserver(entries => {
for (const entry of entries) {
if (entry.isIntersecting) {
observer.disconnect()
resolve();
}
}
}, {});
observer.observe(el);
});
}
function runComponent(el) {
hasAlpine.then(() => {
el.removeAttribute('x-ignore');
queueMicrotask(() => Alpine.initTree(el));
});
}
function initDeferredComponents() {
document.querySelectorAll('[x-data][x-defer]').forEach(el => {
el.setAttribute('x-ignore', '');
const deferUntil = (el.getAttribute('x-defer') || '').trim();
switch (deferUntil) {
case 'interact':
hasInteract.then(() => runComponent(el));
break;
case 'intersect':
onIntersect(el).then(() => runComponent(el))
break;
case 'idle':
window.requestIdleCallback
? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
: setTimeout(() => runComponent(el), 4000);
break;
case 'eager':
runComponent(el);
break;
default:
if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
}
}
});
}
window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
})()
</script>
<script>
// x-teleport implementation
(_ => {
document.addEventListener('DOMContentLoaded', event => {
// x-teleport available only for template
if (!Alpine.version.startsWith('2')) {
return;
}
const teleportDirective = (el, expression) => {
let target = document.querySelector(expression)
let clone = el.content.cloneNode(true).firstElementChild;
target.appendChild(clone);
setTimeout(() => {
target.querySelectorAll('[x-data]')
.forEach(el => Alpine.initializeComponent(el));
}, 0)
};
document.querySelectorAll('template').forEach(el => {
if (!el.hasAttribute('x-teleport')) {
return;
}
teleportDirective(el, el.getAttribute('x-teleport'));
});
document.querySelectorAll('[x-data]').forEach(el => {
if (el.hasAttribute('x-init')) {
return;
}
setTimeout(() => {
Alpine.initializeComponent(el);
}, 0);
});
});
})()
</script>
<script type="module"
src="https://www.getfpv.com/static/version1765186506/frontend/Getfpv/default/en_US/Hyva_Theme/js/alpine3.min.js"
defer
crossorigin
></script>
<script>
'use strict';
function dispatchMessages(messages, hideAfter) {
const messagesEvent = new CustomEvent("messages-loaded", {
detail: {
messages: messages,
hideAfter: hideAfter
}
});
window.dispatchEvent(messagesEvent);
}
if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
}
(function( hyva, undefined ) {
hyva.initFormKey = () => {
const inputSelector = 'input[name="form_key"]',
formKey = hyva.getFormKey();
Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
input.value = formKey
});
}
hyva.initMessages = () => {
try {
const messages = hyva.getCookie('mage-messages');
window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
dispatchMessages(window.mageMessages);
// empty `mage-messages` cookie
const skipSetDomain = true;
hyva.setCookie('mage-messages','', -1, skipSetDomain);
} catch (error) {
console.warn('Error parsing Cookie Messages:', error);
}
}
window.addEventListener('DOMContentLoaded', hyva.initFormKey);
hyva.alpineInitialized(hyva.initMessages)
}( window.hyva = window.hyva || {} ));
</script>
<script>
'use strict';
{
const private_content_key = 'mage-cache-storage';
const private_content_expire_key = 'mage-cache-timeout';
const private_content_version_key = 'private_content_version';
const section_data_ids_key = 'section_data_ids';
const mage_cache_session_id_key = 'mage-cache-sessid';
const last_visited_store_key = 'last_visited_store';
const ttl = 3600;
if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
}
function loadSectionData () {
const browserStorage = hyva.getBrowserStorage();
if (!browserStorage) {
typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
[{
type: "warning",
text: "Please enable LocalStorage in your browser."
}]
);
return;
}
try {
let isInvalid = false;
if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
isInvalid = true;
}
hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
if (!hyva.getCookie(mage_cache_session_id_key)) {
isInvalid = true;
browserStorage.removeItem(private_content_key);
const skipSetDomain = true;
const days = false;
hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
}
const cookieVersion = hyva.getCookie(private_content_version_key);
const storageVersion = browserStorage.getItem(private_content_version_key);
if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
isInvalid = true;
}
const privateContentExpires = browserStorage.getItem(private_content_expire_key);
if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
browserStorage.removeItem(private_content_key);
}
if (isInvalid && cookieVersion) {
fetchPrivateContent([]);
} else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
if (
privateContent &&
privateContentExpires &&
privateContent.cart &&
privateContent.customer
) {
dispatchPrivateContent(privateContent);
} else {
fetchPrivateContent([]);
}
} else {
if (document.getElementById('default-section-data')) {
const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
dispatchPrivateContent(privateContent);
} else {
dispatchPrivateContent({});
}
}
} catch (error) {
console.warn('Error retrieving Private Content:', error);
}
}
hyva.alpineInitialized(loadSectionData)
window.addEventListener('reload-customer-section-data', loadSectionData);
function dispatchPrivateContent(data) {
let myFunction = function () {
// console.log("dispatching private-content-loaded")
const privateContentEvent = new CustomEvent("private-content-loaded", {
detail: {
data: data
}
});
window.dispatchEvent(privateContentEvent);
}
myFunction();
setTimeout(myFunction, 30);
// document.addEventListener("DOMContentLoaded", (event) => {
// console.log('domLoaded');
// myFunction();
// });
}
function fetchPrivateContent(sections) {
fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
}
})
.then(response => response.json())
.then(
data => {
if (data) {
try {
const browserStorage = hyva.getBrowserStorage();
// merge new data preserving non-invalidated sections
const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
delete oldSectionData['checkout-data'];
}
const newSectionData = Object.assign(oldSectionData, data);
dispatchPrivateContent(newSectionData);
// don't persist messages, they've been dispatched already
if (newSectionData.messages && newSectionData.messages.messages ) {
newSectionData.messages.messages = [];
}
browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
browserStorage.setItem(private_content_expire_key, expiresAt);
const newCookieVersion = hyva.getCookie(private_content_version_key);
browserStorage.setItem(private_content_version_key, newCookieVersion);
// We don't need the section_data_ids in Hyvä, but we store them for compatibility
// with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
hyva.setCookie(
section_data_ids_key,
JSON.stringify(
Object.keys(data).reduce((sectionDataIds, sectionKey) => {
sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
return sectionDataIds;
}, {})
),
false,
true
);
} catch (error) {
console.warn("Couldn't store privateContent", error);
}
}
}
);
}
}
</script>
<script>
(() => {
document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
})()
</script>
<script>
(events => {
const dispatchUserInteractionEvent = () => {
events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
window.dispatchEvent(new Event('init-external-scripts'))
};
events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
})(['touchstart', 'mousemove', 'wheel', 'scroll', 'keydown'])
</script>
<style>
.checkout-agreements-block .checkout-agreement.field {
flex-wrap: wrap;
}
.checkout-agreement {
margin: 10px 0;
padding: 10px;
border: 1px solid #eee;
}
.checkout-agreement.field {
margin: 0 0 10px;
padding: 12px 20px 12px 12px;
font-size: 1.3rem;
background: #fdf0d5;
color: #6f4400;
position: relative;
border: 0 none
}
.checkout-agreement.field input[type="checkbox"] {
margin-right: 10px;
}
.checkout-agreements-block .fieldset>.field.choice .label {
max-width: 95%;
}
.checkout-agreements-block .action-show {
font-size: 1.3rem;
text-align: left;
}
.checkout-agreement.field .action-show {
color: #6f4400;
}
</style><script>
function initConfigurableOptions(productId, optionConfig, stockConfig) {
function findPathParam(key) {
// get all path pairs after BASE_URL/front_name/action_path/action
const baseUrl = (BASE_URL.substr(0, 2) === '//' ? 'http:' : '') + BASE_URL;
const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
for (let i = 0; i < pathParts.length; i += 2) {
if (pathParts[i] === key && pathParts.length > i) {
return pathParts[i + 1];
}
}
}
return {
optionConfig,
stockConfig,
productId,
itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
allowedAttributeOptions: [],
selectedValues: [],
init() {
this.findAllowedAttributeOptions();
this.$nextTick(() => {
if (typeof this.optionConfig.defaultValues === 'object') {
for (const [optionId, value] of Object.entries(this.optionConfig.defaultValues)) {
this.changeOption(optionId, value + '');
}
}
});
},
findSimpleIndex () {
const productIndexes = this.optionConfig.index;
this.productIndex = Object.keys(productIndexes).find(productIndex => {
const currentProductIndex = productIndexes[productIndex];
for (const productOption in currentProductIndex) {
if (
this.selectedValues[productOption] &&
this.selectedValues[productOption] !== currentProductIndex[productOption]
) {
return false;
}
}
const stockMessage = this.stockConfig[productIndex];
window.dispatchEvent(
new CustomEvent(
"update-stock-message", {
detail: [stockMessage]
}
)
);
return productIndex;
});
},
productIndex: 0,
findAllowedAttributeOptions() {
const allAttributes = this.optionConfig.attributes;
const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
return a.position - b.position
});
const productIndexes = this.optionConfig.index;
let previousOption = false;
let availableIndexes = Object.keys(productIndexes);
const newAllowedAttributeOptions = [];
allAttributesSorted.forEach(attribute => {
if (previousOption && this.selectedValues[previousOption]) {
availableIndexes = availableIndexes.filter(availableIndex => {
return productIndexes[availableIndex][previousOption] ===
this.selectedValues[previousOption]
})
}
newAllowedAttributeOptions[attribute.id] =
allAttributes[attribute.id].options.filter(option => {
return !!option.products.find(product => {
return availableIndexes.includes(product);
})
});
previousOption = attribute.id;
});
this.allowedAttributeOptions = newAllowedAttributeOptions;
},
getAllowedAttributeOptions(attributeId) {
return this.allowedAttributeOptions[attributeId] || []
},
changeOption(optionId, value) {
this.selectedValues[optionId] = value;
this.findSimpleIndex();
this.findAllowedAttributeOptions();
this.updatePrices();
this.updateGallery();
window.dispatchEvent(
new CustomEvent(
'configurable-selection-changed',
{
detail: {
productId: this.productId,
optionId: this.optionId,
value: this.value,
productIndex: this.productIndex,
selectedValues: this.selectedValues
}
}
)
);
},
calculateIsMinimalPrice() {
return (
this.selectedValues.filter(value => !!value).length <
Object.keys(this.optionConfig.attributes).length
);
},
updatePrices() {
const value = this.productIndex ?
this.optionConfig.optionPrices[this.productIndex] :
this.optionConfig.prices;
window.dispatchEvent(
new CustomEvent(
"update-prices-" + this.productId,
{
detail: Object.assign(
value,
{ isMinimalPrice: this.calculateIsMinimalPrice() }
)
}
)
);
},
updateGallery () {
const value = this.productIndex ?
this.optionConfig.images[this.productIndex] :
Object.values(this.optionConfig.images)[0];
value && window.dispatchEvent(
new CustomEvent(
"update-gallery",
{ detail: value }
)
);
},
onGetCartData(data) {
this.preselectCartItems(data);
this.preselectQuerystringItems();
this.preselectLocationHashItems();
this.preselectIdItems();
},
preselectCartItems(data) {
// pre-select options based on cart data for current (quote) itemId
const cart = data && data.cart;
if (cart && cart.items) {
const cartItem = cart.items.find((item) => {
return (
item.item_id === this.itemId
&& item.product_id === this.productId
)
});
if (cartItem && cartItem.options && cartItem.options.length) {
cartItem.options.map(option => {
this.changeOption(option.option_id, option.option_value);
})
}
}
},
preselectQuerystringItems() {
// pre-select option like ?size=167
const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
Object.values(this.optionConfig.attributes).map(attribute => {
urlQueryParams.get(attribute.code) &&
this.changeOption(attribute.id, urlQueryParams.get(attribute.code));
});
},
preselectLocationHashItems() {
// pre-select option like #144=167
const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
Object.values(this.optionConfig.attributes).map(attribute => {
urlHashParams.get(attribute.id) &&
this.changeOption(attribute.id, urlHashParams.get(attribute.id));
});
},
preselectIdItems() {
// pre-select option like ?vid={variant product id}
const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
const vid = urlQueryParams.get('vid')
Object.values(this.optionConfig.attributes).map(attribute => {
attribute.options.forEach((opt) => {
opt.products.includes(vid) &&
this.changeOption(attribute.id, opt.id);
});
});
}
}
}
</script>
<script>
function initSwatchOptions(swatchConfig) {
return {
swatchConfig,
getAttributeSwatchData(attributeId) {
const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]);
swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
return swatchConfig;
},
getAllAttributeOptions(attributeId) {
return (
this.optionConfig.attributes[attributeId] &&
this.optionConfig.attributes[attributeId].options
) || []
},
optionIsActive(attributeId, optionId) {
// return true if a product with this option is in stock
return !!this.getAllowedAttributeOptions(attributeId).find(
option => option.id === optionId
)
},
optionIsEnabled(attributeId, optionId) {
// return true if a product with this option is enabled
for (const productId in this.optionConfig.index) {
if (this.optionConfig.index[productId][attributeId] === optionId) {
return true;
}
}
return false;
},
mapSwatchTypeNumberToTypeCode(typeNumber) {
switch ("" + typeNumber) {
case "1":
return "color"
case "2":
return "image"
case "3":
return "empty"
case "0":
default:
return "text"
}
},
getTypeOfFirstOption(attributeId) {
for (const optionId in this.swatchConfig[attributeId]) {
const option = this.swatchConfig[attributeId][optionId];
if (typeof option.type !== 'undefined') {
return this.mapSwatchTypeNumberToTypeCode(option.type);
}
}
},
getVisualSwatchType(attributeId, targetOptionId) {
// If a type configuration is present for the given option id, use it
const config = this.swatchConfig[attributeId];
if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
}
// Otherwise - if no config is present for the target option - use the type of the first option
// with a type property from the attribute, thus assuming its the same type as the target option.
// (This edge case condition can occur on single swatch products if some options are not salable)
return this.getTypeOfFirstOption(attributeId);
},
getSwatchType(attributeId, optionId) {
// Deserialize the attribute details the first time they are used
if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
}
const type = this.swatchConfig[attributeId] &&
this.swatchConfig[attributeId].details &&
this.swatchConfig[attributeId].details.swatch_input_type ||
"empty";
return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
},
isTextSwatch(attributeId, optionId) {
return this.getSwatchType(attributeId, optionId) === 'text';
},
isVisualSwatch(attributeId, optionId) {
const type = this.getSwatchType(attributeId, optionId);
return ['image', 'color'].includes(type);
},
getSwatchBackgroundStyle(attributeId, optionId) {
const config = this.getSwatchConfig(attributeId, optionId);
const type = this.getSwatchType(attributeId, optionId);
if (type === "color") {
return 'background-color:' + config.value;
} else if (type === "image") {
return "background: #ffffff url('" + config.value + "') no-repeat center";
} else {
return '';
}
},
getSwatchText(attributeId, optionId) {
const config = this.getSwatchConfig(attributeId, optionId);
return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId);
},
getOptionLabelFromOptionConfig(attributeId, optionId) {
// Fallback if no value is present in swatchConfig data
// Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190
const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId);
return option && option[0] && option[0].label ||'';
},
getSwatchConfig(attributeId, optionId) {
return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId]
? this.swatchConfig[attributeId][optionId]
: false;
},
activeTooltipItem: false,
tooltipPositionElement: false,
isTooltipVisible() {
return this.activeTooltipItem &&
this.getSwatchConfig(
this.activeTooltipItem.attribute,
this.activeTooltipItem.item
);
},
getTooltipImageStyle(attributeId, optionId) {
const config = this.getSwatchConfig(attributeId, optionId);
const type = this.getSwatchType(attributeId, optionId);
if (type === "color") {
return 'background-color:' + config.value + '; width: 110px; height: 90px;';
} else if (type === "image") {
return "background: #ffffff url('" + config.thumb +
"') center center no-repeat; width: 110px; height: 90px;";
} else {
return 'display:none';
}
},
getTooltipPosition() {
return this.tooltipPositionElement ?
`top: ${this.tooltipPositionElement.offsetTop}px;` +
`left: ${
this.tooltipPositionElement.offsetLeft - (
this.tooltipPositionElement.closest('.snap') &&
this.tooltipPositionElement.closest('.snap').scrollLeft ||
0
)
}px;` : ''
},
getTooltipLabel() {
return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
},
focusedLabel: false,
focusLabel(optionId) {
this.focusedLabel = optionId;
},
blurLabel() {
this.focusedLabel = false;
},
showSwatches: false,
initShowSwatchesIntersect() {
if ('IntersectionObserver' in window && !window.scrollY) {
const io = new IntersectionObserver(
entries => {
entries.map(entry => {
if (entry.isIntersecting) {
this.showSwatches = true;
io.unobserve(this.$root);
}
})
}
);
io.observe(this.$root);
} else {
this.showSwatches = true
}
}
}
}
</script>
<script>
function amastyRewardsCatalog() {
return {
productId: this.$el.dataset.productId,
formSelector: 'product_addtocart_form',
refreshUrl: this.$el.dataset.refreshUrl,
loader: false,
isFetching: false,
abortFetchController: false,
highlight: {
caption_color: '',
caption_text: '',
visible: false
},
init() {
this.formObserver();
document.addEventListener(`update-qty-${this.productId}`, () => {
this.updateData();
});
this.$nextTick(() => this.updateData());
},
hideBlock() {
this.highlight.visible = false;
this.loader = true;
},
dispatchStatus(type, message) {
window.dispatchMessages([{
type: type,
text: message
}], 5000);
},
formObserver() {
const product = document.querySelector(`input[name="product"][value="${this.productId}"]`);
if (product) {
const productForm = product.form;
if (productForm) {
productForm.addEventListener('change', () => {
this.updateData();
});
}
}
},
updateData() {
if (!this.refreshUrl || this.isFetching) return false;
this.hideBlock();
if (this.abortFetchController) {
this.abortFetchController.abort();
}
this.abortFetchController = new AbortController();
const product = document.querySelector(`input[name='product'][value='${this.productId}']`);
if (!product) return false;
const form = product.form;
const formData = new FormData(form);
const formParams = new URLSearchParams(formData).toString();
const formJson = JSON.stringify({
productId: this.productId,
attributes: formParams
});
const requestOptions = {
method: 'POST',
body: formJson,
headers: {
'Content-Type': 'application/json',
'x-requested-with': 'XMLHttpRequest',
},
signal: this.abortFetchController.signal
};
this.isFetching = true;
fetch(this.refreshUrl, requestOptions).then(response => {
if (!response.ok) {
return Promise.reject(`${response.status} ${response.statusText}`);
}
return response.json();
}).then(data => {
this.highlight.visible = data.visible;
this.highlight.caption_text = data.caption_text;
this.highlight.caption_color = data.caption_color;
}).catch(error => {
if (error.name !== 'AbortError'
&& typeof error === 'string'
&& error.match(/'401'/g) !== null
) {
this.dispatchStatus('error', error);
}
}).finally(() => {
this.loader = false;
this.abortFetchController = false;
this.isFetching = false;
});
},
highlightVisible() {
return this.highlight.visible && !this.loader;
},
highlightStyle() {
return `color: ${this.highlight.caption_color}`;
},
}
}
window.addEventListener(
'alpine:init',
() => Alpine.data('amastyRewardsCatalog', amastyRewardsCatalog),
{ once: true }
);
</script>
<script>
'use strict';
const grecaptchaV2LoadCallbacks = [];
function executeRecaptchaLoadCallbacks () {
while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
const callback = grecaptchaV2LoadCallbacks.pop();
typeof callback === 'string' ? window[callback]() : callback();
}
}
(function() {
const loadRecaptchaScript = (event) => {
if (window.grecaptcha || !event.target.form) {
return;
}
const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
const siteKey = '6Lc8igYgAAAAAOB_VGpGK8fclVDayEGWzUI8WIts';
const script = document.createElement('script');
script.type = 'text/javascript';
script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
script.async = true;
document.head.appendChild(script);
script.addEventListener('load', () => {
Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
});
}
window.forceLoadRecaptchaScript = (form) => {
loadRecaptchaScript({target: {form: form || 'dummy'}});
executeRecaptchaLoadCallbacks();
};
document.body.addEventListener('input', loadRecaptchaScript, { once: true });
document.body.addEventListener('focus', loadRecaptchaScript, { once: true });
}());
</script>
<div
class="z-10 fixed bottom-4 inset-x-4 sm:w-96 max-w-prose mx-auto p-4 rounded shadow-2xl bg-container-lighter
lg:absolute lg:bottom-auto lg:right-auto lg:top-[var(--msrp-block-offset)] lg:left-[var(--msrp-inline-offset)] lg:shadow-lg lg:max-w-xs"
:style="setPosition()"
x-data="initMsrpPopover()"
x-cloak
x-show="open"
x-transition:enter="transition ease-out duration-300 opacity-0 translate-y-full lg:-translate-y-0"
x-transition:enter-end="transition ease-out duration-300 opacity-100 translate-y-0"
x-transition:leave="transition ease-in duration-150 opacity-0 translate-y-full lg:-translate-y-0"
@click.outside="closePopover($event)"
@msrp-popover.window="showPopover($event.detail)"
@resize.window.debounce="closePopover()"
@keydown.window.escape="closePopover()"
>
<div class="flex justify-between gap-2 mb-2">
<strong id="map-popup-heading-price" class="font-bold" x-text="title"></strong>
<button
type="button"
@click="closePopover()"
aria-label="Close panel"
title="Close panel"
>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
</svg>
</button>
</div>
<template x-if="type !== 'help'">
<div class="mb-4 text-sm">
<dl class="price-box">
<div class="flex gap-2">
<dt class="font-semibold whitespace-nowrap">Price:</dt>
<dd x-html="msrpPrice" class="flex flex-col"></dd>
</div>
<div class="flex gap-2">
<dt class="font-semibold whitespace-nowrap">Actual Price:</dt>
<dd x-html="actualPrice" class="flex flex-col"></dd>
</div>
</dl>
</div>
</template>
<div class="text-sm" x-html="content"></div>
<script>
function initMsrpPopover() {
return {
open: false,
type: "price", // price or help
title: '',
content: 'Our price is lower than the manufacturer's "minimum advertised price." As a result, we cannot show you the price in catalog or the product page. <br><br> You have no obligation to purchase the product once you know the price. You can simply remove the item from your cart.',
isSaleable: false,
actualPrice: null,
msrpPrice: null,
productId: null,
anchor: null,
position: ['0', '0'],
isInViewport() {
const pageWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
const offset = this.anchor.offsetLeft + this.$root.offsetWidth;
return pageWidth > offset;
},
setPosition() {
return {
'--msrp-block-offset': this.position[0],
'--msrp-inline-offset': this.position[1]
}
},
calcPosition() {
const target = this.anchor;
const pageTop = target.getBoundingClientRect().top + window.scrollY;
const pageLeft = target.getBoundingClientRect().left + window.scrollX;
const positionBlock = `${pageTop + target.clientHeight}px`;
const positionInline = this.isInViewport()
? `${pageLeft}px`
: `${(pageLeft - (this.$root.offsetWidth - target.offsetWidth))}px`;
this.position = [positionBlock, positionInline]
},
closePopover(event) {
if (event && event.target === this.anchor) return;
this.open = false;
},
showPopover(event) {
const data = event.msrpData;
if (!data) return;
this.open = true;
this.type = data.type;
this.productId = data.id;
this.isSaleable = data.isSaleable;
this.actualPrice = data.realPrice;
this.msrpPrice = data.msrpPrice;
this.title = this.type === 'help'
? ''
: data.productName;
this.content = this.type === 'help'
? 'Our price is lower than the manufacturer's "minimum advertised price." As a result, we cannot show you the price in catalog or the product page. <br><br> You have no obligation to purchase the product once you know the price. You can simply remove the item from your cart.'
: 'Our price is lower than the manufacturer's "minimum advertised price." As a result, we cannot show you the price in catalog or the product page. <br><br> You have no obligation to purchase the product once you know the price. You can simply remove the item from your cart.';
if (event.target) {
this.anchor = event.target;
this.$nextTick(() => this.calcPosition());
}
}
}
}
</script>
</div>
<!-- Wrapping template -->
<script type="text/template" id="instant_wrapper_template">
{{#findAutocomplete}}
<div id="algolia-autocomplete-container"></div>
{{/findAutocomplete}}
<div id="algolia_instant_selector"
class="container with-facets">
<div class="flex flex-col pt-4 md:flex-row">
<div class="sidebar w-full px-2.5 md:w-2/5 md:px-0 lg:w-1/3 lg:pb-8 xl:pr-5" id="algolia-left-container">
<div class="px-4 mb-4 border md:px-0 md:border-none">
<div class="block md:hidden py-4">
<div class="flex items-center justify-between" x-data="{open:false}">
<span class="text-primary text-md text-xl md:text-2xl font-semibold uppercase">
Shop by </span>
<div class="relative w-8 h-8 bg-container-lighter rounded border border-container-darker cursor-pointer" @click="open = !open">
<div class="absolute z-20 w-8 h-8 text-transparent" id="refine-toggle">
</div>
<span class="absolute z-10 py-1 px-1">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="transition-transform transform duration-300 ease-in-out" :class="open ? 'rotate-180' : ''">
<path d="M19 9L12 16L5 9" stroke="#4A5568" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
</span>
</div>
</div>
</div>
<div class="hidden-sm hidden-xs md:block pt-3 md:pt-0" id="instant-search-facets-container">
<div class="flex flex-col filter-current p-4 pt-0 border-b hidden-sm hidden-xs">
<span class="title text-md md:text-lg font-semibold">
Show Results For </span>
<div class="order-2" id="clear-refinements"></div>
<div id="current-refinements"></div>
</div>
</div>
</div>
</div>
<div class="w-full md:pl-6 md:pr-2 lg:pr-0 xl:pl-2.5" id="algolia-right-container">
<div>
<div class="pb-3.5">
<div class="px-2.5">
{{#second_bar}}
<div id="instant-search-bar"></div>
{{/second_bar}}
</div>
</div>
</div>
<div>
<div>
<div itemscope itemtype="http://schema.org/ItemList">
<div class="pl-2.5 pb-2 border-b">
<div class="flex w-full justify-between flex-wrap pr-2.5 py-1.5">
<div class="basis-full flex items-center" id="algolia-stats"></div>
<div class="pull-right basis-full flex justify-end items-center text-gray-400 text-sm leading-8 tracking-wider">
<div class="hidden">
SORT BY
</div>
<div id="algolia-sorts"></div>
</div>
</div>
</div>
<div id="algolia-banner"></div>
<div id="instant-empty-results-container"></div>
<div class="py-1" id="instant-search-results-container"></div>
</div>
</div>
</div>
<div>
<div id="instant-search-pagination-container"></div>
</div>
</div>
</div>
</div>
</script>
<script type="text/template" id="instant-hit-template">
<div class="flex flex-col w-full h-full bg-white" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<meta itemprop="position" content="{{__position}}" />
<div class="flex-grow h-full" itemprop="item" itemscope itemtype="http://schema.org/Product">
<meta itemprop="url"
{{^__queryID}} content="{{url}}" {{/__queryID}}
{{#__queryID}} content="{{urlForInsights}}" {{/__queryID}}
/>
<div class="h-full flex flex-col relative">
<div class="flex justify-center items-center mb-3 bg-white">
<a
class="max-w-full"
{{^__queryID}} href="{{url}}"
{{/__queryID}}
{{#__queryID}} href="{{urlForInsights}}" {{/__queryID}}
data-objectid="{{objectID}}"
data-indexname="{{__indexName}}"
data-position="{{__position}}"
data-queryid="{{__queryID}}"
>
{{#image_url}}<img itemprop="image" src="{{{image_url}}}" alt="{{{name}}}" />{{/image_url}}
{{^image_url}}<span class="no-image"></span>{{/image_url}}
</a>
</div>
<div class="flex flex-col items-stretch flex-grow">
<div class="mt-2 mb-1 items-center justify-center text-primary font-semibold text-gray-450">
<a
itemprop="name"
class="product-item-link"
{{^__queryID}} href="{{url}}" {{/__queryID}}
{{#__queryID}} href="{{urlForInsights}}" {{/__queryID}}
data-objectid="{{objectID}}"
data-indexname="{{__indexName}}"
data-position="{{__position}}"
data-queryid="{{__queryID}}">
{{{ _highlightResult.name.value }}}
</a>
</div>
<div>
<div>
<div>
{{{yotpoStars}}}
</div>
{{^price.USD.default_max}}
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="price pt-1 text-gray-900">
<meta itemprop="price" content="{{price.USD.default}}" />
{{/price.USD.default_max}}
{{#price.USD.default_max}}
<div itemprop="offers" itemscope itemtype="http://schema.org/AggregateOffer" class="price pt-1 text-gray-900">
<meta itemprop="lowPrice" content="{{price.USD.default}}" />
<meta itemprop="highPrice" content="{{price.USD.default_max}}" />
{{/price.USD.default_max}}
<meta itemprop="priceCurrency" content="USD" />
<div>
<div class="flex flex-col">
<span class="" style="font-size: 1.25rem;line-height: 1.75rem;font-weight: 500;">
{{price.USD.default_formated}}
</span>
{{#price.USD.default_original_formated}}
<div>
<span class="text-sm font-normal leading-6 text-gray-500">Regular Price</span>
<span class="font-normal text-base text-yellow-gfpv line-through"> {{price.USD.default_original_formated}}</span>
</div>
{{/price.USD.default_original_formated}}
{{#price.USD.default_tier_formated}}
<span>
As low as <span>{{price.USD.default_tier_formated}}</span>
</span>
{{/price.USD.default_tier_formated}}
</div>
</div>
</div>
<div>
{{{stockStatus}}}
</div>
</div>
</div>
{{#isAddToCartEnabled}}
<div class="mt-auto pt-3 flex flex-wrap justify-center items-center">
<form class="flex-grow" data-role="tocart-form" action="{{ addToCart.action }}" method="post">
<input type="hidden" name="product" value="{{objectID}}">
<input type="hidden" name="uenc" value="{{ addToCart.uenc }}">
<input name="form_key" type="hidden" value="{{ addToCart.formKey }}">
<button
type="submit" title="Add to Cart"
class="w-auto btn btn-primary justify-center mr-auto font-semibold px-4 md:px-4 xl:px-6 border border-gray-300 text-gray-700 bg-white hover:bg-yellow-gfpv hover:text-black mr-auto"
data-objectid="{{objectID}}"
data-indexname="{{__indexName}}"
data-position="{{__position}}"
data-queryid="{{__queryID}}"
>
<span class="ml-2 inline md:ml-0 md:hidden lg:ml-2 lg:inline">Add to Cart</span>
</button>
</form>
</div>
{{/isAddToCartEnabled}}
</div>
{{{overlay}}}
</div>
</div>
</div>
</script>
<script type="text/template" id="instant-stats-template">
<div class="py-2">
{{#hasOneResult}}<strong>1</strong>
<span class="text-sm leading-5 text-gray-700 tracking-wider">
Item </span>
{{/hasOneResult}}
{{#hasManyResults}}
<span class="text-sm leading-5 text-gray-700 tracking-wider">
Items </span>
<span class="text-sm leading-5 text-gray-700 tracking-wider" itemprop="numberOfItems">
{{first}}-{{last}} of </span>
<span class="text-sm leading-5 text-gray-700 tracking-wider" itemprop="numberOfItems">{{nbHits}}</span>
{{/hasManyResults}}
{{#hasNoResults}}
<span class="text-sm leading-5 text-gray-700 tracking-wider">
Your search returned no results. </span>
{{/hasNoResults}}
</div>
</script>
<script type="text/template" id="refinements-lists-item-template">
<label class="{{cssClasses.label}} {{#isRefined}}checked{{/isRefined}} flex items-center mb-2.5">
<input class="{{cssClasses.checkbox}}" {{#isRefined}}checked{{/isRefined}} type="checkbox" value="{{value}}" />
<span class="pl-2">{{value}}</span>
<span class="{{cssClasses.count}} flex-grow text-right">{{count}}</span>
</label>
</script><script>
'use strict';
(function () {
const modals = [];
const excludedFromFocusTrapping = new Set();
function trapFocusInNextModalWithOverlay() {
for (let idx = modals.length -1; idx >= 0; idx--) {
const nextOnStack = modals[idx];
const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
if (! isOverlayDisabled(nextDialogElement)) {
hyva.trapFocus(nextDialogElement);
break;
}
}
}
function focusables(dialogElement) {
const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
return Array.from(dialogElement.querySelectorAll(selector))
.filter(el => !el.hasAttribute('disabled'));
}
function firstVisible(elements) {
const a = Array.from(elements);
for (let i = 0; i < a.length; i++) {
if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
}
return null;
}
function isInViewport(element) {
const rect = element && element.getBoundingClientRect();
return rect &&
rect.top >= 0 &&
rect.left >= 0 &&
rect.right <= window.innerWidth &&
rect.bottom <= window.innerHeight;
}
function setFocusAfterTransition(dialogElement, duration) {
const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
next: for (let candidate of candidates) {
for (let child of nested) {
if (child.contains(candidate)) continue next;
}
setTimeout(() => candidate.focus(), 50);
break;
}
window.setTimeout(() => {
const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
focusables(dialogElement)[0] ||
null;
focusElement && isInViewport(focusElement) && focusElement.focus();
}, Math.max(1, duration));
}
function determineTrigger($refs, dialog, trigger) {
if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
return dialog.target;
}
if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
return trigger.target;
}
if (typeof trigger === 'string') {
try {
return $refs[trigger] || document.querySelector(trigger)
} catch (e) {}
}
if (trigger instanceof Element) {
return trigger;
}
return null;
}
function isOverlayDisabled(dialog) {
return dialog && dialog.hasAttribute('x-no-overlay')
}
function areRemainingModalsWithoutOverlay(modals)
{
const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
return overflowDisabled.length === modals.length;
}
window.hyva.modal = function(options = {}) {
if (this.$el && this.$el.dataset && this.$el.dataset.options) {
try {
options = Object.assign(options, JSON.parse(this.$el.dataset.options || '{}'));
} catch (e) {
throw new Error('Cannot read the dialog options from the data-options attribute: not valid JSON');
}
}
const config = Object.assign({
dialog: 'dialog', duration: 300, transitionEnter: 'transition ease-out duration-300',
transitionEnterStart: 'opacity-0',
transitionEnterEnd: 'opacity-100',
transitionLeave: 'transition ease-in duration-300',
transitionLeaveStart: 'opacity-100',
transitionLeaveEnd: 'opacity-0',
}, options);
let lastHide = 0;
return {
opened: {},
show(dialog, trigger) {
const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
const name = typeof dialog === 'string' ? dialog : config.dialog;
const dialogElement = this.$refs[name];
if (! dialogElement) {
return;
}
const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
dialogElement.scrollTop = 0;
if (this.opened[name]) {
return;
}
if (focusTargetAfterHide) {
focusTargetAfterHide.setAttribute('aria-expanded', 'true');
}
this.opened[name] = true;
useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
setFocusAfterTransition(dialogElement, config.duration);
const frame = {name, instance: this, focusTarget: focusTargetAfterHide, time: Date.now()};
modals.push(frame);
if (useOverlay) {
document.body.classList.add('overflow-hidden');
}
return new Promise(resolve => frame.resolve = resolve);
},
cancel() {
this.hide(false);
},
ok() {
this.hide(true);
},
hide(value) {
if (Date.now() - lastHide < config.duration) {
return;
}
lastHide = Date.now();
const modal = modals.pop() || {};
if (! modal.instance) {
return;
}
const name = modal.name;
this.opened[name] = false;
hyva.releaseFocus(modal.instance.$refs[modal.name])
trapFocusInNextModalWithOverlay();
const nextFocusAfterHide = modal.focusTarget;
nextFocusAfterHide && setTimeout(() => {
nextFocusAfterHide.setAttribute('aria-expanded', 'false');
nextFocusAfterHide.focus()
}, config.duration);
if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
document.body.classList.remove('overflow-hidden');
}
modal.resolve(value);
},
overlay(dialog) {
dialog = this.$el.dataset.dialogRefName || dialog;
const name = typeof dialog === 'string' ? dialog : config.dialog;
return {
['x-show']() {
return this.opened[name]
},
['x-transition:enter']: config.transitionEnter,
['x-transition:enter-start']: config.transitionEnterStart,
['x-transition:enter-end']: config.transitionEnterEnd,
['x-transition:leave']: config.transitionLeave,
['x-transition:leave-start']: config.transitionLeaveStart,
['x-transition:leave-end']: config.transitionLeaveEnd,
['@hyva-modal-show.window'](event) {
event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
}
};
},
showDialogOnInit() {
const parent = this.$el.closest('[data-dialog-ref-name]');
if (parent && parent.dataset.dialogRefName) {
this.$dispatch('hyva-modal-show', {dialog: parent.dataset.dialogRefName})
}
}
};
}
window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
window.hyva.modal.pop = function () {
if (modals.length > 0) {
const modal = modals[modals.length -1];
modal.instance.hide();
}
}
window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
typeof selectors === 'string' || selectors instanceof String
? excludedFromFocusTrapping.add(selectors)
: selectors.map(selector => excludedFromFocusTrapping.add(selector));
}
window.hyva.modal.eventListeners = {
keydown: event => {
if (event.key === 'Escape') {
window.hyva.modal.pop();
}
},
click: event => {
if (modals.length > 0) {
const modal = modals[modals.length -1];
const dialog = modal.instance.$refs[modal.name];
if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
! isOverlayDisabled(dialog) && // if dialog has overlay
! dialog.contains(event.target)) { // if click is outside of dialog
modal.instance.hide();
}
}
}
};
document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
document.addEventListener('click', window.hyva.modal.eventListeners.click);
})();
window.addEventListener('alpine:init', () => {
Alpine.data('hyvaModal', window.hyva.modal);
}, {once: true});
</script>
<script>
'use strict';
(function () {
const EVENT_NAME = 'amhideprice-swatch-change';
const selectors = {
swatchOptions: 'div[x-data^=initConfigurable][x-data*=Options]',
parentSwatchContainers: '.product_addtocart_form',
qty: '[x-data^=initQtyField]',
wishlist: '[data-addto="wishlist"]',
compare: '[data-addto="compare"]',
addToCart: '.product-info button.btn.btn-primary, [x-data^=initQtyField] ~ button.btn.btn-primary',
replaceAddToCart: '.amasty-hide-price-button',
replacePriceButton: '[data-amhide="AmastyHidePricePopup"]',
priceBox: '.price-box.price-final_price',
tierPriceBox: '.price-box.price-tier_price'
};
const injectSwatchObserver = function () {
const swatches = document.querySelectorAll(selectors.swatchOptions);
swatches.forEach(swatch => {
const injectedDispatch = `$dispatch('${EVENT_NAME}', `
+ `{ productIndex: productIndex, element: $el, optionConfig: optionConfig })`;
let mutatedInitAttribute = swatch.getAttribute('x-init');
mutatedInitAttribute += `; $watch('productIndex', (productIndex) => { ${injectedDispatch} });`;
swatch.setAttribute('x-init', mutatedInitAttribute);
});
};
const hideProductElements = function ({ detail: eventData }) {
const { element, optionConfig, productIndex } = eventData;
const isVisible = optionConfig?.optionPrices?.[productIndex]?.finalPrice?.amount !== 0;
setProductElementsVisibility(element, isVisible, optionConfig, productIndex);
}
const setProductElementsVisibility = function (element, isVisible, optionConfig, productIndex) {
const parentNode = getParentNode(element, optionConfig);
if (!parentNode) {
return;
}
const affectedNodes = getAffectedNodes(parentNode, optionConfig, productIndex);
affectedNodes.forEach((node) => {
isVisible ? node.classList.remove('hidden') : node.classList.add('hidden');
});
amHidePrice.removeHidePriceButtons(parentNode);
!isVisible && insertHidePriceElements(parentNode, optionConfig, productIndex);
}
const getParentNode = function (element, optionConfig) {
const parentSwatchContainers = selectors.parentSwatchContainers;
const additionalSelector = optionConfig?.amHidePrice?.selectors?.parent || '';
const parentContainers = additionalSelector ? `${parentSwatchContainers}, ${additionalSelector}` : parentSwatchContainers;
return element.closest(parentContainers) || element.parentNode?.parentNode;
}
const insertHidePriceElements = function (parentNode, optionConfig, productIndex) {
const hidePriceChildren = optionConfig?.amHidePrice?.children?.[productIndex];
const addToCartHtml = optionConfig?.amHidePrice?.addToCartHtml;
if (hidePriceChildren) {
amHidePrice.insertAfterDomElement(parentNode, selectors.priceBox, hidePriceChildren);
}
if (addToCartHtml) {
amHidePrice.insertAfterDomElement(parentNode, selectors.addToCart, addToCartHtml);
}
}
const getAffectedNodes = function (parentNode, optionConfig, productIndex) {
if (!parentNode) {
return [];
}
const allAffectedNodes = [selectors.qty];
if (optionConfig?.amHidePrice?.hide_compare) {
allAffectedNodes.push(selectors.compare);
}
if (optionConfig?.amHidePrice?.hide_wishlist) {
allAffectedNodes.push(selectors.wishlist);
}
if (optionConfig?.amHidePrice?.hide_price || optionConfig?.amHidePrice?.children?.[productIndex]) {
allAffectedNodes.push(selectors.priceBox);
allAffectedNodes.push(selectors.tierPriceBox);
}
if (optionConfig?.amHidePrice?.hide_addtocart) {
allAffectedNodes.push(selectors.addToCart);
if (optionConfig?.amHidePrice?.selectors?.add_to_cart) {
allAffectedNodes.push(optionConfig.amHidePrice.selectors.add_to_cart);
}
}
return parentNode.querySelectorAll(allAffectedNodes.join(',')) ?? [];
}
injectSwatchObserver();
window.addEventListener(EVENT_NAME, hideProductElements);
})();
</script>
<script>
'use strict';
(function (amHidePrice) {
amHidePrice.activateScripts = function (contentNode) {
// Extract all the script tags from the content.
const tmpScripts = contentNode.getElementsByTagName('script');
if (tmpScripts.length > 0) {
const scripts = [];
for (let i = 0; i < tmpScripts.length; i++) {
scripts.push(tmpScripts[i]);
}
for (let i = 0; i < scripts.length; i++) {
let script = document.createElement('script');
script.innerHTML = scripts[i].innerHTML;
document.head.appendChild(script);
scripts[i].parentNode.removeChild(scripts[i]);
}
}
return contentNode;
};
amHidePrice.removeScripts = function (contentNode) {
let scripts = contentNode.getElementsByTagName('script');
for (let i = 0; i < scripts.length; i++) {
scripts[i].parentNode.removeChild(scripts[i]);
}
return contentNode;
};
amHidePrice.insertAfterDomElement = function (parentNode, targetSelector, content) {
const node = parentNode.querySelector(targetSelector);
if (!node || !content) {
return;
}
const contentNode = document.createElement('div');
contentNode.setAttribute("data-id","amHidePriceButton");
contentNode.insertAdjacentHTML('afterbegin', content);
node.after(contentNode);
amHidePrice.activateScripts(contentNode);
};
amHidePrice.removeHidePriceButtons = function (parentNode) {
Object.values(parentNode.querySelectorAll(this.amHidePriceButtonSelector)).forEach(
(amHidePriceButton) => {
amHidePriceButton.remove();
});
}
amHidePrice.amHidePriceButtonSelector = '[data-id="amHidePriceButton"]';
} (window.amHidePrice = window.amHidePrice || {}));
</script>
<script>
'use strict';
function initAmQuoteButton(addUrl, isProductListing, isLoggedIn) {
return {
addUrl: addUrl,
isProductListing: isProductListing,
isLoggedIn: isLoggedIn,
initButton: function ($el) {
if (!this.isProductListing) {
$el.parentNode.classList.add('flex-wrap');
}
},
submitQuote: function ($el) {
const originalForm = this.getFormNode($el);
if (!originalForm || !originalForm.checkValidity()) {
originalForm?.reportValidity();
return;
}
const formToSubmit = this.cloneForm(originalForm);
formToSubmit.action = this.isProductListing
? formToSubmit.action.replace('checkout', 'amasty_quote')
: this.addUrl;
formToSubmit.classList.add('hidden');
document.body.appendChild(formToSubmit);
formToSubmit.requestSubmit();
},
getFormNode: function ($el) {
if (this.isProductListing) {
return $el.closest('form');
}
return $el.form;
},
cloneForm: function(originalForm) {
const clonedForm = originalForm.cloneNode();
Array.from(originalForm.elements).forEach((element) => {
const clonedElement = element.cloneNode();
this.removeAlpineAttributes(clonedElement.attributes);
clonedElement.removeAttribute('form');
this.cloneSelectedElements(element, clonedElement);
clonedForm.appendChild(clonedElement);
});
return clonedForm;
},
removeAlpineAttributes: function (AttrNodeMap) {
Array.from(AttrNodeMap)
.filter((attribute) => /^(:|x-|@)\S*/.test(attribute.name))
.forEach((attribute) => AttrNodeMap.removeNamedItem(attribute.name));
},
cloneSelectedElements: function (element, clonedElement) {
if (element.tagName === 'SELECT') {
for (const option of element.options) {
const clonedOption = option.cloneNode();
this.removeAlpineAttributes(clonedOption.attributes);
clonedOption.selected = option.selected;
clonedElement.appendChild(clonedOption);
}
}
}
};
}
</script>
<div x-cloak
x-data="{ ...hyva.modal(), ...initModifyCartQuoteRemoveRequest() }"
@toggle-cart.window="modifyRemoveRequest()"
@amquote-remove-request.window="showConfirm($event)">
<div x-cloak data-dialog-ref-name="amquote-remove-request"
x-bind="overlay"
class="fixed inset-0 bg-black bg-opacity-50 z-50">
<div class="fixed flex justify-center items-center text-left z-40 inset-0">
<div x-ref="amquote-remove-request" role="dialog" aria-modal="true"
class="inline-block bg-white shadow-xl rounded-lg p-10 max-h-screen overflow-auto overscroll-y-contain max-w-lg">
<div class="flex flex-col w-full">
<p>
Are you sure you would like to remove this item from the shopping cart? </p>
<p>
This item is a part of the approved quote. Removing it will remove all quote items from the cart. </p>
</div>
<div class="w-full flex flex-row gap-3 mt-4">
<button type="button"
class="btn btn-secondary"
@click="hide('amquote-remove-request')">
Cancel </button>
<button type="button"
class="btn btn-primary"
@click="removeFromMiniCart">
OK </button>
</div>
</div>
</div>
</div>
</div>
<script>
'use strict';
function initModifyCartQuoteRemoveRequest() {
const selectors = {
configureQuoteButtons: '#cart-drawer .btn[href^="#hide-element"]',
deleteQuoteButton: 'button.btn.btn-primary'
}
return {
itemId: null,
modifyRemoveRequest: function () {
const configureQuoteButtons = document.querySelectorAll(selectors.configureQuoteButtons);
configureQuoteButtons.forEach((configureButton) => {
const itemId = configureButton.href?.match(/(?:#hide-element-)(?<itemId>\d+)/).groups?.itemId;
!!itemId && this.replaceDeleteAction(
itemId.toString(),
this.findDeleteQuoteButton(configureButton.parentNode)
);
});
},
findDeleteQuoteButton: function (parentNode) {
const allButtons = parentNode.querySelectorAll(selectors.deleteQuoteButton);
return Array.from(allButtons).filter((button) => {
return button.attributes['@click']?.value.includes('deleteItemFromCart');
});
},
replaceDeleteAction: function (itemId, deleteButtons) {
deleteButtons.forEach((deleteButton) => {
const cloneButton = deleteButton.cloneNode(true);
cloneButton.removeAttribute('@click');
cloneButton.addEventListener('click', () => {
window.dispatchEvent(new CustomEvent('amquote-remove-request', { detail: itemId }));
});
deleteButton.parentNode.insertBefore(cloneButton, deleteButton);
deleteButton.remove();
});
},
showConfirm: function ({ detail: itemId }) {
this.itemId = itemId;
this.show('amquote\u002Dremove\u002Drequest');
},
removeFromMiniCart: function () {
const url = BASE_URL + 'amasty_quote/quote/removeFromMinicart';
fetch(url, {
headers: {
'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
},
body: 'form_key=' + hyva.getFormKey() + '&item_id=' + this.itemId,
method: 'POST'
}).then((response) => {
if (response.redirected) {
window.location.href = response.url;
} else if (response.ok) {
return response.json();
}
}).then((response) => {
if (response.success === true) {
window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
} else if (!!response.error_message) {
window.dispatchMessages && window.dispatchMessages([{
type: 'error',
text: response.error_message
}]);
}
}).finally(() => {
this.itemId = null;
this.hide('amquote\u002Dremove\u002Drequest');
});
}
};
}
</script>
<div x-cloak x-data="{...initAmBanners()}" x-init="initBanners()">
<div
class="z-50 fixed inset-0 grid place-items-center bg-white/70 text-slate-800"
x-cloak
x-show="isLoading"
x-transition.opacity.duration.200ms
>
<div class="flex gap-10 items-center p-4">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" width="57" height="57" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
<style>
@keyframes spinner-ball-triangle1 {
0% { transform: translate(0%, 0%); }
33% { transform: translate(38%, -79%); }
66% { transform: translate(77%, 0%); }
100% { transform: translate(0%, 0%); }
}
@keyframes spinner-ball-triangle2 {
0% { transform: translate(0%, 0%); }
33% { transform: translate(38%, 79%); }
66% { transform: translate(-38%, 79%); }
100% { transform: translate(0%, 0%); }
}
@keyframes spinner-ball-triangle3 {
0% { transform: translate(0%, 0%); }
33% { transform: translate(-77%, 0%); }
66% { transform: translate(-38%, -79%); }
100% { transform: translate(0%, 0%); }
}
</style>
<circle cx="5" cy="50" r="5" style="animation: spinner-ball-triangle1 2.2s linear infinite"/>
<circle cx="27" cy="5" r="5" style="animation: spinner-ball-triangle2 2.2s linear infinite"/>
<circle cx="49" cy="50" r="5" style="animation: spinner-ball-triangle3 2.2s linear infinite"/>
</svg>
<span class="text-xl select-none">
Loading... </span>
</div>
</div>
</div>
<script>
'use strict';
function initAmBanners() {
return {
options: {
sections: [],
content: [],
banners: [],
injectorSectionId: null,
injectorParams: {}
},
isLoading: true,
injectorResolver: {},
initBanners: function () {
this.options = {"sections":{"10":[2]},"content":{"2":"\n<div data-banner-id=\"2\">\n <img src='https:\/\/cdn-v2.getfpv.com\/media\/amasty\/ampromobanners\/' alt='' \/> <\/div>\n"},"injectorParams":{"containerSelector":".products-grid .product-items:not(.amasty-banner-items)","itemSelector":".products-grid .product-items:not(.amasty-banner-items) > .product-item","banners":[]},"banners":[],"injectorSectionId":14};
this.injectorResolver = amBannerInjectorResolver?.();
this.insertBanners();
this.isLoading = false;
},
insertBanners: function () {
document.querySelectorAll('[data-role="amasty-banner-container"]').forEach((container) => {
const sectionId = container.getAttribute('data-position');
if (sectionId) {
this.loadBannerBySection(sectionId, container);
} else {
this.loadBannerByBannerId(container);
}
});
},
getBanners: function (bannerId) {
if (this.options.banners.indexOf(bannerId) === -1) {
return [];
}
const insertedBanner = this.banners.find((element) => {
return element === bannerId;
});
return content[insertedBanner];
},
getSectionBanners: function (section) {
if (!(section in this.options.sections)) {
return [];
}
return this.options.sections[section].map((id) => {
return this.options.content[id];
});
},
loadBannerBySection: function (sectionId, container) {
container.innerHTML = this.getSectionBanners(sectionId).join('');
this.injectorResolver?.resolve(sectionId, this.options.injectorParams);
this.updateSection(`[data-role="amasty-banner-container"][data-position="${sectionId}"]`, container);
},
loadBannerByBannerId: function (container) {
const bannerId = container.getAttribute('data-bannerid');
container.innerHTML = (this.getBanners(bannerId));
this.updateSection(`[data-role="amasty-banner-container"][data-bannerid="${bannerId}"]`, container);
},
updateSection: function(containerSelector, container) {
hyva.replaceDomElement(
containerSelector,
container.innerHTML
);
}
}
}
</script>
<script type="text/json" id="default-section-data">
{"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"cart":[],"directory-data":{"AD":{"name":"Andorra"},"AE":{"name":"United Arab Emirates"},"AG":{"name":"Antigua & Barbuda"},"AI":{"name":"Anguilla"},"AL":{"name":"Albania"},"AM":{"name":"Armenia"},"AO":{"name":"Angola"},"AQ":{"name":"Antarctica"},"AR":{"name":"Argentina"},"AS":{"name":"American Samoa"},"AT":{"name":"Austria","regions":{"102":{"code":"BL","name":"Burgenland"},"99":{"code":"KN","name":"K\u00e4rnten"},"96":{"code":"NO","name":"Nieder\u00f6sterreich"},"97":{"code":"OO","name":"Ober\u00f6sterreich"},"98":{"code":"SB","name":"Salzburg"},"100":{"code":"ST","name":"Steiermark"},"101":{"code":"TI","name":"Tirol"},"103":{"code":"VB","name":"Vorarlberg"},"95":{"code":"WI","name":"Wien"}}},"AU":{"name":"Australia","regions":{"485":{"code":"ACT","name":"Australia Capital Territory"},"486":{"code":"NSW","name":"New South Wales"},"487":{"code":"NT","name":"Northern Territory"},"488":{"code":"QLD","name":"Queensland"},"489":{"code":"SA","name":"South Australia"},"490":{"code":"TAS","name":"Tasmania"},"491":{"code":"VIC","name":"Victoria"},"492":{"code":"WA","name":"Western Australia"}}},"AW":{"name":"Aruba"},"AX":{"name":"\u00c5land Islands"},"AZ":{"name":"Azerbaijan"},"BA":{"name":"Bosnia & Herzegovina"},"BB":{"name":"Barbados"},"BD":{"name":"Bangladesh"},"BE":{"name":"Belgium"},"BF":{"name":"Burkina Faso"},"BG":{"name":"Bulgaria"},"BH":{"name":"Bahrain"},"BI":{"name":"Burundi"},"BJ":{"name":"Benin"},"BL":{"name":"St. Barth\u00e9lemy"},"BM":{"name":"Bermuda"},"BN":{"name":"Brunei"},"BO":{"name":"Bolivia"},"BR":{"name":"Brazil"},"BS":{"name":"Bahamas"},"BT":{"name":"Bhutan"},"BV":{"name":"Bouvet Island"},"BW":{"name":"Botswana"},"BY":{"name":"Belarus","regions":{"493":{"code":"BY-BR","name":"Bresckaja voblas\u0107"},"494":{"code":"BY-HO","name":"Homie\u013askaja voblas\u0107"},"495":{"code":"BY-HM","name":"Horad Minsk"},"496":{"code":"BY-HR","name":"Hrodzienskaja voblas\u0107"},"497":{"code":"BY-MA","name":"Mahilio\u016dskaja voblas\u0107"},"498":{"code":"BY-MI","name":"Minskaja voblas\u0107"},"499":{"code":"BY-VI","name":"Viciebskaja voblas\u0107"}}},"BZ":{"name":"Belize"},"CA":{"name":"Canada","regions":{"66":{"code":"AB","name":"Alberta"},"67":{"code":"BC","name":"British Columbia"},"68":{"code":"MB","name":"Manitoba"},"70":{"code":"NB","name":"New Brunswick"},"69":{"code":"NL","name":"Newfoundland and Labrador"},"72":{"code":"NT","name":"Northwest Territories"},"71":{"code":"NS","name":"Nova Scotia"},"73":{"code":"NU","name":"Nunavut"},"74":{"code":"ON","name":"Ontario"},"75":{"code":"PE","name":"Prince Edward Island"},"76":{"code":"QC","name":"Quebec"},"77":{"code":"SK","name":"Saskatchewan"},"78":{"code":"YT","name":"Yukon Territory"}}},"CC":{"name":"Cocos (Keeling) Islands"},"CD":{"name":"Congo - Kinshasa"},"CF":{"name":"Central African Republic"},"CG":{"name":"Congo - Brazzaville"},"CH":{"name":"Switzerland","regions":{"104":{"code":"AG","name":"Aargau"},"106":{"code":"AR","name":"Appenzell Ausserrhoden"},"105":{"code":"AI","name":"Appenzell Innerrhoden"},"108":{"code":"BL","name":"Basel-Landschaft"},"109":{"code":"BS","name":"Basel-Stadt"},"107":{"code":"BE","name":"Bern"},"110":{"code":"FR","name":"Friburg"},"111":{"code":"GE","name":"Geneva"},"112":{"code":"GL","name":"Glarus"},"113":{"code":"GR","name":"Graub\u00fcnden"},"114":{"code":"JU","name":"Jura"},"115":{"code":"LU","name":"Lucerne"},"116":{"code":"NE","name":"Neuch\u00e2tel"},"117":{"code":"NW","name":"Nidwalden"},"118":{"code":"OW","name":"Obwalden"},"120":{"code":"SH","name":"Schaffhausen"},"122":{"code":"SZ","name":"Schwyz"},"121":{"code":"SO","name":"Solothurn"},"119":{"code":"SG","name":"St. Gallen"},"123":{"code":"TG","name":"Thurgau"},"124":{"code":"TI","name":"Ticino"},"125":{"code":"UR","name":"Uri"},"126":{"code":"VD","name":"Vaud"},"127":{"code":"VS","name":"Wallis"},"128":{"code":"ZG","name":"Zug"},"129":{"code":"ZH","name":"Z\u00fcrich"}}},"CI":{"name":"C\u00f4te d\u2019Ivoire"},"CK":{"name":"Cook Islands"},"CL":{"name":"Chile"},"CM":{"name":"Cameroon"},"CN":{"name":"China"},"CO":{"name":"Colombia"},"CR":{"name":"Costa Rica","regions":{"501":{"code":"CR-AL","name":"Alajuela"},"502":{"code":"CR-CA","name":"Cartago"},"504":{"code":"CR-GU","name":"Guanacaste"},"503":{"code":"CR-HE","name":"Heredia"},"506":{"code":"CR-LI","name":"Lim\u00f3n"},"505":{"code":"CR-PU","name":"Puntarenas"},"500":{"code":"CR-SJ","name":"San Jos\u00e9"}}},"CU":{"name":"Cuba"},"CV":{"name":"Cape Verde"},"CX":{"name":"Christmas Island"},"CY":{"name":"Cyprus"},"CZ":{"name":"Czechia","regions":{"509":{"code":"CZ-31","name":"Jiho\u010desk\u00fd kraj"},"517":{"code":"CZ-64","name":"Jihomoravsk\u00fd kraj"},"511":{"code":"CZ-41","name":"Karlovarsk\u00fd kraj"},"516":{"code":"CZ-63","name":"Kraj Vyso\u010dina"},"514":{"code":"CZ-52","name":"Kr\u00e1lov\u00e9hradeck\u00fd kraj"},"513":{"code":"CZ-51","name":"Libereck\u00fd kraj"},"520":{"code":"CZ-80","name":"Moravskoslezsk\u00fd kraj"},"518":{"code":"CZ-71","name":"Olomouck\u00fd kraj"},"515":{"code":"CZ-53","name":"Pardubick\u00fd kraj"},"510":{"code":"CZ-32","name":"Plze\u0148sk\u00fd kraj"},"507":{"code":"CZ-10","name":"Praha, Hlavn\u00ed m\u011bsto"},"508":{"code":"CZ-20","name":"St\u0159edo\u010desk\u00fd kraj"},"512":{"code":"CZ-42","name":"\u00dasteck\u00fd kraj"},"519":{"code":"CZ-72","name":"Zl\u00ednsk\u00fd kraj"}}},"DE":{"name":"Germany","regions":{"80":{"code":"BAW","name":"Baden-W\u00fcrttemberg"},"81":{"code":"BAY","name":"Bayern"},"82":{"code":"BER","name":"Berlin"},"83":{"code":"BRG","name":"Brandenburg"},"84":{"code":"BRE","name":"Bremen"},"85":{"code":"HAM","name":"Hamburg"},"86":{"code":"HES","name":"Hessen"},"87":{"code":"MEC","name":"Mecklenburg-Vorpommern"},"79":{"code":"NDS","name":"Niedersachsen"},"88":{"code":"NRW","name":"Nordrhein-Westfalen"},"89":{"code":"RHE","name":"Rheinland-Pfalz"},"90":{"code":"SAR","name":"Saarland"},"91":{"code":"SAS","name":"Sachsen"},"92":{"code":"SAC","name":"Sachsen-Anhalt"},"93":{"code":"SCN","name":"Schleswig-Holstein"},"94":{"code":"THE","name":"Th\u00fcringen"}}},"DJ":{"name":"Djibouti"},"DK":{"name":"Denmark"},"DM":{"name":"Dominica"},"DO":{"name":"Dominican Republic"},"DZ":{"name":"Algeria"},"EC":{"name":"Ecuador"},"EE":{"name":"Estonia","regions":{"340":{"code":"EE-37","name":"Harjumaa"},"341":{"code":"EE-39","name":"Hiiumaa"},"342":{"code":"EE-44","name":"Ida-Virumaa"},"344":{"code":"EE-51","name":"J\u00e4rvamaa"},"343":{"code":"EE-49","name":"J\u00f5gevamaa"},"346":{"code":"EE-59","name":"L\u00e4\u00e4ne-Virumaa"},"345":{"code":"EE-57","name":"L\u00e4\u00e4nemaa"},"348":{"code":"EE-67","name":"P\u00e4rnumaa"},"347":{"code":"EE-65","name":"P\u00f5lvamaa"},"349":{"code":"EE-70","name":"Raplamaa"},"350":{"code":"EE-74","name":"Saaremaa"},"351":{"code":"EE-78","name":"Tartumaa"},"352":{"code":"EE-82","name":"Valgamaa"},"353":{"code":"EE-84","name":"Viljandimaa"},"354":{"code":"EE-86","name":"V\u00f5rumaa"}}},"EG":{"name":"Egypt"},"EH":{"name":"Western Sahara"},"ER":{"name":"Eritrea"},"ES":{"name":"Spain","regions":{"130":{"code":"A Coru\u0441a","name":"A Coru\u00f1a"},"131":{"code":"Alava","name":"Alava"},"132":{"code":"Albacete","name":"Albacete"},"133":{"code":"Alicante","name":"Alicante"},"134":{"code":"Almeria","name":"Almeria"},"135":{"code":"Asturias","name":"Asturias"},"136":{"code":"Avila","name":"Avila"},"137":{"code":"Badajoz","name":"Badajoz"},"138":{"code":"Baleares","name":"Baleares"},"139":{"code":"Barcelona","name":"Barcelona"},"140":{"code":"Burgos","name":"Burgos"},"141":{"code":"Caceres","name":"Caceres"},"142":{"code":"Cadiz","name":"Cadiz"},"143":{"code":"Cantabria","name":"Cantabria"},"144":{"code":"Castellon","name":"Castellon"},"145":{"code":"Ceuta","name":"Ceuta"},"146":{"code":"Ciudad Real","name":"Ciudad Real"},"147":{"code":"Cordoba","name":"Cordoba"},"148":{"code":"Cuenca","name":"Cuenca"},"149":{"code":"Girona","name":"Girona"},"150":{"code":"Granada","name":"Granada"},"151":{"code":"Guadalajara","name":"Guadalajara"},"152":{"code":"Guipuzcoa","name":"Guipuzcoa"},"153":{"code":"Huelva","name":"Huelva"},"154":{"code":"Huesca","name":"Huesca"},"155":{"code":"Jaen","name":"Jaen"},"156":{"code":"La Rioja","name":"La Rioja"},"157":{"code":"Las Palmas","name":"Las Palmas"},"158":{"code":"Leon","name":"Leon"},"159":{"code":"Lleida","name":"Lleida"},"160":{"code":"Lugo","name":"Lugo"},"161":{"code":"Madrid","name":"Madrid"},"162":{"code":"Malaga","name":"Malaga"},"163":{"code":"Melilla","name":"Melilla"},"164":{"code":"Murcia","name":"Murcia"},"165":{"code":"Navarra","name":"Navarra"},"166":{"code":"Ourense","name":"Ourense"},"167":{"code":"Palencia","name":"Palencia"},"168":{"code":"Pontevedra","name":"Pontevedra"},"169":{"code":"Salamanca","name":"Salamanca"},"170":{"code":"Santa Cruz de Tenerife","name":"Santa Cruz de Tenerife"},"171":{"code":"Segovia","name":"Segovia"},"172":{"code":"Sevilla","name":"Sevilla"},"173":{"code":"Soria","name":"Soria"},"174":{"code":"Tarragona","name":"Tarragona"},"175":{"code":"Teruel","name":"Teruel"},"176":{"code":"Toledo","name":"Toledo"},"177":{"code":"Valencia","name":"Valencia"},"178":{"code":"Valladolid","name":"Valladolid"},"179":{"code":"Vizcaya","name":"Vizcaya"},"180":{"code":"Zamora","name":"Zamora"},"181":{"code":"Zaragoza","name":"Zaragoza"}}},"ET":{"name":"Ethiopia"},"FI":{"name":"Finland","regions":{"339":{"code":"Ahvenanmaa","name":"Ahvenanmaa"},"333":{"code":"Etel\u00e4-Karjala","name":"Etel\u00e4-Karjala"},"326":{"code":"Etel\u00e4-Pohjanmaa","name":"Etel\u00e4-Pohjanmaa"},"325":{"code":"Etel\u00e4-Savo","name":"Etel\u00e4-Savo"},"337":{"code":"It\u00e4-Uusimaa","name":"It\u00e4-Uusimaa"},"322":{"code":"Kainuu","name":"Kainuu"},"335":{"code":"Kanta-H\u00e4me","name":"Kanta-H\u00e4me"},"330":{"code":"Keski-Pohjanmaa","name":"Keski-Pohjanmaa"},"331":{"code":"Keski-Suomi","name":"Keski-Suomi"},"338":{"code":"Kymenlaakso","name":"Kymenlaakso"},"320":{"code":"Lappi","name":"Lappi"},"334":{"code":"P\u00e4ij\u00e4t-H\u00e4me","name":"P\u00e4ij\u00e4t-H\u00e4me"},"328":{"code":"Pirkanmaa","name":"Pirkanmaa"},"327":{"code":"Pohjanmaa","name":"Pohjanmaa"},"323":{"code":"Pohjois-Karjala","name":"Pohjois-Karjala"},"321":{"code":"Pohjois-Pohjanmaa","name":"Pohjois-Pohjanmaa"},"324":{"code":"Pohjois-Savo","name":"Pohjois-Savo"},"329":{"code":"Satakunta","name":"Satakunta"},"336":{"code":"Uusimaa","name":"Uusimaa"},"332":{"code":"Varsinais-Suomi","name":"Varsinais-Suomi"}}},"FJ":{"name":"Fiji"},"FK":{"name":"Falkland Islands"},"FM":{"name":"Micronesia"},"FO":{"name":"Faroe Islands"},"FR":{"name":"France","regions":{"182":{"code":"01","name":"Ain"},"183":{"code":"02","name":"Aisne"},"184":{"code":"03","name":"Allier"},"185":{"code":"04","name":"Alpes-de-Haute-Provence"},"187":{"code":"06","name":"Alpes-Maritimes"},"188":{"code":"07","name":"Ard\u00e8che"},"189":{"code":"08","name":"Ardennes"},"190":{"code":"09","name":"Ari\u00e8ge"},"191":{"code":"10","name":"Aube"},"192":{"code":"11","name":"Aude"},"193":{"code":"12","name":"Aveyron"},"249":{"code":"67","name":"Bas-Rhin"},"194":{"code":"13","name":"Bouches-du-Rh\u00f4ne"},"195":{"code":"14","name":"Calvados"},"196":{"code":"15","name":"Cantal"},"197":{"code":"16","name":"Charente"},"198":{"code":"17","name":"Charente-Maritime"},"199":{"code":"18","name":"Cher"},"200":{"code":"19","name":"Corr\u00e8ze"},"201":{"code":"2A","name":"Corse-du-Sud"},"203":{"code":"21","name":"C\u00f4te-d'Or"},"204":{"code":"22","name":"C\u00f4tes-d'Armor"},"205":{"code":"23","name":"Creuse"},"261":{"code":"79","name":"Deux-S\u00e8vres"},"206":{"code":"24","name":"Dordogne"},"207":{"code":"25","name":"Doubs"},"208":{"code":"26","name":"Dr\u00f4me"},"273":{"code":"91","name":"Essonne"},"209":{"code":"27","name":"Eure"},"210":{"code":"28","name":"Eure-et-Loir"},"211":{"code":"29","name":"Finist\u00e8re"},"212":{"code":"30","name":"Gard"},"214":{"code":"32","name":"Gers"},"215":{"code":"33","name":"Gironde"},"250":{"code":"68","name":"Haut-Rhin"},"202":{"code":"2B","name":"Haute-Corse"},"213":{"code":"31","name":"Haute-Garonne"},"225":{"code":"43","name":"Haute-Loire"},"234":{"code":"52","name":"Haute-Marne"},"252":{"code":"70","name":"Haute-Sa\u00f4ne"},"256":{"code":"74","name":"Haute-Savoie"},"269":{"code":"87","name":"Haute-Vienne"},"186":{"code":"05","name":"Hautes-Alpes"},"247":{"code":"65","name":"Hautes-Pyr\u00e9n\u00e9es"},"274":{"code":"92","name":"Hauts-de-Seine"},"216":{"code":"34","name":"H\u00e9rault"},"217":{"code":"35","name":"Ille-et-Vilaine"},"218":{"code":"36","name":"Indre"},"219":{"code":"37","name":"Indre-et-Loire"},"220":{"code":"38","name":"Is\u00e8re"},"221":{"code":"39","name":"Jura"},"222":{"code":"40","name":"Landes"},"223":{"code":"41","name":"Loir-et-Cher"},"224":{"code":"42","name":"Loire"},"226":{"code":"44","name":"Loire-Atlantique"},"227":{"code":"45","name":"Loiret"},"228":{"code":"46","name":"Lot"},"229":{"code":"47","name":"Lot-et-Garonne"},"230":{"code":"48","name":"Loz\u00e8re"},"231":{"code":"49","name":"Maine-et-Loire"},"232":{"code":"50","name":"Manche"},"233":{"code":"51","name":"Marne"},"235":{"code":"53","name":"Mayenne"},"236":{"code":"54","name":"Meurthe-et-Moselle"},"237":{"code":"55","name":"Meuse"},"238":{"code":"56","name":"Morbihan"},"239":{"code":"57","name":"Moselle"},"240":{"code":"58","name":"Ni\u00e8vre"},"241":{"code":"59","name":"Nord"},"242":{"code":"60","name":"Oise"},"243":{"code":"61","name":"Orne"},"257":{"code":"75","name":"Paris"},"244":{"code":"62","name":"Pas-de-Calais"},"245":{"code":"63","name":"Puy-de-D\u00f4me"},"246":{"code":"64","name":"Pyr\u00e9n\u00e9es-Atlantiques"},"248":{"code":"66","name":"Pyr\u00e9n\u00e9es-Orientales"},"251":{"code":"69","name":"Rh\u00f4ne"},"253":{"code":"71","name":"Sa\u00f4ne-et-Loire"},"254":{"code":"72","name":"Sarthe"},"255":{"code":"73","name":"Savoie"},"259":{"code":"77","name":"Seine-et-Marne"},"258":{"code":"76","name":"Seine-Maritime"},"275":{"code":"93","name":"Seine-Saint-Denis"},"262":{"code":"80","name":"Somme"},"263":{"code":"81","name":"Tarn"},"264":{"code":"82","name":"Tarn-et-Garonne"},"272":{"code":"90","name":"Territoire-de-Belfort"},"277":{"code":"95","name":"Val-d'Oise"},"276":{"code":"94","name":"Val-de-Marne"},"265":{"code":"83","name":"Var"},"266":{"code":"84","name":"Vaucluse"},"267":{"code":"85","name":"Vend\u00e9e"},"268":{"code":"86","name":"Vienne"},"270":{"code":"88","name":"Vosges"},"271":{"code":"89","name":"Yonne"},"260":{"code":"78","name":"Yvelines"}}},"GA":{"name":"Gabon"},"GB":{"name":"United Kingdom"},"GD":{"name":"Grenada"},"GE":{"name":"Georgia"},"GF":{"name":"French Guiana"},"GG":{"name":"Guernsey"},"GH":{"name":"Ghana"},"GI":{"name":"Gibraltar"},"GL":{"name":"Greenland"},"GM":{"name":"Gambia"},"GN":{"name":"Guinea"},"GP":{"name":"Guadeloupe"},"GQ":{"name":"Equatorial Guinea"},"GR":{"name":"Greece"},"GS":{"name":"South Georgia & South Sandwich Islands"},"GT":{"name":"Guatemala"},"GU":{"name":"Guam"},"GW":{"name":"Guinea-Bissau"},"GY":{"name":"Guyana"},"HK":{"name":"Hong Kong SAR China"},"HM":{"name":"Heard & McDonald Islands"},"HN":{"name":"Honduras"},"HR":{"name":"Croatia"},"HT":{"name":"Haiti"},"HU":{"name":"Hungary"},"ID":{"name":"Indonesia"},"IE":{"name":"Ireland"},"IL":{"name":"Israel"},"IM":{"name":"Isle of Man"},"IN":{"name":"India","regions":{"548":{"code":"LA","name":"Ladakh"}}},"IO":{"name":"British Indian Ocean Territory"},"IS":{"name":"Iceland"},"IT":{"name":"Italy"},"JE":{"name":"Jersey"},"JM":{"name":"Jamaica"},"JO":{"name":"Jordan"},"JP":{"name":"Japan"},"KE":{"name":"Kenya"},"KG":{"name":"Kyrgyzstan"},"KH":{"name":"Cambodia"},"KI":{"name":"Kiribati"},"KM":{"name":"Comoros"},"KN":{"name":"St. Kitts & Nevis"},"KR":{"name":"South Korea"},"KW":{"name":"Kuwait"},"KY":{"name":"Cayman Islands"},"KZ":{"name":"Kazakhstan"},"LA":{"name":"Laos"},"LC":{"name":"St. Lucia"},"LI":{"name":"Liechtenstein"},"LK":{"name":"Sri Lanka"},"LR":{"name":"Liberia"},"LS":{"name":"Lesotho"},"LT":{"name":"Lithuania","regions":{"475":{"code":"LT-AL","name":"Alytaus Apskritis"},"476":{"code":"LT-KU","name":"Kauno Apskritis"},"477":{"code":"LT-KL","name":"Klaip\u0117dos Apskritis"},"478":{"code":"LT-MR","name":"Marijampol\u0117s Apskritis"},"479":{"code":"LT-PN","name":"Panev\u0117\u017eio Apskritis"},"480":{"code":"LT-SA","name":"\u0160iauli\u0173 Apskritis"},"481":{"code":"LT-TA","name":"Taurag\u0117s Apskritis"},"482":{"code":"LT-TE","name":"Tel\u0161i\u0173 Apskritis"},"483":{"code":"LT-UT","name":"Utenos Apskritis"},"484":{"code":"LT-VL","name":"Vilniaus Apskritis"}}},"LU":{"name":"Luxembourg"},"LV":{"name":"Latvia","regions":{"471":{"code":"\u0100da\u017eu novads","name":"\u0100da\u017eu novads"},"366":{"code":"Aglonas novads","name":"Aglonas novads"},"367":{"code":"LV-AI","name":"Aizkraukles novads"},"368":{"code":"Aizputes novads","name":"Aizputes novads"},"369":{"code":"Akn\u012bstes novads","name":"Akn\u012bstes novads"},"370":{"code":"Alojas novads","name":"Alojas novads"},"371":{"code":"Alsungas novads","name":"Alsungas novads"},"372":{"code":"LV-AL","name":"Al\u016bksnes novads"},"373":{"code":"Amatas novads","name":"Amatas novads"},"374":{"code":"Apes novads","name":"Apes novads"},"375":{"code":"Auces novads","name":"Auces novads"},"376":{"code":"Bab\u012btes novads","name":"Bab\u012btes novads"},"377":{"code":"Baldones novads","name":"Baldones novads"},"378":{"code":"Baltinavas novads","name":"Baltinavas novads"},"379":{"code":"LV-BL","name":"Balvu novads"},"380":{"code":"LV-BU","name":"Bauskas novads"},"381":{"code":"Bever\u012bnas novads","name":"Bever\u012bnas novads"},"382":{"code":"Broc\u0113nu novads","name":"Broc\u0113nu novads"},"383":{"code":"Burtnieku novads","name":"Burtnieku novads"},"384":{"code":"Carnikavas novads","name":"Carnikavas novads"},"387":{"code":"LV-CE","name":"C\u0113su novads"},"385":{"code":"Cesvaines novads","name":"Cesvaines novads"},"386":{"code":"Ciblas novads","name":"Ciblas novads"},"388":{"code":"Dagdas novads","name":"Dagdas novads"},"355":{"code":"LV-DGV","name":"Daugavpils"},"389":{"code":"LV-DA","name":"Daugavpils novads"},"390":{"code":"LV-DO","name":"Dobeles novads"},"391":{"code":"Dundagas novads","name":"Dundagas novads"},"392":{"code":"Durbes novads","name":"Durbes novads"},"393":{"code":"Engures novads","name":"Engures novads"},"472":{"code":"\u0112rg\u013cu novads","name":"\u0112rg\u013cu novads"},"394":{"code":"Garkalnes novads","name":"Garkalnes novads"},"395":{"code":"Grobi\u0146as novads","name":"Grobi\u0146as novads"},"396":{"code":"LV-GU","name":"Gulbenes novads"},"397":{"code":"Iecavas novads","name":"Iecavas novads"},"398":{"code":"Ik\u0161\u0137iles novads","name":"Ik\u0161\u0137iles novads"},"399":{"code":"Il\u016bkstes novads","name":"Il\u016bkstes novads"},"400":{"code":"In\u010dukalna novads","name":"In\u010dukalna novads"},"401":{"code":"Jaunjelgavas novads","name":"Jaunjelgavas novads"},"402":{"code":"Jaunpiebalgas novads","name":"Jaunpiebalgas novads"},"403":{"code":"Jaunpils novads","name":"Jaunpils novads"},"357":{"code":"J\u0113kabpils","name":"J\u0113kabpils"},"405":{"code":"LV-JK","name":"J\u0113kabpils novads"},"356":{"code":"LV-JEL","name":"Jelgava"},"404":{"code":"LV-JL","name":"Jelgavas novads"},"358":{"code":"LV-JUR","name":"J\u016brmala"},"406":{"code":"Kandavas novads","name":"Kandavas novads"},"412":{"code":"K\u0101rsavas novads","name":"K\u0101rsavas novads"},"473":{"code":"\u0136eguma novads","name":"\u0136eguma novads"},"474":{"code":"\u0136ekavas novads","name":"\u0136ekavas novads"},"407":{"code":"Kokneses novads","name":"Kokneses novads"},"410":{"code":"LV-KR","name":"Kr\u0101slavas novads"},"408":{"code":"Krimuldas novads","name":"Krimuldas novads"},"409":{"code":"Krustpils novads","name":"Krustpils novads"},"411":{"code":"LV-KU","name":"Kuld\u012bgas novads"},"413":{"code":"Lielv\u0101rdes novads","name":"Lielv\u0101rdes novads"},"359":{"code":"LV-LPX","name":"Liep\u0101ja"},"360":{"code":"LV-LE","name":"Liep\u0101jas novads"},"417":{"code":"L\u012bgatnes novads","name":"L\u012bgatnes novads"},"414":{"code":"LV-LM","name":"Limba\u017eu novads"},"418":{"code":"L\u012bv\u0101nu novads","name":"L\u012bv\u0101nu novads"},"415":{"code":"Lub\u0101nas novads","name":"Lub\u0101nas novads"},"416":{"code":"LV-LU","name":"Ludzas novads"},"419":{"code":"LV-MA","name":"Madonas novads"},"421":{"code":"M\u0101lpils novads","name":"M\u0101lpils novads"},"422":{"code":"M\u0101rupes novads","name":"M\u0101rupes novads"},"420":{"code":"Mazsalacas novads","name":"Mazsalacas novads"},"423":{"code":"Nauk\u0161\u0113nu novads","name":"Nauk\u0161\u0113nu novads"},"424":{"code":"Neretas novads","name":"Neretas novads"},"425":{"code":"N\u012bcas novads","name":"N\u012bcas novads"},"426":{"code":"LV-OG","name":"Ogres novads"},"427":{"code":"Olaines novads","name":"Olaines novads"},"428":{"code":"Ozolnieku novads","name":"Ozolnieku novads"},"432":{"code":"P\u0101rgaujas novads","name":"P\u0101rgaujas novads"},"433":{"code":"P\u0101vilostas novads","name":"P\u0101vilostas novads"},"434":{"code":"P\u013cavi\u0146u novads","name":"P\u013cavi\u0146u novads"},"429":{"code":"LV-PR","name":"Prei\u013cu novads"},"430":{"code":"Priekules novads","name":"Priekules novads"},"431":{"code":"Prieku\u013cu novads","name":"Prieku\u013cu novads"},"435":{"code":"Raunas novads","name":"Raunas novads"},"361":{"code":"LV-REZ","name":"R\u0113zekne"},"442":{"code":"LV-RE","name":"R\u0113zeknes novads"},"436":{"code":"Riebi\u0146u novads","name":"Riebi\u0146u novads"},"362":{"code":"LV-RIX","name":"R\u012bga"},"363":{"code":"LV-RI","name":"R\u012bgas novads"},"437":{"code":"Rojas novads","name":"Rojas novads"},"438":{"code":"Ropa\u017eu novads","name":"Ropa\u017eu novads"},"439":{"code":"Rucavas novads","name":"Rucavas novads"},"440":{"code":"Rug\u0101ju novads","name":"Rug\u0101ju novads"},"443":{"code":"R\u016bjienas novads","name":"R\u016bjienas novads"},"441":{"code":"Rund\u0101les novads","name":"Rund\u0101les novads"},"444":{"code":"Salacgr\u012bvas novads","name":"Salacgr\u012bvas novads"},"445":{"code":"Salas novads","name":"Salas novads"},"446":{"code":"Salaspils novads","name":"Salaspils novads"},"447":{"code":"LV-SA","name":"Saldus novads"},"448":{"code":"Saulkrastu novads","name":"Saulkrastu novads"},"455":{"code":"S\u0113jas novads","name":"S\u0113jas novads"},"449":{"code":"Siguldas novads","name":"Siguldas novads"},"451":{"code":"Skr\u012bveru novads","name":"Skr\u012bveru novads"},"450":{"code":"Skrundas novads","name":"Skrundas novads"},"452":{"code":"Smiltenes novads","name":"Smiltenes novads"},"453":{"code":"Stopi\u0146u novads","name":"Stopi\u0146u novads"},"454":{"code":"Stren\u010du novads","name":"Stren\u010du novads"},"456":{"code":"LV-TA","name":"Talsu novads"},"458":{"code":"T\u0113rvetes novads","name":"T\u0113rvetes novads"},"457":{"code":"LV-TU","name":"Tukuma novads"},"459":{"code":"Vai\u0146odes novads","name":"Vai\u0146odes novads"},"460":{"code":"LV-VK","name":"Valkas novads"},"364":{"code":"Valmiera","name":"Valmiera"},"461":{"code":"LV-VM","name":"Valmieras novads"},"462":{"code":"Varak\u013c\u0101nu novads","name":"Varak\u013c\u0101nu novads"},"469":{"code":"V\u0101rkavas novads","name":"V\u0101rkavas novads"},"463":{"code":"Vecpiebalgas novads","name":"Vecpiebalgas novads"},"464":{"code":"Vecumnieku novads","name":"Vecumnieku novads"},"365":{"code":"LV-VEN","name":"Ventspils"},"465":{"code":"LV-VE","name":"Ventspils novads"},"466":{"code":"Vies\u012btes novads","name":"Vies\u012btes novads"},"467":{"code":"Vi\u013cakas novads","name":"Vi\u013cakas novads"},"468":{"code":"Vi\u013c\u0101nu novads","name":"Vi\u013c\u0101nu novads"},"470":{"code":"Zilupes novads","name":"Zilupes novads"}}},"LY":{"name":"Libya"},"MA":{"name":"Morocco"},"MC":{"name":"Monaco"},"MD":{"name":"Moldova"},"ME":{"name":"Montenegro"},"MF":{"name":"St. Martin"},"MG":{"name":"Madagascar"},"MH":{"name":"Marshall Islands"},"MK":{"name":"North Macedonia"},"ML":{"name":"Mali"},"MN":{"name":"Mongolia"},"MO":{"name":"Macao SAR China"},"MP":{"name":"Northern Mariana Islands"},"MQ":{"name":"Martinique"},"MR":{"name":"Mauritania"},"MS":{"name":"Montserrat"},"MT":{"name":"Malta"},"MU":{"name":"Mauritius"},"MV":{"name":"Maldives"},"MW":{"name":"Malawi"},"MX":{"name":"Mexico"},"MY":{"name":"Malaysia"},"NA":{"name":"Namibia"},"NC":{"name":"New Caledonia"},"NF":{"name":"Norfolk Island"},"NL":{"name":"Netherlands"},"NO":{"name":"Norway"},"NP":{"name":"Nepal"},"NR":{"name":"Nauru"},"NZ":{"name":"New Zealand"},"OM":{"name":"Oman"},"PA":{"name":"Panama"},"PE":{"name":"Peru"},"PF":{"name":"French Polynesia"},"PG":{"name":"Papua New Guinea"},"PH":{"name":"Philippines"},"PK":{"name":"Pakistan"},"PL":{"name":"Poland"},"PM":{"name":"St. Pierre & Miquelon"},"PN":{"name":"Pitcairn Islands"},"PR":{"name":"Puerto Rico"},"PS":{"name":"Palestinian Territories"},"PT":{"name":"Portugal"},"PW":{"name":"Palau"},"PY":{"name":"Paraguay"},"QA":{"name":"Qatar"},"RE":{"name":"R\u00e9union"},"RO":{"name":"Romania","regions":{"278":{"code":"AB","name":"Alba"},"279":{"code":"AR","name":"Arad"},"280":{"code":"AG","name":"Arge\u015f"},"281":{"code":"BC","name":"Bac\u0103u"},"282":{"code":"BH","name":"Bihor"},"283":{"code":"BN","name":"Bistri\u0163a-N\u0103s\u0103ud"},"284":{"code":"BT","name":"Boto\u015fani"},"286":{"code":"BR","name":"Br\u0103ila"},"285":{"code":"BV","name":"Bra\u015fov"},"287":{"code":"B","name":"Bucure\u015fti"},"288":{"code":"BZ","name":"Buz\u0103u"},"290":{"code":"CL","name":"C\u0103l\u0103ra\u015fi"},"289":{"code":"CS","name":"Cara\u015f-Severin"},"291":{"code":"CJ","name":"Cluj"},"292":{"code":"CT","name":"Constan\u0163a"},"293":{"code":"CV","name":"Covasna"},"294":{"code":"DB","name":"D\u00e2mbovi\u0163a"},"295":{"code":"DJ","name":"Dolj"},"296":{"code":"GL","name":"Gala\u0163i"},"297":{"code":"GR","name":"Giurgiu"},"298":{"code":"GJ","name":"Gorj"},"299":{"code":"HR","name":"Harghita"},"300":{"code":"HD","name":"Hunedoara"},"301":{"code":"IL","name":"Ialomi\u0163a"},"302":{"code":"IS","name":"Ia\u015fi"},"303":{"code":"IF","name":"Ilfov"},"304":{"code":"MM","name":"Maramure\u015f"},"305":{"code":"MH","name":"Mehedin\u0163i"},"306":{"code":"MS","name":"Mure\u015f"},"307":{"code":"NT","name":"Neam\u0163"},"308":{"code":"OT","name":"Olt"},"309":{"code":"PH","name":"Prahova"},"311":{"code":"SJ","name":"S\u0103laj"},"310":{"code":"SM","name":"Satu-Mare"},"312":{"code":"SB","name":"Sibiu"},"313":{"code":"SV","name":"Suceava"},"314":{"code":"TR","name":"Teleorman"},"315":{"code":"TM","name":"Timi\u015f"},"316":{"code":"TL","name":"Tulcea"},"318":{"code":"VL","name":"V\u00e2lcea"},"317":{"code":"VS","name":"Vaslui"},"319":{"code":"VN","name":"Vrancea"}}},"RS":{"name":"Serbia"},"RW":{"name":"Rwanda"},"SA":{"name":"Saudi Arabia"},"SB":{"name":"Solomon Islands"},"SC":{"name":"Seychelles"},"SE":{"name":"Sweden"},"SG":{"name":"Singapore"},"SH":{"name":"St. Helena"},"SI":{"name":"Slovenia"},"SJ":{"name":"Svalbard & Jan Mayen"},"SK":{"name":"Slovakia"},"SL":{"name":"Sierra Leone"},"SM":{"name":"San Marino"},"SN":{"name":"Senegal"},"SO":{"name":"Somalia"},"SR":{"name":"Suriname"},"ST":{"name":"S\u00e3o Tom\u00e9 & Pr\u00edncipe"},"SV":{"name":"El Salvador"},"TC":{"name":"Turks & Caicos Islands"},"TD":{"name":"Chad"},"TF":{"name":"French Southern Territories"},"TG":{"name":"Togo"},"TH":{"name":"Thailand"},"TJ":{"name":"Tajikistan"},"TK":{"name":"Tokelau"},"TL":{"name":"Timor-Leste"},"TM":{"name":"Turkmenistan"},"TN":{"name":"Tunisia"},"TO":{"name":"Tonga"},"TT":{"name":"Trinidad & Tobago"},"TV":{"name":"Tuvalu"},"TW":{"name":"Taiwan"},"TZ":{"name":"Tanzania"},"UA":{"name":"Ukraine","regions":{"545":{"code":"UA-43","name":"Avtonomna Respublika Krym"},"521":{"code":"UA-71","name":"Cherkaska oblast"},"522":{"code":"UA-74","name":"Chernihivska oblast"},"523":{"code":"UA-77","name":"Chernivetska oblast"},"524":{"code":"UA-12","name":"Dnipropetrovska oblast"},"525":{"code":"UA-14","name":"Donetska oblast"},"526":{"code":"UA-26","name":"Ivano-Frankivska oblast"},"527":{"code":"UA-63","name":"Kharkivska oblast"},"528":{"code":"UA-65","name":"Khersonska oblast"},"529":{"code":"UA-68","name":"Khmelnytska oblast"},"530":{"code":"UA-35","name":"Kirovohradska oblast"},"546":{"code":"UA-30","name":"Kyiv"},"531":{"code":"UA-32","name":"Kyivska oblast"},"532":{"code":"UA-09","name":"Luhanska oblast"},"533":{"code":"UA-46","name":"Lvivska oblast"},"534":{"code":"UA-48","name":"Mykolaivska oblast"},"535":{"code":"UA-51","name":"Odeska oblast"},"536":{"code":"UA-53","name":"Poltavska oblast"},"537":{"code":"UA-56","name":"Rivnenska oblast"},"547":{"code":"UA-40","name":"Sevastopol"},"538":{"code":"UA-59","name":"Sumska oblast"},"539":{"code":"UA-61","name":"Ternopilska oblast"},"540":{"code":"UA-05","name":"Vinnytska oblast"},"541":{"code":"UA-07","name":"Volynska oblast"},"542":{"code":"UA-21","name":"Zakarpatska oblast"},"543":{"code":"UA-23","name":"Zaporizka oblast"},"544":{"code":"UA-18","name":"Zhytomyrska oblast"}}},"UG":{"name":"Uganda"},"UM":{"name":"U.S. Outlying Islands"},"US":{"name":"United States","regions":{"1":{"code":"AL","name":"Alabama"},"2":{"code":"AK","name":"Alaska"},"3":{"code":"AS","name":"American Samoa"},"4":{"code":"AZ","name":"Arizona"},"5":{"code":"AR","name":"Arkansas"},"6":{"code":"AE","name":"Armed Forces Africa"},"7":{"code":"AA","name":"Armed Forces Americas"},"8":{"code":"AE","name":"Armed Forces Canada"},"9":{"code":"AE","name":"Armed Forces Europe"},"10":{"code":"AE","name":"Armed Forces Middle East"},"11":{"code":"AP","name":"Armed Forces Pacific"},"12":{"code":"CA","name":"California"},"13":{"code":"CO","name":"Colorado"},"14":{"code":"CT","name":"Connecticut"},"15":{"code":"DE","name":"Delaware"},"16":{"code":"DC","name":"District of Columbia"},"17":{"code":"FM","name":"Federated States Of Micronesia"},"18":{"code":"FL","name":"Florida"},"19":{"code":"GA","name":"Georgia"},"20":{"code":"GU","name":"Guam"},"21":{"code":"HI","name":"Hawaii"},"22":{"code":"ID","name":"Idaho"},"23":{"code":"IL","name":"Illinois"},"24":{"code":"IN","name":"Indiana"},"25":{"code":"IA","name":"Iowa"},"26":{"code":"KS","name":"Kansas"},"27":{"code":"KY","name":"Kentucky"},"28":{"code":"LA","name":"Louisiana"},"29":{"code":"ME","name":"Maine"},"30":{"code":"MH","name":"Marshall Islands"},"31":{"code":"MD","name":"Maryland"},"32":{"code":"MA","name":"Massachusetts"},"33":{"code":"MI","name":"Michigan"},"34":{"code":"MN","name":"Minnesota"},"35":{"code":"MS","name":"Mississippi"},"36":{"code":"MO","name":"Missouri"},"37":{"code":"MT","name":"Montana"},"38":{"code":"NE","name":"Nebraska"},"39":{"code":"NV","name":"Nevada"},"40":{"code":"NH","name":"New Hampshire"},"41":{"code":"NJ","name":"New Jersey"},"42":{"code":"NM","name":"New Mexico"},"43":{"code":"NY","name":"New York"},"44":{"code":"NC","name":"North Carolina"},"45":{"code":"ND","name":"North Dakota"},"46":{"code":"MP","name":"Northern Mariana Islands"},"47":{"code":"OH","name":"Ohio"},"48":{"code":"OK","name":"Oklahoma"},"49":{"code":"OR","name":"Oregon"},"50":{"code":"PW","name":"Palau"},"51":{"code":"PA","name":"Pennsylvania"},"52":{"code":"PR","name":"Puerto Rico"},"53":{"code":"RI","name":"Rhode Island"},"54":{"code":"SC","name":"South Carolina"},"55":{"code":"SD","name":"South Dakota"},"56":{"code":"TN","name":"Tennessee"},"57":{"code":"TX","name":"Texas"},"58":{"code":"UT","name":"Utah"},"59":{"code":"VT","name":"Vermont"},"60":{"code":"VI","name":"Virgin Islands"},"61":{"code":"VA","name":"Virginia"},"62":{"code":"WA","name":"Washington"},"63":{"code":"WV","name":"West Virginia"},"64":{"code":"WI","name":"Wisconsin"},"65":{"code":"WY","name":"Wyoming"}}},"UY":{"name":"Uruguay"},"UZ":{"name":"Uzbekistan"},"VA":{"name":"Vatican City"},"VC":{"name":"St. Vincent & Grenadines"},"VE":{"name":"Venezuela"},"VG":{"name":"British Virgin Islands"},"VI":{"name":"U.S. Virgin Islands"},"VN":{"name":"Vietnam"},"VU":{"name":"Vanuatu"},"WF":{"name":"Wallis & Futuna"},"WS":{"name":"Samoa"},"YE":{"name":"Yemen"},"YT":{"name":"Mayotte"},"ZA":{"name":"South Africa"},"ZM":{"name":"Zambia"},"ZW":{"name":"Zimbabwe"},"data_id":1765811783},"captcha":[],"instant-purchase":[],"loggedAsCustomer":[],"persistent":[],"review":[],"payments":[],"wishlist":{"items":[]},"quotecart":[],"rewards":[],"signifyd-fingerprint":[],"wp_ga4":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[],"paypal-buyer-country":[]}</script>
</div> <script>
const wpGA4ServerSide = {
pushClick: function(productId, listId, listName, index) {
if (productId) {
var requestUrl = 'https://www.getfpv.com/weltpixel_ga4/track/productclick/';
if (productId && listId && listName) {
fetch(requestUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
},
body: 'product_id=' + productId + '&list_id=' + listId +'&list_name=' + listName + '&index=' + index
})
.then(res => res.json())
.then(data => {
});
}
}
},
pushViewItemList: function(hashId) {
if (hashId && document.getElementById('wp_ga4_server_side_view_item_list')) {
var requestUrl = 'https://www.getfpv.com/weltpixel_ga4/track/viewitemlist/';
fetch(requestUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
},
body: 'hash_id='+hashId
})
.then(res => res.json())
.then(data => {
});
}
}
};
window.wpGA4ServerSide = wpGA4ServerSide;
let allowGa4Services = window.ga4AllowServices ?? true;
if (allowGa4Services) {
let selectedShippingMethod = '';
let selectedPaymentMethod = '';
const {fetch: originalFetch} = window;
window.fetch = async (...args) => {
let [resource, config] = args;
let response = await originalFetch(resource, config);
let ajaxContentBody = false;
if ((typeof resource == 'string') &&
((resource.search('post/livewire/message/checkout.shipping.methods') > 0) || (resource.search('post/livewire/message/checkout.payment.methods') > 0))) {
var jsonBody = false;
if (config.body) {
try {
jsonBody = JSON.parse(config.body);
} catch (e) {}
}
if (jsonBody && jsonBody.updates && jsonBody.updates[0] && jsonBody.updates[0].payload && jsonBody.updates[0].payload.value) {
if (resource.search('checkout.shipping.methods') > 0) {
if (selectedShippingMethod != jsonBody.updates[0].payload.value) {
selectedShippingMethod = jsonBody.updates[0].payload.value;
ajaxContentBody = 'step=1&option=' + selectedShippingMethod;
}
}
if (resource.search('checkout.payment.methods') > 0) {
if (selectedPaymentMethod != jsonBody.updates[0].payload.value) {
selectedPaymentMethod = jsonBody.updates[0].payload.value;
ajaxContentBody = 'step=2&option=' + selectedPaymentMethod;
}
}
if (ajaxContentBody) {
fetch('https://www.getfpv.com/weltpixel_ga4/track/hyva/', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
},
body: ajaxContentBody
})
.then(res => res.json())
.then(data => {
if (data) {
window.dataLayer.push({ecommerce: null});
window.dataLayer.push(data);
}
});
}
}
}
if ((typeof resource == 'string') && resource.search('/customer\/section\/load/') > 0) {
response.clone().json().then(data => {
if (data.wp_ga4.datalayer) {
const dataLayerData = JSON.parse(data.wp_ga4.datalayer);
dataLayerData.forEach((dataLayerItem) => {
window.dataLayer.push({ecommerce: null});
window.dataLayer.push(dataLayerItem);
});
}
});
}
return response;
};
(function() {
const ga4PromotionOptions = {
enabled: 0,
disableDatalayerEvents: 1,
serverSidePromotionViewEnabled: 0,
serverSidePromotionClickEnabled: 0 };
const dataLayerPromotionViewPush = ga4PromotionOptions.enabled && !(ga4PromotionOptions.disableDatalayerEvents && ga4PromotionOptions.serverSidePromotionViewEnabled);
const dataLayerPromotionClickPush = ga4PromotionOptions.enabled && !(ga4PromotionOptions.disableDatalayerEvents && ga4PromotionOptions.serverSidePromotionClickEnabled);
const promotionViewUrl = 'https://www.getfpv.com/weltpixel_ga4/track/promotionview/';
const promotionClickUrl = 'https://www.getfpv.com/weltpixel_ga4/track/promotionclick/';
function parseJsonSafe(text, fallback) {
try { return JSON.parse(text); } catch (e) { return fallback; }
}
function getPromoItemsById(uniqueId) {
if (!uniqueId) return [];
const el = document.getElementById(uniqueId);
if (!el) return [];
const raw = el.textContent || el.innerText || '[]';
return parseJsonSafe(raw, []);
}
function pushDataLayerEvent(evtName, ecommerce) {
if (!window.dataLayer) { window.dataLayer = []; }
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({ event: evtName, ecommerce: ecommerce });
}
function serializePromotionViews(promotionViews) {
const parts = [];
parts.push('dataLayerPush=' + (dataLayerPromotionViewPush ? 1 : 0));
promotionViews.forEach((pv, i) => {
for (const key in pv) {
if (!Object.prototype.hasOwnProperty.call(pv, key)) continue;
const value = pv[key] == null ? '' : String(pv[key]);
parts.push('promotion_views[' + i + '][' + encodeURIComponent(key) + ']=' + encodeURIComponent(value));
}
});
return parts.join('&');
}
function setCookie(name, value, maxAgeSeconds) {
try {
document.cookie = name + '=' + encodeURIComponent(value) + '; path=/; max-age=' + maxAgeSeconds;
} catch (e) {}
}
function onPromotionClick(ev) {
const el = ev.currentTarget;
const promoId = el.getAttribute('data-track-promo-id') || '';
const promoName = el.getAttribute('data-track-promo-name') || '';
const promoCreative = el.getAttribute('data-track-promo-creative') || '';
const promoPositionSlot = el.getAttribute('data-track-promo-position') || '';
const promoItemIds = el.getAttribute('data-unqiue-id-items') || '';
const promoProductIds = el.getAttribute('data-track-promo-product-ids') || '';
const promoItems = getPromoItemsById(promoItemIds);
if (dataLayerPromotionClickPush && promoItemIds) {
pushDataLayerEvent('select_promotion', {
promotion_id: promoId,
promotion_name: promoName,
creative_name: promoCreative,
creative_slot: promoPositionSlot,
items: promoItems
});
const promotionClickCookie = JSON.stringify({
promotion_id: promoId,
promotion_name: promoName,
product_ids: promoProductIds
});
setCookie('wp_ga4_promotion_click', promotionClickCookie, 86400);
}
if (dataLayerPromotionClickPush || ga4PromotionOptions.serverSidePromotionClickEnabled) {
const body =
'promotion_id=' + encodeURIComponent(promoId) +
'&promotion_name=' + encodeURIComponent(promoName) +
'&creative_name=' + encodeURIComponent(promoCreative) +
'&creative_slot=' + encodeURIComponent(promoPositionSlot) +
'&product_ids=' + encodeURIComponent(promoProductIds) +
'&promo_items_uniqueid=' + encodeURIComponent(promoItemIds) +
'&dataLayerPush=' + (dataLayerPromotionClickPush ? 1 : 0);
fetch(promotionClickUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
},
body: body
})
.then(res => res.json())
.then(pushData => {
if (dataLayerPromotionClickPush && pushData) {
try {
for (let i = 0; i < pushData.length; i++) {
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push(pushData[i]);
}
const promotionClickCookie = JSON.stringify({
promotion_id: promoId,
promotion_name: promoName,
product_ids: promoProductIds
});
setCookie('wp_ga4_promotion_click', promotionClickCookie, 86400);
} catch (e) {}
}
})
.catch(() => {});
}
}
function bindPromotionClicks() {
const elements = document.querySelectorAll('[data-track-promo-id]');
elements.forEach((el) => {
el.removeEventListener('click', onPromotionClick);
el.addEventListener('click', onPromotionClick);
});
}
function handlePromotionViews() {
if (!(dataLayerPromotionViewPush || ga4PromotionOptions.serverSidePromotionViewEnabled)) return;
const promotionViews = [];
const elements = document.querySelectorAll('[data-track-promo-id]');
elements.forEach((el) => {
const promoId = el.getAttribute('data-track-promo-id') || '';
const promoName = el.getAttribute('data-track-promo-name') || '';
const promoCreative = el.getAttribute('data-track-promo-creative') || '';
const promoPositionSlot = el.getAttribute('data-track-promo-position') || '';
const promoItemIds = el.getAttribute('data-unqiue-id-items') || '';
const promoProductIds = el.getAttribute('data-track-promo-product-ids') || '';
const promoItems = getPromoItemsById(promoItemIds);
if (dataLayerPromotionViewPush && promoItemIds) {
pushDataLayerEvent('view_promotion', {
promotion_id: promoId,
promotion_name: promoName,
creative_name: promoCreative,
creative_slot: promoPositionSlot,
items: promoItems
});
}
promotionViews.push({
promotion_id: promoId,
promotion_name: promoName,
creative_name: promoCreative,
creative_slot: promoPositionSlot,
product_ids: promoProductIds,
promo_items_uniqueid: promoItemIds
});
});
if (promotionViews.length) {
const body = serializePromotionViews(promotionViews);
fetch(promotionViewUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Requested-With': 'XMLHttpRequest'
},
body: body
})
.then(res => res.json())
.then(pushData => {
if (dataLayerPromotionViewPush && pushData) {
try {
for (let i = 0; i < pushData.length; i++) {
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push(pushData[i]);
}
} catch (e) {}
}
})
.catch(() => {});
}
}
if (dataLayerPromotionClickPush || ga4PromotionOptions.serverSidePromotionClickEnabled ||
dataLayerPromotionViewPush || ga4PromotionOptions.serverSidePromotionViewEnabled) {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function() {
bindPromotionClicks();
handlePromotionViews();
});
} else {
bindPromotionClicks();
handlePromotionViews();
}
}
})();
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"4d1298383e224558956fc895f2650638","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>