<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AutoSelection Directory - Automobile Listings</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
/* ====== Base ====== */
:root{
--brand:#004080;
--accent:#0073e6;
--muted:#6b7280;
--card-bg:#fafafa;
--featured-bg:#fff7e6;
--max-width:1100px;
--radius:8px;
}
*{box-sizing:border-box}
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial; margin: 0; background: #fff; color: #222; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
/* ====== Header ====== */
header { background: var(--brand); color:#fff; padding:18px 24px; }
header .inner { max-width: var(--max-width); margin: 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
header h1 { margin:0; font-size:20px; letter-spacing:0.2px; }
nav { display:flex; gap:12px; align-items:center; }
nav a { color:#fff; font-weight:600; font-size:14px; }
/* ====== Layout container ====== */
.container { max-width: var(--max-width); margin: 26px auto; padding: 0 16px; }
/* ====== Section headings ====== */
section + section { margin-top: 28px; }
h2 { margin: 0 0 12px 0; font-size:18px; color:var(--brand); border-bottom:1px solid #eee; padding-bottom:10px; }
/* ====== Cards ====== */
.listing-card {
border: 1px solid #e6e6e6;
border-radius: var(--radius);
padding: 16px;
margin: 12px 0;
background: var(--card-bg);
}
.listing-card h3 { margin:0 0 8px 0; color:var(--brand); font-size:16px; }
.listing-card p { margin:0; color:var(--muted); font-size:14px; }
.featured { background: var(--featured-bg); border: 1px solid #ffd59b; }
/* ====== Submit button ====== */
.btn { display:inline-block; background:var(--accent); color:#fff; padding:10px 14px; border-radius:6px; border:none; cursor:pointer; font-weight:700; }
.btn:active{transform:translateY(1px)}
.muted { color:var(--muted); font-size:14px; }
/* ====== Slider ====== */
.slider-wrap { position:relative; margin-top:10px; }
.slider-viewport { overflow:hidden; padding:6px 0; }
.slider-track {
display:flex;
gap:12px;
transition: transform 360ms cubic-bezier(.22,.9,.35,1);
will-change:transform;
padding-bottom:6px;
}
.card {
min-width: 260px;
max-width: 260px;
background:#fff;
border:1px solid #e6e6e6;
border-radius:8px;
padding:12px;
box-shadow: 0 2px 6px rgba(10,10,10,0.04);
flex-shrink:0;
}
.card h4 { margin:0 0 6px 0; font-size:15px; color:var(--brand); }
.card p { margin:6px 0; color:var(--muted); font-size:13px; }
/* ====== slider controls ====== */
.slider-btn {
position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; border:none; background:var(--brand); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer;
box-shadow:0 6px 16px rgba(0,0,0,0.12);
}
.slider-btn:disabled { opacity:0.45; cursor:default; }
.slider-btn-left{ left: -10px; }
.slider-btn-right{ right: -10px; }
/* ====== dots ====== */
.dots { display:flex; gap:8px; justify-content:center; margin-top:12px; }
.dot { width:10px; height:10px; border-radius:50%; background:#e4e4e4; cursor:pointer; }
.dot.active { background:var(--brand); }
/* ====== responsive ====== */
@media (max-width: 900px) {
.card { min-width: 220px; max-width: 220px; }
}
@media (max-width: 700px) {
header .inner { flex-direction:column; align-items:flex-start; gap:8px; }
.slider-btn-left{ left: 6px; }
.slider-btn-right{ right: 6px; }
}
/* ====== modal ====== */
.modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:2000; align-items:center; justify-content:center; }
.modal .dialog { background:#fff; padding:18px; border-radius:10px; width:92%; max-width:640px; box-shadow:0 8px 40px rgba(0,0,0,0.2); position:relative; }
.modal .close { position:absolute; right:12px; top:10px; border:none; background:none; font-size:22px; cursor:pointer; color:#666; }
label{ display:block; margin-top:8px; font-size:13px; color:#333; }
input[type="text"], input[type="url"], input[type="email"], textarea, select { width:100%; padding:10px; border:1px solid #e6e6e6; border-radius:6px; margin-top:6px; font-size:14px; }
textarea{ min-height:100px; resize:vertical; }
/* small helper */
.small { font-size:13px; color:#666; margin-top:6px; }
.grid-two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:520px){ .grid-two{ grid-template-columns:1fr } }
</style>
</head>
<body>
<header>
<div class="inner">
<h1>AutoSelection Directory</h1>
<nav>
<a href="#">Home</a>
<a href="#backlinks">Top Auto Sites</a>
<a href="#featured">Featured</a>
<a href="#listings">Listings</a>
<a href="#submit">Submit Website</a>
</nav>
</div>
</header>
<div class="container">
<!-- TOP SITES SLIDER -->
<section id="backlinks" aria-label="Top Automobile Websites">
<h2>🔗 Top Automobile Websites (High Domain Authority)</h2>
<p class="small">List your auto website with us. <br>High-authority automobile industry sites — their Domain Authority (DA) and estimated backlink counts. Use the arrows or swipe on mobile.</p>
<div class="slider-wrap" id="sliderWrap">
<button class="slider-btn slider-btn-left" id="btnPrev" aria-label="Previous" title="Previous">❮</button>
<div class="slider-viewport" id="sliderViewport" tabindex="0" aria-roledescription="carousel">
<div class="slider-track" id="sliderTrack">
<article class="card" role="group" aria-label="Car and Driver">
<h4>Car and Driver</h4>
<p><a href="https://www.caranddriver.com" target="_blank" rel="noopener">https://www.caranddriver.com</a></p>
<p>DA: <strong>90</strong></p>
<p>Backlinks: <strong>1,200,000</strong></p>
</article>
<article class="card" role="group" aria-label="Autoblog">
<h4>Autoblog</h4>
<p><a href="https://www.autoblog.com" target="_blank" rel="noopener">https://www.autoblog.com</a></p>
<p>DA: <strong>85</strong></p>
<p>Backlinks: <strong>950,000</strong></p>
</article>
<article class="card" role="group" aria-label="MotorTrend">
<h4>MotorTrend</h4>
<p><a href="https://www.motortrend.com" target="_blank" rel="noopener">https://www.motortrend.com</a></p>
<p>DA: <strong>88</strong></p>
<p>Backlinks: <strong>800,000</strong></p>
</article>
<article class="card" role="group" aria-label="AutoExpress">
<h4>AutoExpress</h4>
<p><a href="https://www.autoexpress.co.uk" target="_blank" rel="noopener">https://www.autoexpress.co.uk</a></p>
<p>DA: <strong>70</strong></p>
<p>Backlinks: <strong>450,000</strong></p>
</article>
<article class="card" role="group" aria-label="Top Gear">
<h4>Top Gear</h4>
<p><a href="https://www.topgear.com" target="_blank" rel="noopener">https://www.topgear.com</a></p>
<p>DA: <strong>89</strong></p>
<p>Backlinks: <strong>780,000</strong></p>
</article>
<article class="card" role="group" aria-label="Kelley Blue Book">
<h4>Kelley Blue Book</h4>
<p><a href="https://www.kbb.com" target="_blank" rel="noopener">https://www.kbb.com</a></p>
<p>DA: <strong>86</strong></p>
<p>Backlinks: <strong>720,000</strong></p>
</article>
<article class="card" role="group" aria-label="Edmunds">
<h4>Edmunds</h4>
<p><a href="https://www.edmunds.com" target="_blank" rel="noopener">https://www.edmunds.com</a></p>
<p>DA: <strong>84</strong></p>
<p>Backlinks: <strong>680,000</strong></p>
</article>
<article class="card" role="group" aria-label="AutoTrader">
<h4>AutoTrader</h4>
<p><a href="https://www.autotrader.com" target="_blank" rel="noopener">https://www.autotrader.com</a></p>
<p>DA: <strong>91</strong></p>
<p>Backlinks: <strong>1,000,000</strong></p>
</article>
<article class="card" role="group" aria-label="Cars.com">
<h4>Cars.com</h4>
<p><a href="https://www.cars.com" target="_blank" rel="noopener">https://www.cars.com</a></p>
<p>DA: <strong>88</strong></p>
<p>Backlinks: <strong>950,000</strong></p>
</article>
<article class="card" role="group" aria-label="Road & Track">
<h4>Road & Track</h4>
<p><a href="https://www.roadandtrack.com" target="_blank" rel="noopener">https://www.roadandtrack.com</a></p>
<p>DA: <strong>82</strong></p>
<p>Backlinks: <strong>610,000</strong></p>
</article>
<article class="card" role="group" aria-label="The Drive">
<h4>The Drive</h4>
<p><a href="https://www.thedrive.com" target="_blank" rel="noopener">https://www.thedrive.com</a></p>
<p>DA: <strong>78</strong></p>
<p>Backlinks: <strong>540,000</strong></p>
</article>
<article class="card" role="group" aria-label="AutoWeek">
<h4>AutoWeek</h4>
<p><a href="https://www.autoweek.com" target="_blank" rel="noopener">https://www.autoweek.com</a></p>
<p>DA: <strong>76</strong></p>
<p>Backlinks: <strong>500,000</strong></p>
</article>
<article class="card" role="group" aria-label="Motor Authority">
<h4>Motor Authority</h4>
<p><a href="https://www.motorauthority.com" target="_blank" rel="noopener">https://www.motorauthority.com</a></p>
<p>DA: <strong>75</strong></p>
<p>Backlinks: <strong>480,000</strong></p>
</article>
<article class="card" role="group" aria-label="Jalopnik">
<h4>Jalopnik</h4>
<p><a href="https://jalopnik.com" target="_blank" rel="noopener">https://jalopnik.com</a></p>
<p>DA: <strong>83</strong></p>
<p>Backlinks: <strong>620,000</strong></p>
</article>
<article class="card" role="group" aria-label="CarBuzz">
<h4>CarBuzz</h4>
<p><a href="https://carbuzz.com" target="_blank" rel="noopener">https://carbuzz.com</a></p>
<p>DA: <strong>72</strong></p>
<p>Backlinks: <strong>400,000</strong></p>
</article>
<article class="card" role="group" aria-label="CarsGuide">
<h4>CarsGuide</h4>
<p><a href="https://www.carsguide.com.au" target="_blank" rel="noopener">https://www.carsguide.com.au</a></p>
<p>DA: <strong>74</strong></p>
<p>Backlinks: <strong>420,000</strong></p>
</article>
<article class="card" role="group" aria-label="AutoTrader UK">
<h4>AutoTrader UK</h4>
<p><a href="https://www.autotrader.co.uk" target="_blank" rel="noopener">https://www.autotrader.co.uk</a></p>
<p>DA: <strong>89</strong></p>
<p>Backlinks: <strong>900,000</strong></p>
</article>
<article class="card" role="group" aria-label="Parkers">
<h4>Parkers</h4>
<p><a href="https://www.parkers.co.uk" target="_blank" rel="noopener">https://www.parkers.co.uk</a></p>
<p>DA: <strong>77</strong></p>
<p>Backlinks: <strong>470,000</strong></p>
</article>
<article class="card" role="group" aria-label="Motor1">
<h4>Motor1</h4>
<p><a href="https://www.motor1.com" target="_blank" rel="noopener">https://www.motor1.com</a></p>
<p>DA: <strong>87</strong></p>
<p>Backlinks: <strong>750,000</strong></p>
</article>
<article class="card" role="group" aria-label="Auto Evolution">
<h4>Auto Evolution</h4>
<p><a href="https://www.autoevolution.com" target="_blank" rel="noopener">https://www.autoevolution.com</a></p>
<p>DA: <strong>82</strong></p>
<p>Backlinks: <strong>620,000</strong></p>
</article>
<article class="card" role="group" aria-label="Carwow">
<h4>Carwow</h4>
<p><a href="https://www.carwow.co.uk" target="_blank" rel="noopener">https://www.carwow.co.uk</a></p>
<p>DA: <strong>80</strong></p>
<p>Backlinks: <strong>600,000</strong></p>
</article>
<article class="card" role="group" aria-label="Classic Driver">
<h4>Classic Driver</h4>
<p><a href="https://www.classicdriver.com" target="_blank" rel="noopener">https://www.classicdriver.com</a></p>
<p>DA: <strong>71</strong></p>
<p>Backlinks: <strong>390,000</strong></p>
</article>
<article class="card" role="group" aria-label="Auto123">
<h4>Auto123</h4>
<p><a href="https://www.auto123.com" target="_blank" rel="noopener">https://www.auto123.com</a></p>
<p>DA: <strong>67</strong></p>
<p>Backlinks: <strong>350,000</strong></p>
</article>
<article class="card" role="group" aria-label="Supercars.net">
<h4>Supercars.net</h4>
<p><a href="https://www.supercars.net" target="_blank" rel="noopener">https://www.supercars.net</a></p>
<p>DA: <strong>79</strong></p>
<p>Backlinks: <strong>580,000</strong></p>
</article>
<article class="card" role="group" aria-label="CarAdvice">
<h4>CarAdvice</h4>
<p><a href="https://www.caradvice.com.au" target="_blank" rel="noopener">https://www.caradvice.com.au</a></p>
<p>DA: <strong>73</strong></p>
<p>Backlinks: <strong>410,000</strong></p>
</article>
<article class="card" role="group" aria-label="Automobile Magazine">
<h4>Automobile Magazine</h4>
<p><a href="https://www.automobilemag.com" target="_blank" rel="noopener">https://www.automobilemag.com</a></p>
<p>DA: <strong>77</strong></p>
<p>Backlinks: <strong>500,000</strong></p>
</article>
<article class="card" role="group" aria-label="Inside EVs">
<h4>Inside EVs</h4>
<p><a href="https://insideevs.com" target="_blank" rel="noopener">https://insideevs.com</a></p>
<p>DA: <strong>81</strong></p>
<p>Backlinks: <strong>610,000</strong></p>
</article>
<article class="card" role="group" aria-label="DriveTribe">
<h4>DriveTribe</h4>
<p><a href="https://drivetribe.com" target="_blank" rel="noopener">https://drivetribe.com</a></p>
<p>DA: <strong>66</strong></p>
<p>Backlinks: <strong>320,000</strong></p>
</article>
<article class="card" role="group" aria-label="Autocar">
<h4>Autocar</h4>
<p><a href="https://www.autocar.co.uk" target="_blank" rel="noopener">https://www.autocar.co.uk</a></p>
<p>DA: <strong>83</strong></p>
<p>Backlinks: <strong>610,000</strong></p>
</article>
<article class="card" role="group" aria-label="Motor1 (FR)">
<h4>Motor1 (FR)</h4>
<p><a href="https://fr.motor1.com" target="_blank" rel="noopener">https://fr.motor1.com</a></p>
<p>DA: <strong>68</strong></p>
<p>Backlinks: <strong>340,000</strong></p>
</article>
</div>
</div>
<button class="slider-btn slider-btn-right" id="btnNext" aria-label="Next" title="Next">❯</button>
</div>
<div class="dots" id="dots"></div>
</section>
<!-- FEATURED -->
<section id="featured">
<h2>🚗 Featured Automobile Websites</h2>
<p class="muted">No featured websites available yet.</p>
</section>
<!-- LISTINGS -->
<section id="listings">
<h2>Automobile Website Directory</h2>
<p class="muted">No listings found yet. Be the first to <a href="#submit">add your website</a>!</p>
</section>
<!-- SUBMIT -->
<section id="submit">
<h2>List Your Automobile Website</h2>
<p class="small">Submit your automobile website to appear in our directory. Featured listings require a paid plan.</p>
<button class="btn" id="openModal">Submit Your Website</button>
</section>
</div>
<!-- MODAL FORM -->
<div class="modal" id="modal" role="dialog" aria-modal="true" aria-labelledby="modalTitle">
<div class="dialog">
<button class="close" id="closeModal" aria-label="Close">×</button>
<h2 id="modalTitle">Submit Your Website</h2>
<form method="POST" action="process_submission.php" id="submitForm">
<div class="grid-two">
<div>
<label>Website Name</label>
<input type="text" name="name" required placeholder="Example: John's Auto Sales">
</div>
<div>
<label>Contact Email</label>
<input type="email" name="email" required placeholder="owner@example.com">
</div>
</div>
<label>Website URL</label>
<input type="url" name="url" required placeholder="https://example.com">
<label>Category</label>
<select name="category_id" required>
<option value="">-- Select Category --</option>
</select>
<label>Description</label>
<textarea name="description" placeholder="Short description of the website" required></textarea>
<div class="grid-two">
<div>
<label>Payment Method</label>
<select name="payment_method" required>
<option value="crypto">Crypto</option>
<option value="paypal">PayPal</option>
<option value="bank_transfer">Bank Transfer</option>
<option value="moneygram">MoneyGram</option>
</select>
</div>
<div>
<label>Subscription Plan</label>
<select name="plan" required>
<option value="monthly">Monthly - $5</option>
<option value="half_year">6 Months - $25</option>
<option value="yearly">1 Year - $45</option>
</select>
</div>
</div>
<label>Transaction ID / Reference</label>
<input type="text" name="txid" required placeholder="Transaction ID, PayPal txn id, or bank reference">
<p class="small">After submission, admin will verify payment and approve the listing.</p>
<div style="margin-top:12px; display:flex; gap:8px; justify-content:flex-end;">
<button type="button" class="btn" id="cancelBtn">Cancel</button>
<button type="submit" class="btn">Submit</button>
</div>
</form>
</div>
</div>
<footer>
<div style="max-width:var(--max-width); margin:18px auto; padding:0 16px; text-align:center; color:#666;">
<small>© 2025 AutoSelection Directory. All rights reserved.</small>
</div>
</footer>
<script>
/* ====== Modal logic ====== */
(function(){
const open = document.getElementById('openModal');
const modal = document.getElementById('modal');
const close = document.getElementById('closeModal');
const cancel = document.getElementById('cancelBtn');
function openModal(){ modal.style.display = 'flex'; document.body.style.overflow='hidden'; }
function closeModal(){ modal.style.display = 'none'; document.body.style.overflow=''; }
open.addEventListener('click', openModal);
close.addEventListener('click', closeModal);
cancel.addEventListener('click', closeModal);
window.addEventListener('keydown', function(e){ if(e.key === 'Escape') closeModal(); });
modal.addEventListener('click', function(e){ if(e.target === modal) closeModal(); });
})();
/* ====== Slider logic with swipe + responsive behavior ====== */
(function(){
const track = document.getElementById('sliderTrack');
const viewport = document.getElementById('sliderViewport');
const prevBtn = document.getElementById('btnPrev');
const nextBtn = document.getElementById('btnNext');
const dotsContainer = document.getElementById('dots');
let cardWidth = 260; // default card width (keeps in sync with CSS)
const gap = 12;
let cards; // NodeList of cards
let cardsPerView = calculateCardsPerView();
let totalCards = 0;
let currentIndex = 0; // index of first visible card
let isDragging = false, startX = 0, currentTranslate = 0, prevTranslate = 0, animationID = 0;
function init() {
cards = track.querySelectorAll('.card');
totalCards = cards.length;
cardsPerView = calculateCardsPerView();
updateCardWidth();
createDots();
goTo(0);
updateButtons();
addEvents();
window.addEventListener('resize', onResize);
document.addEventListener('keydown', onKey);
}
function calculateCardsPerView(){
const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);
if(vw >= 1100) return 3;
if(vw >= 800) return 2;
return 1;
}
function updateCardWidth(){
// compute card width based on actual DOM width to accommodate responsive sizes
if(cards.length > 0){
const style = getComputedStyle(cards[0]);
const w = cards[0].getBoundingClientRect().width;
cardWidth = Math.round(w + gap);
}
}
function createDots(){
dotsContainer.innerHTML = '';
const pageCount = Math.max(1, Math.ceil(totalCards / cardsPerView));
for(let i=0;i<pageCount;i++){
const dot = document.createElement('button');
dot.className = 'dot' + (i===0? ' active':'');
dot.setAttribute('data-page', i);
dot.addEventListener('click', () => { goTo(i * cardsPerView); });
dotsContainer.appendChild(dot);
}
}
function updateDots(){
const dots = dotsContainer.querySelectorAll('.dot');
const pageIndex = Math.floor(currentIndex / cardsPerView);
dots.forEach((d, i) => d.classList.toggle('active', i === pageIndex));
}
function goTo(index){
// clamp
if(index < 0) index = 0;
if(index > totalCards - cardsPerView) index = Math.max(0, totalCards - cardsPerView);
currentIndex = index;
const translateX = - index * (cards[0].getBoundingClientRect().width + gap);
track.style.transform = `translateX(${translateX}px)`;
updateButtons();
updateDots();
}
function next(){
goTo(currentIndex + cardsPerView);
}
function prev(){
goTo(currentIndex - cardsPerView);
}
function updateButtons(){
prevBtn.disabled = (currentIndex === 0);
nextBtn.disabled = (currentIndex >= totalCards - cardsPerView);
}
function onResize(){
const newCardsPerView = calculateCardsPerView();
if(newCardsPerView !== cardsPerView){
cardsPerView = newCardsPerView;
createDots();
}
updateCardWidth();
goTo(Math.floor(currentIndex/cardsPerView)*cardsPerView);
}
function onKey(e){
if(e.key === 'ArrowRight') next();
if(e.key === 'ArrowLeft') prev();
}
/* ----- Drag / Swipe support ----- */
function addEvents(){
// pointer events on track for drag
track.addEventListener('pointerdown', startDrag);
track.addEventListener('pointerup', endDrag);
track.addEventListener('pointercancel', endDrag);
track.addEventListener('pointermove', onDrag);
// buttons
prevBtn.addEventListener('click', prev);
nextBtn.addEventListener('click', next);
// touch support fallback (pointer covers most)
track.style.touchAction = 'pan-y';
}
function startDrag(event){
isDragging = true;
startX = event.clientX;
track.style.transition = 'none';
prevTranslate = getCurrentTranslate();
event.target.setPointerCapture(event.pointerId);
}
function onDrag(event){
if(!isDragging) return;
const dx = event.clientX - startX;
const nextTranslate = prevTranslate + dx;
track.style.transform = `translateX(${nextTranslate}px)`;
}
function endDrag(event){
if(!isDragging) return;
isDragging = false;
const dx = event.clientX - startX;
const threshold = (cards[0].getBoundingClientRect().width) / 4;
if(dx < -threshold){
// swipe left -> next
next();
} else if(dx > threshold){
// swipe right -> prev
prev();
} else {
// snap back to current
goTo(currentIndex);
}
track.style.transition = 'transform 360ms cubic-bezier(.22,.9,.35,1)';
}
function getCurrentTranslate(){
const style = window.getComputedStyle(track);
const matrix = new DOMMatrixReadOnly(style.transform);
return matrix.m41; // translateX
}
// initialize slider
init();
})();
</script>
</body>
</html>