fitflame-coaching / style.css
Alexander1337's picture
<!DOCTYPE html>
79eec6d verified
/* Custom styles that extend Tailwind */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
/* Smooth scrolling */
html {
scroll-behavior: smooth;
}
/* Custom animations */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
animation: fadeIn 0.6s ease-out forwards;
}
/* Service card hover effect */
.service-card:hover {
transform: translateY(-8px);
box-shadow: 0 10px 25px rgba(239, 68, 68, 0.1);
}
/* Price card featured ribbon */
.featured-ribbon {
position: absolute;
top: 0;
right: 0;
background-color: #EF4444;
color: white;
padding: 0.25rem 1rem;
font-size: 0.75rem;
font-weight: bold;
border-bottom-left-radius: 0.5rem;
}
/* Form input focus state */
input:focus, textarea:focus {
box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}
/* Mobile menu transition */
.nav-menu {
transition: max-height 0.3s ease-out;
}
/* Responsive adjustments */
@media (max-width: 768px) {
.service-card, .price-card {
margin-bottom: 1.5rem;
}
}
.image-container {
display: flex;
gap: 1.5rem;
justify-content: center;
flex-wrap: wrap;
margin: 3rem 0;
}
.profile-img {
width: 100%;
max-width: 400px;
height: auto;
border-radius: 16px;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
object-fit: cover;
aspect-ratio: 3/4;
}
.profile-img:hover {
transform: translateY(-5px) scale(1.02);
box-shadow: 0 15px 30px rgba(0,0,0,0.2);
z-index: 1;
}
@media (max-width: 768px) {
.image-container {
gap: 1rem;
margin: 2rem 0;
}
.profile-img {
max-width: 100%;
border-radius: 12px;
}
}
.language-switcher {
position: fixed;
top: 15px;
right: 15px;
display: flex;
gap: 8px;
z-index: 9999;
}
.language-switcher button {
background: #000;
border: none;
padding: 8px 10px;
border-radius: 50%;
cursor: pointer;
font-size: 18px;
box-shadow: 0 5px 15px rgba(0,0,0,.3);
transition: all 0.2s ease;
}
.language-switcher button:hover {
transform: scale(1.1);
background: #EF4444;
}
/* Online Coaching Section */
.online-coaching {
background: linear-gradient(135deg, #0f172a, #020617);
box-shadow: 0 20px 40px rgba(0,0,0,0.25);
}
/* Custom button styles */
.btn-primary {
transition: all 0.3s ease;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(239, 68, 68, 0.25);
}
.cta-btn {
display: inline-block;
background: #000;
color: #fff;
padding: 14px 32px;
border-radius: 30px;
text-decoration: none;
font-weight: bold;
font-size: 16px;
box-shadow: 0 6px 15px rgba(0,0,0,.4);
transition: 0.3s;
margin-top: 20px;
}
.cta-btn:hover {
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(0,0,0,.5);
background: #EF4444;
}
/* Stripe button adjustments */
.stripe-button {
width: 100%;
height: 42px;
margin-top: 16px;
}
/* Calendly widget adjustments */
/* Fade-in animation for hero content */
@keyframes fadeInContent {
0% { opacity: 0; transform: translate(-50%, -45%); }
100% { opacity: 1; transform: translate(-50%, -50%); }
}
.animate-fade-in-content {
animation: fadeInContent 1.5s forwards;
}
/* Calendly widget adjustments */
.calendly-inline-widget {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
margin: 0 auto;
max-width: 1000px;
}
@media (max-width: 768px) {
.calendly-inline-widget {
height: 600px;
}
}
/* Hero section styles */
.hero {
position: relative;
height: 100vh;
width: 100%;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.hero video {
position: absolute;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
transform: translate(-50%, -50%);
object-fit: cover;
z-index: -2;
}
.hero-overlay {
position: absolute;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: -1;
}
.hero-content {
max-width: 800px;
padding: 20px;
}
.hero h1 {
font-size: 48px;
font-weight: 800;
margin-bottom: 20px;
}
.hero p {
font-size: 20px;
margin-bottom: 30px;
}
.btn {
display: inline-block;
padding: 15px 30px;
background: #22c55e;
color: black;
font-weight: 700;
text-decoration: none;
border-radius: 8px;
transition: 0.3s;
}
.btn:hover {
background: #16a34a;
transform: scale(1.05);
}
/* Sections */
.section {
padding: 100px 20px;
max-width: 1100px;
margin: auto;
}
.section h2 {
font-size: 36px;
margin-bottom: 20px;
}
.section p {
color: #ccc;
line-height: 1.6;
}
/* Services grid */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
margin-top: 40px;
}
.card {
background: #111;
padding: 25px;
border-radius: 12px;
}
.card img {
width: 100%;
border-radius: 10px;
margin-bottom: 15px;
}
/* Pricing */
.price {
font-size: 32px;
font-weight: 700;
margin: 15px 0;
}
/* Footer */
.footer {
padding: 40px;
text-align: center;
background: black;
}
.socials {
margin-top: 15px;
}
.socials a {
margin: 10px;
font-size: 24px;
text-decoration: none;
color: white;
}
.socials a:hover {
color: #22c55e;
}
/* Mobile */
@media (max-width: 768px) {
.hero h1 {
font-size: 32px;
}
.nav-links {
display: none;
}
}