first commit
This commit is contained in:
commit
8d78045501
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
|
|
@ -0,0 +1,266 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>Raw Reel Social</title>
|
||||
<!-- Explicitly load your favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico" />
|
||||
|
||||
<style>
|
||||
/* Reset & Box-sizing */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Basic Body Setup */
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
color: #fff;
|
||||
overflow: hidden; /* Hide overflow to maintain a “single-screen” look if it fits */
|
||||
background: #000; /* fallback for older browsers */
|
||||
}
|
||||
|
||||
/*
|
||||
1) Big, Dramatic Synthwave Background:
|
||||
We'll use body::before to layer a bright animated gradient over black.
|
||||
Combined with the starfield canvas (transparent) for a spacey effect.
|
||||
*/
|
||||
body::before {
|
||||
content: "";
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/*
|
||||
Layer two backgrounds:
|
||||
1) A bright, swirling radial gradient
|
||||
2) A diagonal swirl to overlay color & motion
|
||||
*/
|
||||
background:
|
||||
radial-gradient(circle at 20% 50%,
|
||||
rgba(255,0,212,0.4),
|
||||
rgba(0,240,255,0.2),
|
||||
rgba(98,0,255,0.4)),
|
||||
linear-gradient(-45deg, #ff00d4, #6200ff, #00f0ff, #ff8800);
|
||||
background-size: cover, 400% 400%;
|
||||
background-blend-mode: screen; /* merges them for vibrant glow */
|
||||
z-index: -2;
|
||||
animation: backgroundShift 10s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes backgroundShift {
|
||||
0% {
|
||||
background-position: center, 0% 50%;
|
||||
}
|
||||
100% {
|
||||
background-position: center, 100% 50%;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
2) Starfield Canvas
|
||||
Make sure it's transparent so the gradient behind it shows.
|
||||
*/
|
||||
#starfield {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/*
|
||||
Main Container
|
||||
Takes the full viewport height
|
||||
and spaces out each element so they fit.
|
||||
*/
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
/* 1. Logo */
|
||||
.logo {
|
||||
max-width: 90%;
|
||||
max-height: 150px;
|
||||
transition: transform 0.4s ease;
|
||||
filter: drop-shadow(0 0 10px rgba(255,255,255,0.5));
|
||||
}
|
||||
.logo:hover {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
/* 2. Tagline (Hero Statement) */
|
||||
.tagline {
|
||||
font-size: 2rem;
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
text-shadow: 0 0 5px #fff, 0 0 10px magenta, 0 0 15px cyan;
|
||||
animation: flicker 3s infinite;
|
||||
margin: 0 0 0.5rem;
|
||||
}
|
||||
@keyframes flicker {
|
||||
0% { opacity: 1; }
|
||||
20% { opacity: 0.8; }
|
||||
22% { opacity: 1; }
|
||||
63% { opacity: 1; }
|
||||
64% { opacity: 0.9; }
|
||||
65% { opacity: 1; }
|
||||
80% { opacity: 1; }
|
||||
82% { opacity: 0.8; }
|
||||
83% { opacity: 1; }
|
||||
100% { opacity: 1; }
|
||||
}
|
||||
|
||||
/* 3. Main Video */
|
||||
.video-container {
|
||||
width: 80%;
|
||||
max-width: 800px;
|
||||
max-height: 50vh; /* prevent the video from hogging the entire page on small screens */
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 8px 20px rgba(0,0,0,0.5), 0 0 10px rgba(255,255,255,0.2);
|
||||
}
|
||||
.video-container video {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* 4. Contact Information */
|
||||
.contact-info {
|
||||
line-height: 1.4;
|
||||
}
|
||||
.contact-info h2,
|
||||
.contact-info h3 {
|
||||
margin: 0.2rem 0;
|
||||
text-shadow: 0 0 3px #fff, 0 0 5px magenta;
|
||||
}
|
||||
|
||||
/* 5. Call to Action (CTA) */
|
||||
.cta-btn {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
color: #fff;
|
||||
background: linear-gradient(45deg, #ff00d4, #00f0ff);
|
||||
border: none;
|
||||
padding: 1rem 1.5rem;
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
border-radius: 30px;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 0 10px rgba(255,0,212,0.7), 0 0 20px rgba(0,240,255,0.5);
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
|
||||
}
|
||||
.cta-btn:hover {
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 0 15px rgba(255,0,212,1), 0 0 30px rgba(0,240,255,0.8);
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
/* Mobile Tweaks */
|
||||
@media (max-width: 480px) {
|
||||
.tagline {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
.video-container {
|
||||
width: 90%;
|
||||
max-height: 40vh;
|
||||
}
|
||||
.cta-btn {
|
||||
width: auto;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Transparent Starfield -->
|
||||
<canvas id="starfield"></canvas>
|
||||
|
||||
<div class="container">
|
||||
<img src="logo.png" alt="Raw Reel Social Logo" class="logo" />
|
||||
<h1 class="tagline">Short-form social videos that boost your brand.</h1>
|
||||
|
||||
<div class="video-container">
|
||||
<video src="teaser.mp4" controls></video>
|
||||
</div>
|
||||
|
||||
<div class="contact-info">
|
||||
<h2>Demetri Pirpiris</h2>
|
||||
<h3>(773) 440-1040</h3>
|
||||
</div>
|
||||
|
||||
<a href="mailto:rawreelsocial@gmail.com" class="cta-btn">Let's Get in Touch</a>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Starfield JS (transparent)
|
||||
const canvas = document.getElementById('starfield');
|
||||
const ctx = canvas.getContext('2d');
|
||||
let stars = [];
|
||||
const STAR_COUNT = 150;
|
||||
let w, h;
|
||||
|
||||
function initStarfield() {
|
||||
resizeCanvas();
|
||||
stars = [];
|
||||
for (let i = 0; i < STAR_COUNT; i++) {
|
||||
stars.push({
|
||||
x: Math.random() * w,
|
||||
y: Math.random() * h,
|
||||
speed: 0.4 + Math.random() * 0.5,
|
||||
size: Math.random() * 2
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function resizeCanvas() {
|
||||
w = canvas.width = window.innerWidth;
|
||||
h = canvas.height = window.innerHeight;
|
||||
}
|
||||
|
||||
function update() {
|
||||
// Clear the canvas to transparent
|
||||
ctx.clearRect(0, 0, w, h);
|
||||
|
||||
for (let i = 0; i < STAR_COUNT; i++) {
|
||||
const s = stars[i];
|
||||
s.y += s.speed;
|
||||
// Respawn star at top if it goes off the bottom
|
||||
if (s.y > h) {
|
||||
s.y = 0;
|
||||
s.x = Math.random() * w;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.arc(s.x, s.y, s.size, 0, Math.PI * 2);
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fill();
|
||||
}
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
|
||||
window.addEventListener('resize', initStarfield);
|
||||
window.addEventListener('load', () => {
|
||||
initStarfield();
|
||||
update();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue