div not displaying in nextjs project

Viewed 94

I have a very basic NextJS app that has a fullscreen video playing and some text overlaid on it.

Here is the index.js:

import Head from 'next/head'
import Image from 'next/image'
import styles from '../styles/Home.module.css'
import React, { useState, useRef } from "react";
import dynamic from "next/dynamic";

// https://docs.referlist.co/#/?id=install-in-react-or-nextjs-via-npm

export default function Home() {
  const Referlist = dynamic(
    () =>
      import("referlist").then((referlist) =>
        referlist.initialize({ domain: "tokenchamplaunch" })
      ),
    { ssr: false }
  );
  return (
    <div className={styles.container}>
      <Head>
        <title>TokenChamp</title>
        <meta name="description" content="Casual web3 games" />
        <link rel="icon" href="/favicon.ico" />
      </Head>

    <div className="bg-video-wrap">
    <video autoPlay muted loop className={styles.video}>         
      <source src={`/CABINETS_BG.mp4`} type="video/mp4"/>       
    </video>
    <div className="overlay">
    </div>
    <h1>Join the waitlist
    </h1>
    <div className="waitlist">
          <Referlist />
          <div>
            <input type="text" id="referlistemail" />
            <input className="waitlistbutton" type="button" id="referlistbutton" value="LFG" />
          </div>
        </div>
  </div>
    </div>
  )
}

Here is the global.css:

html,
body {
  background-image: url(/bg.png);
  padding: 0;
  margin: 0;
  color: white;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

.bg-video-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  background: url(https://designsupply-web.com/samplecontent/vender/codepen/20181014.png) no-repeat center center/cover;
}
video {
  min-width: 100%;
  min-height: 100vh;
  z-index: 1;
}
.overlay {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  /* background-image: linear-gradient(45deg, rgba(0,0,0,.3) 50%, rgba(0,0,0,.7) 50%); */
  background-size: 3px 3px;
  z-index: 2;
}
h1 {
  text-align: center;
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
  max-width: 400px;
  width: 100%;
  height: 50px;
}

.waitlistbutton {
  background-color: gold;
  padding: 1.3em 3em 1.3em 3em;
  border-radius: 5px;
  margin-left: 1em;
}

input[type=text] {
  border: 2px solid white;
  border-radius: 4px;
  background-color: black;
  color: white;
  padding: 1em;
  font-size: 1em;
}

input[type=text]:focus {
  border: 2px solid white;
}

a {
  color: inherit;
  text-decoration: none;
}

* {
  box-sizing: border-box;
  width: 100%; 
  /* remove the above to offset the animation */
}

The waitlist input fields are not visible and I don't understand why. The h1 text is visible, but the waitlist/input fields are not.

When I have tried nesting the waitlist div in other places, it's always either stuck at the absolute top of the page or it completely disappears.

0 Answers
Related