/* ===========================================
   WOW CAR & VAN HIRE
   V2.0
=========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Montserrat',sans-serif;
    background:#0b4dbb;
    color:#fff;
    overflow-x:hidden;

}

/* ===========================================
   HERO
=========================================== */

.hero{

    min-height:100vh;

    display:flex;

    justify-content:flex-start;

    align-items:center;

    flex-direction:column;

    position:relative;

    overflow: visible;

    padding-top:0px;

    padding-bottom:20px;

    background:
        radial-gradient(circle at center,
        #0f67ea 0%,
        #0a56d0 40%,
        #0343b3 70%,
        #01338d 100%);

}

.hero::before{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:5200px;
    height:5200px;

    transform:translate(-50%,-50%);

    background:url("assets/comic/rays.svg") center center no-repeat;
    background-size:contain;

    animation:spinBurst 120s linear infinite;

    opacity:.45;

    pointer-events:none;

    z-index:0;

}

.hero::after{

    content:"";

    position:absolute;

    inset:0;

    background-image:
        radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px);

    background-size:22px 22px;

    opacity:.4;

}

.hero-inner{

    position:relative;

    z-index:10;

    width:min(1400px,96%);

    margin:auto;

    text-align:center;

}
@keyframes spinBurst{

    from{
        transform:translate(-50%,-50%) rotate(0deg);
    }

    to{
        transform:translate(-50%,-50%) rotate(360deg);
    }

}

}
.hero-strip{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:28px;

    padding:14px 34px;

    background:#ffd21f;

    color:#111;

    border:4px solid #111;

    border-radius:12px;

    box-shadow:0 6px 0 #111;

    font-family:'Bangers',cursive;

    font-size:2rem;

    margin-bottom:18px;

}

.coming-soon{

    display:inline-block;

    margin:35px 0;

    background:#ff2d2d;

    color:#fff;

    padding:20px 50px;

    font-family:'Bangers',cursive;

    font-size:3rem;

    border:6px solid #000;

    box-shadow:10px 10px #000;

    transform:rotate(-3deg);

    letter-spacing:3px;

}

/* ===========================================
   LOGO
=========================================== */

.logo{

    display:block;

    width:680px;

    max-width:92%;

    margin:0 auto 10px;

}

.tagline{

    font-family:'Bangers',cursive;

    font-size:4rem;

    color:#ffffff;

    text-shadow:
        4px 4px 0 #000;

    letter-spacing:2px;

    margin:10px 0 18px;

}

/* ===========================================
   MAIN TITLE
=========================================== */

h1{

    font-family:'Bangers',cursive;

    font-size:4rem;

    line-height:1.2;

    color:white;

    text-shadow:
        4px 4px #000;

    margin-bottom:50px;

}

h1 span{

    color:#ffe600;

}

/* ===========================================
   COUNTDOWN
=========================================== */

.countdown-section{

    margin-top:15px;

    margin-bottom:25px;

}

#countdown{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.time-box{

    width:140px;

    height:120px;

    background:#fff;

    border:5px solid #000;

    border-radius:12px;

    box-shadow:6px 6px #000;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.time-box span{

    display:block;

    font-family:'Montserrat',sans-serif;

    font-size:4rem;

    font-weight:900;

    color:#111;

    line-height:1;

}

.time-box small{

    margin-top:8px;

    font-family:'Montserrat',sans-serif;

    font-size:1rem;

    font-weight:800;

    color:#111;

    letter-spacing:1px;

    text-transform:uppercase;

}


/* ===========================================
   FOUNDERS
=========================================== */

/* ===========================================
   BURST / FOUNDER ROW
=========================================== */

.burst-row{

    display:grid;

    grid-template-columns:300px 1fr 300px;

    align-items:center;

    gap:60px;

    max-width:1300px;

    margin:40px auto 20px;

}

.burst{

    position:relative;

    width:340px;

    height:240px;

    display:flex;

    justify-content:center;

    align-items:center;
    transition:.25s ease;

}

.burst img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:contain;

    z-index:1;

}

.burst-right img{

    transform:scaleX(-1);

}
.burst-text{

    position:relative;

    z-index:2;

    width:72%;

    text-align:center;

    font-family:'Bangers',cursive;

    font-size:3.5rem;

    line-height:.9;

    letter-spacing:1px;

    color:#fff;

    text-shadow:
        5px 5px 0 #000,
       -5px 5px 0 #000,
        5px -5px 0 #000,
       -5px -5px 0 #000,
        0 6px 0 #000;

}

.burst:first-child{

    transform:rotate(-8deg);

}

.burst-right{

    transform:rotate(8deg);

}

.burst:hover{

    transform:scale(1.08) rotate(-8deg);

}

.burst-right:hover{

    transform:scale(1.08) rotate(8deg);

}
/* ===========================================
   FOUNDER COLUMN
=========================================== */

.founder-column{

    text-align:center;

}

.founder-column h2{

    font-family:'Bangers',cursive;

    font-size:3.4rem;

    color:#ffd400;

    text-shadow:4px 4px 0 #000;

    margin-bottom:10px;

}

.founder-column p{

    color:white;

    font-size:1.2rem;

    font-weight:700;

    margin-bottom:20px;

}

#signupForm{

    display:flex;

    gap:12px;

    justify-content:center;

}

#signupForm input{

    flex:1;

    max-width:520px;

    height:58px;

    padding:0 20px;

    border:4px solid #000;

    border-radius:12px;

    font-size:1.1rem;

    font-weight:700;

}

#signupForm button{

    width:220px;

    border:none;

    border-radius:12px;

    background:#ffd400;

    border:4px solid #000;

    font-family:'Bangers',cursive;

    font-size:2rem;

    cursor:pointer;

    box-shadow:0 5px 0 #000;

}

.founder-column small{

    display:block;

    margin-top:10px;

    color:white;

    font-size:.95rem;

    font-weight:700;

}
/* ===========================================
   VEHICLE SHOWCASE
=========================================== */

.vehicle-showcase{

    position:relative;

    max-width:1750px;

    margin:0 auto;

    padding:60px 30px 0;

    background:
        radial-gradient(circle at center,
        #0f67ea 0%,
        #0a56d0 40%,
        #0343b3 70%,
        #01338d 100%);

}

.vehicle-title{

    text-align:center;

    margin-bottom:70px;

}

.vehicle-title h2{

    font-family:'Bangers',cursive;

    font-size:4rem;

    color:#FFD400;

    text-shadow:4px 4px 0 #000;

    letter-spacing:2px;

    margin-bottom:20px;

}

.vehicle-title p{

    max-width:850px;

    margin:auto;

    font-size:1.2rem;

    font-weight:600;

    line-height:1.7;

    color:#fff;

}

/* ===========================================
   GRID
=========================================== */

.vehicle-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

    align-items:stretch;

}

/* ===========================================
   CARD
=========================================== */

.vehicle-card{

    display:flex;

    flex-direction:column;

    background:#fff;

    border:6px solid #111;

    border-radius:24px;

    overflow:hidden;

    box-shadow:12px 12px 0 #111;

    transition:.3s ease;

    height:100%;

}

.vehicle-card:hover{

    transform:translateY(-10px);

    box-shadow:18px 18px 0 #111;

}

/* ===========================================
   CATEGORY COLOURS
=========================================== */

.cars .vehicle-header{

    background:#FFD400;

}

.vans .vehicle-header{

    background:#ff9800;

}

.commercial .vehicle-header{

    background:#ef2d2d;

    color:#fff;

}

.leisure .vehicle-header{

    background:#8bcf2f;

}

/* ===========================================
   HEADER
=========================================== */

.vehicle-header{

    border-bottom:6px solid #111;

    font-family:'Bangers',cursive;

    font-size:2rem;

    text-align:center;

    padding:18px;

    letter-spacing:1px;

    text-shadow:2px 2px 0 rgba(0,0,0,.15);

}

/* ===========================================
   IMAGE
=========================================== */

.vehicle-image{

    position:relative;

    height:260px;

    overflow:hidden;

    border-bottom:5px solid #111;

    background:#111;

}

.vehicle-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.35s ease;

}

.vehicle-card:hover .vehicle-image img{

    transform:scale(1.08);

}

/* ===========================================
   CONTENT
=========================================== */

.vehicle-content{

    flex:1;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    padding:25px;

}

/* ===========================================
   LIST
=========================================== */

.vehicle-list{

    list-style:none;

    margin:0;

    padding:0;

}

.vehicle-list li{

    padding:14px 0;

    border-bottom:2px dashed #ddd;

    color:#333;

    font-weight:700;

    font-size:1rem;

}

.vehicle-list li:last-child{

    border-bottom:none;

}

.vehicle-list li::before{

    content:"✓";

    color:#e32222;

    font-weight:900;

    margin-right:10px;

}

/* ===========================================
   FUTURE BUTTON
=========================================== */

.vehicle-button{

    display:inline-block;

    margin-top:25px;

    padding:14px 34px;

    background:#FFD400;

    color:#111;

    border:4px solid #111;

    border-radius:12px;

    text-decoration:none;

    font-family:'Bangers',cursive;

    font-size:1.4rem;

    box-shadow:6px 6px 0 #111;

    transition:.25s;

}

.vehicle-button:hover{

    transform:translateY(-4px);

    box-shadow:10px 10px 0 #111;

}


/* ===========================================
   TABLET
=========================================== */

@media (max-width:1400px){

    .vehicle-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

/* ===========================================
   MOBILE
=========================================== */

@media (max-width:768px){

/* Hero */

.hero{

    min-height:auto;

    padding:30px 15px 50px;

}

/* Logo */

.logo{

    width:300px;

    max-width:90%;

    margin-bottom:20px;

}

/* Headline */

.tagline{

    font-size:2.2rem;

    line-height:1.15;

    margin-bottom:25px;

    text-align:center;

}

/* Yellow strip */

.hero-strip{

    display:flex;

    flex-direction:column;

    gap:8px;

    padding:16px;

    font-size:1.4rem;

    width:100%;

    max-width:360px;

    margin:0 auto 30px;

}

.hero-strip span{

    display:block;

}

/* Hide separators */

.hero-strip{

    font-size:0;

}

.hero-strip span{

    font-size:1.4rem;

}

/* Countdown */

#countdown{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    justify-content:center;

}

.time-box{

    width:100%;

    height:110px;

}

.time-box span{

    font-size:2.6rem;

}

.time-box small{

    font-size:.8rem;

}

/* Waiting list layout */

.burst-row{

    display:flex;

    flex-direction:column;

    gap:30px;

    margin-top:40px;

}

/* Comic bursts */

.burst{

    width:210px;

    height:150px;

    margin:auto;

}

.burst:first-child,

.burst-right{

    transform:none;

}

.burst:hover,

.burst-right:hover{

    transform:scale(1.05);

}

.burst-text{

    font-size:2.2rem;

}

/* Heading */

.founder-column h2{

    font-size:2.4rem;

}

/* Paragraph */

.founder-column p{

    font-size:1rem;

    line-height:1.5;

    padding:0 10px;

}

/* Form */

#signupForm{

    display:flex;

    flex-direction:column;

    gap:15px;

    width:100%;

}

#signupForm input{

    width:100%;

    max-width:none;

}

#signupForm button{

    width:100%;

    height:60px;

}

/* Vehicle section */

.vehicle-showcase{

    padding:50px 15px;

}

.vehicle-title h2{

    font-size:2.6rem;

}

.vehicle-title p{

    font-size:1rem;

    line-height:1.6;

}

/* Cards */

.vehicle-grid{

    grid-template-columns:1fr;

    gap:25px;

}

.vehicle-card{

    max-width:420px;

    width:100%;

    margin:auto;

}

.vehicle-image{

    height:220px;

}

.vehicle-header{

    font-size:1.8rem;

}

.vehicle-content{

    padding:20px;

}

/* Footer */

.footer{

    min-height:auto;

}

.footer-city{

    width:180%;

}

.footer-content{

    padding:140px 20px 30px;

}

.footer-content h2{

    font-size:2.8rem;

}

.footer-content p{

    font-size:1rem;

    line-height:1.6;

}

}

/* ===========================================
   FOOTER
=========================================== */

/* FOOTER */

.footer{

    position:relative;

    min-height:500px;

    overflow:hidden;

    background:linear-gradient(
        to bottom,
        #1d58c9 0%,
        #274db8 25%,
        #59409b 55%,
        #d27a3c 100%
    );

}

/* Skyline */

.footer{
    position:relative;
    min-height:500px;
    overflow:hidden;
    background:linear-gradient(
        to bottom,
    #1b56c7 0%,
    #244eb8 25%,
    #4d4aa0 55%,
    #7a4f78 75%,
    #b56743 100%
);
}

.footer-city{
    position:absolute;
    left:50%;
    bottom:00px;   /* instead of 0 */
    transform:translateX(-50%);
    width:110%;
    z-index:1;
}


/* Dark overlay */

.footer-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.45),
        rgba(0,0,0,.1)
    );

    z-index:2;

}

/* Content */

.footer-content{

    position:relative;

    z-index:3;

    max-width:1200px;

    margin:auto;

    padding:300px 70px 30px;

    text-align:center;

    color:white;

}

.footer-content h2{

    font-family:'Bangers',cursive;

    font-size:4rem;

    color:#FFD400;

    text-shadow:4px 4px 0 #000;

    margin-bottom:25px;

}

.footer-content p{

    margin:15px 0;

    font-size:1.1rem;

    font-weight:600;

}

.copyright{

    margin-top:50px;

    opacity:.8;

}

/* ===========================================
   MOBILE
=========================================== */

@media(max-width:768px){

h1{

    font-size:2.6rem;

}

.tagline{

    margin-bottom:18px;

font-size:3rem;

}

.logo{

    width:280px;

}

.founders{

    padding:35px 25px;

}

.comic-strip{

    padding:40px 20px;

}

.time-box{

    width:110px;

}

.time-box span{

    font-size:2.2rem;

}

.usp{

    font-size:1.5rem;

}

}

