Design A front page
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
@@ -1,26 +0,0 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
:root {
|
||||
--background: #ffffff;
|
||||
--foreground: #171717;
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--font-sans: var(--font-geist-sans);
|
||||
--font-mono: var(--font-geist-mono);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--background: #0a0a0a;
|
||||
--foreground: #ededed;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Geist, Geist_Mono } from "next/font/google";
|
||||
import "./globals.css";
|
||||
|
||||
const geistSans = Geist({
|
||||
variable: "--font-geist-sans",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
const geistMono = Geist_Mono({
|
||||
variable: "--font-geist-mono",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Create Next App",
|
||||
description: "Generated by create next app",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body
|
||||
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
|
||||
>
|
||||
{children}
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import classnames from 'classnames';
|
||||
|
||||
interface ButtonProps {
|
||||
onClick?: () => void;
|
||||
children: React.ReactNode;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const Button: React.FC<ButtonProps> = ({ onClick, children, className }) => {
|
||||
const [isHovered, setIsHovered] = useState(false);
|
||||
|
||||
return (
|
||||
<button
|
||||
onClick={onClick}
|
||||
className={classnames(
|
||||
className, {
|
||||
'cursor-pointer': isHovered,
|
||||
'cursor-default': !isHovered,
|
||||
}
|
||||
)}
|
||||
onMouseEnter={() => setIsHovered(true)}
|
||||
onMouseLeave={() => setIsHovered(false)}
|
||||
>
|
||||
{children}
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
||||
export default Button;
|
||||
@@ -0,0 +1,95 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import classnames from 'classnames';
|
||||
import Link from 'next/link';
|
||||
import Button from './Button';
|
||||
import Image from 'next/image';
|
||||
|
||||
const Navbar = () => {
|
||||
|
||||
const [isScrolled, setIsScrolled] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const handleScroll = () => {
|
||||
if (window.scrollY > 355) {
|
||||
setIsScrolled(true);
|
||||
} else {
|
||||
setIsScrolled(false);
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('scroll', handleScroll);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('scroll', handleScroll);
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<nav className="sticky top-0 left-0 z-50 hidden lg:flex justify-center">
|
||||
<div className={classnames(
|
||||
"w-11/12 bg-britton-neutral p-1 text-britton-dark rounded-b-3xl", {
|
||||
"min-h-5 border-1 border-britton-dark" : isScrolled,
|
||||
"min-h-20" : !isScrolled
|
||||
}
|
||||
)}
|
||||
>
|
||||
<div className="container mx-auto justify-between items-center flex">
|
||||
<div className={classnames('rounded-3xl bg-britton-dark', {"hidden" : isScrolled})}>
|
||||
<Image
|
||||
src="/images/bbstpa-forsite.png"
|
||||
alt="Britton Logo"
|
||||
width={273}
|
||||
height={80}
|
||||
/>
|
||||
</div>
|
||||
{/* <div className={classnames(`bg-[url(/images/bbstpa-forsite.png)]`, {"hidden" : isScrolled})} /> */}
|
||||
{/* <Image src="/images/bbstpa-forsite.png" alt="Britton Logo" className={classnames({"hidden" : isScrolled})}/> */}
|
||||
{/* <div className={classnames("text-xl font-bold", {"hidden" : isScrolled})}>
|
||||
Britton <br />
|
||||
Benefit <br />
|
||||
Services
|
||||
</div> */}
|
||||
<ul className="flex space-x-4 font-semibold text-lg uppercase">
|
||||
<li>
|
||||
<Link href="/services" className="hover:text-britton-light">
|
||||
Employers
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/contact" className="hover:text-britton-light">
|
||||
Members
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/contact" className="hover:text-britton-light">
|
||||
Providers
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/contact" className="hover:text-britton-light">
|
||||
Brokers
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/contact" className="hover:text-britton-light">
|
||||
Contact Us
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
<div className="flex space-x-2 font-semibold">
|
||||
<Button className="bg-britton-neutral py-1 px-4 rounded border-1 border-britton-dark">
|
||||
Sign In
|
||||
</Button>
|
||||
<Button className="bg-britton-dark hover:bg-britton-medium text-britton-light py-1 px-4 rounded">
|
||||
Get a Quote
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
);
|
||||
};
|
||||
|
||||
export default Navbar;
|
||||
@@ -0,0 +1,45 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import classnames from 'classnames';
|
||||
import Image from 'next/image';
|
||||
|
||||
interface SectionProps {
|
||||
className?: string;
|
||||
theme?: string;
|
||||
title: string;
|
||||
imageUrl: string;
|
||||
invert?: boolean;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
const Section1: React.FC<SectionProps> = (
|
||||
{ className,
|
||||
theme,
|
||||
title,
|
||||
imageUrl,
|
||||
invert,
|
||||
children
|
||||
}
|
||||
) => {
|
||||
return (
|
||||
<div className='flex justify-center m-h-150 py-10 mx-20'>
|
||||
<div className="flex flex-col w-7/12">
|
||||
<div className="text-5xl h-30 pt-10 text-britton-accent">
|
||||
{title}
|
||||
</div>
|
||||
<div className="text-4xl text-left bg-britton-neutral text-britton-dark rounded-l-3xl p-8 h-full">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
{/* <Image src="/images/placeHolder.png" alt="Description of image" width={300} height={300} /> */}
|
||||
<div className='w-5/12 rounded-r-3xl rounded-tl-3xl p-4 bg-britton-neutral justify-center'>
|
||||
{/* <div className={`h-full w-full bg-cover mask-cover mask-[url(/images/brittonRoundedOctogon.png)] bg-[url(/images/placeHolder.png)]`} /> */}
|
||||
<div className={`h-full w-full rounded-3xl bg-cover bg-[url(/images/placeHolder.png)]`} />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Section1;
|
||||
@@ -0,0 +1,45 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import classnames from 'classnames';
|
||||
import Image from 'next/image';
|
||||
|
||||
interface SectionProps {
|
||||
className?: string;
|
||||
theme?: string;
|
||||
title: string;
|
||||
imageUrl: string;
|
||||
invert?: boolean;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
const Section1Invert: React.FC<SectionProps> = (
|
||||
{ className,
|
||||
theme,
|
||||
title,
|
||||
imageUrl,
|
||||
invert,
|
||||
children
|
||||
}
|
||||
) => {
|
||||
return (
|
||||
<div className='flex justify-center m-h-150 py-10 mx-20'>
|
||||
{/* <Image src="/images/placeHolder.png" alt="Description of image" width={300} height={300} /> */}
|
||||
<div className='w-5/12 rounded-l-3xl rounded-tr-3xl p-4 bg-britton-medium justify-center'>
|
||||
{/* <div className={`h-full w-full bg-cover mask-cover mask-[url(/images/brittonRoundedOctogon.png)] bg-[url(/images/placeHolder.png)]`} /> */}
|
||||
<div className={`h-full w-full rounded-3xl bg-cover bg-[url(/images/placeHolder.png)]`} />
|
||||
|
||||
</div>
|
||||
<div className="flex flex-col w-7/12">
|
||||
<div className="text-5xl text-right h-30 pt-10 text-britton-accent2">
|
||||
{title}
|
||||
</div>
|
||||
<div className="text-4xl text-left bg-britton-medium text-britton-light rounded-r-3xl p-8 h-full">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Section1Invert;
|
||||
@@ -0,0 +1,45 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import classnames from 'classnames';
|
||||
import Image from 'next/image';
|
||||
|
||||
interface SectionProps {
|
||||
className?: string;
|
||||
theme?: string;
|
||||
title: string;
|
||||
imageUrl: string;
|
||||
invert?: boolean;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
const Section1InvertLight: React.FC<SectionProps> = (
|
||||
{ className,
|
||||
theme,
|
||||
title,
|
||||
imageUrl,
|
||||
invert,
|
||||
children
|
||||
}
|
||||
) => {
|
||||
return (
|
||||
<div className='flex justify-center m-h-150 py-10 mx-20'>
|
||||
{/* <Image src="/images/placeHolder.png" alt="Description of image" width={300} height={300} /> */}
|
||||
<div className='w-5/12 rounded-l-3xl rounded-tr-3xl p-4 bg-britton-light justify-center'>
|
||||
{/* <div className={`h-full w-full bg-cover mask-cover mask-[url(/images/brittonRoundedOctogon.png)] bg-[url(/images/placeHolder.png)]`} /> */}
|
||||
<div className={`h-full w-full rounded-3xl bg-cover bg-[url(/images/placeHolder.png)]`} />
|
||||
|
||||
</div>
|
||||
<div className="flex flex-col w-7/12">
|
||||
<div className="text-5xl text-right h-30 pt-10 text-britton-accent2">
|
||||
{title}
|
||||
</div>
|
||||
<div className="text-4xl text-left bg-britton-light text-britton-medium rounded-r-3xl p-8 h-full">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Section1InvertLight;
|
||||
@@ -0,0 +1,45 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import classnames from 'classnames';
|
||||
import Image from 'next/image';
|
||||
|
||||
interface SectionProps {
|
||||
className?: string;
|
||||
theme?: string;
|
||||
title: string;
|
||||
imageUrl: string;
|
||||
invert?: boolean;
|
||||
children: React.ReactNode;
|
||||
}
|
||||
|
||||
const Section1: React.FC<SectionProps> = (
|
||||
{ className,
|
||||
theme,
|
||||
title,
|
||||
imageUrl,
|
||||
invert,
|
||||
children
|
||||
}
|
||||
) => {
|
||||
return (
|
||||
<div className='flex justify-center m-h-150 py-10 mx-20'>
|
||||
<div className="flex flex-col w-7/12">
|
||||
<div className="text-5xl h-30 pt-10 text-britton-accent">
|
||||
{title}
|
||||
</div>
|
||||
<div className="text-4xl text-left bg-britton-dark text-britton-light rounded-l-3xl p-8 h-full">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
{/* <Image src="/images/placeHolder.png" alt="Description of image" width={300} height={300} /> */}
|
||||
<div className='w-5/12 rounded-r-3xl rounded-tl-3xl p-4 bg-britton-dark justify-center'>
|
||||
{/* <div className={`h-full w-full bg-cover mask-cover mask-[url(/images/brittonRoundedOctogon.png)] bg-[url(/images/placeHolder.png)]`} /> */}
|
||||
<div className={`h-full w-full rounded-3xl bg-cover bg-[url(/images/placeHolder.png)]`} />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Section1;
|
||||
@@ -0,0 +1,16 @@
|
||||
import '../styles/globals.css';
|
||||
import type { AppProps } from 'next/app';
|
||||
import Navbar from '../components/Navbar';
|
||||
|
||||
function MyApp({ Component, pageProps }: AppProps) {
|
||||
return (
|
||||
<>
|
||||
<div className="bg-britton-dark min-h-screen">
|
||||
<Navbar />
|
||||
<Component {...pageProps} />
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
export default MyApp;
|
||||
@@ -0,0 +1,13 @@
|
||||
import { Html, Head, Main, NextScript } from "next/document";
|
||||
|
||||
export default function Document() {
|
||||
return (
|
||||
<Html lang="en">
|
||||
<Head />
|
||||
<body className="antialiased">
|
||||
<Main />
|
||||
<NextScript />
|
||||
</body>
|
||||
</Html>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
import Section1 from '../components/Section1';
|
||||
import Section1Invert from '../components/Section1Invert';
|
||||
import Section1Light from '../components/Section1Light';
|
||||
import Section1InvertLight from '../components/Section1InvertLight';
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<>
|
||||
<div className="p-20">
|
||||
<div className="bg-britton-light text-center text-britton-dark text-7xl rounded-3xl p-4">
|
||||
Healthcare that's truly affordable
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div className='bg-britton-medium rounded-3xl'>
|
||||
<Section1
|
||||
title="Self-Funded Plans"
|
||||
imageUrl="/images/SelfFundedDrSquare.png"
|
||||
>
|
||||
Self-funding gives you the flexibility to design a plan that is best suited to meet your company's needs. And unlike traditional insurance plans that charge a fixed annual rate for claims, self-funded plans are billed monthly, and only for the services used. This saves you from the extra cost of paying for something your company might not use and lets you continuously evaluate your company’s plan, maximizing flexibility and mitigating risk to your company's bottom line.
|
||||
</Section1>
|
||||
</div>
|
||||
|
||||
|
||||
<Section1Invert
|
||||
title="Health & Risk Management"
|
||||
imageUrl="/images/SelfFundedDrSquare.png"
|
||||
>
|
||||
While self-funding protects you from paying higher month-to-month premiums for unutilized services, because self-funding bills per-claim, it does leave you susceptible to a catastrophic claim. To protect you against having to cover an excessive amount due to a catastrophic claim, self-funded plans give you the option to purchase stop-loss insurance.
|
||||
|
||||
With stop-loss insurance, you pay a fixed fee and your claim costs are set a predetermined level. If a claim exceeds that level, the stop-loss insurance will pay the rest. This coverage can be purchased to cover catastrophic claims on one member (known as specific coverage) or it can cover claims that significantly exceed the expected level for the entire group (aggregate coverage).
|
||||
</Section1Invert>
|
||||
<div className='bg-britton-neutral rounded-3xl'>
|
||||
<Section1Light
|
||||
title="Regulatory Compliance"
|
||||
imageUrl="/images/SelfFundedDrSquare.png"
|
||||
>
|
||||
At Britton Benefit Services, LLC we are leading the third-party benefits industry by working hard to make employee benefits more affordable for you and your employees. As a third-party administrator, we negotiate with leading PPOs and other organizations to help you find the best program for your employees without sacrificing the bottom line. This creates a major cost savings that you can pass on to your employees.
|
||||
|
||||
In addition to the generous cost savings for you and your employees, we also offer a wide range of online services to help streamline and automate the benefit process for you and your employees. This means easier access to the benefit information you need and faster action on individual claims.
|
||||
</Section1Light>
|
||||
|
||||
</div>
|
||||
|
||||
<Section1InvertLight
|
||||
title="Benefit Access & Online Support"
|
||||
imageUrl="/images/SelfFundedDrSquare.png"
|
||||
>
|
||||
This will all be new text talking about our login pages and other online support.
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac gravida massa. Morbi et posuere ligula. Cras ultrices luctus tincidunt. Nam arcu orci, porttitor sit amet dui vel, egestas consectetur eros. Maecenas tempus commodo lorem ac aliquam. Nunc mattis nisl non tortor semper fermentum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec quam metus, dictum quis egestas a, semper nec elit. Donec maximus semper vestibulum. Nullam eu libero at metus cursus tristique sed et mi. Aliquam sodales nunc ex, ut euismod tortor venenatis vel. Proin finibus sodales nibh, sit amet luctus ligula ultrices dapibus. Quisque in lacinia dolor.
|
||||
</Section1InvertLight>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div className="flex w-full h-70 justify-between items-center pt-30">
|
||||
<div className="bg-britton-neutral h-full w-3/12 rounded-3xl"></div>
|
||||
<div className="bg-britton-medium h-full w-3/12 rounded-3xl"></div>
|
||||
<div className="bg-britton-light h-full w-3/12 rounded-3xl"></div>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
:root {
|
||||
--background: #ffffff;
|
||||
--foreground: #171717;
|
||||
}
|
||||
|
||||
@theme {
|
||||
--color-britton-dark: #04153E;
|
||||
--color-britton-medium: #2A4B6F;
|
||||
--color-britton-light: #6AC8F1;
|
||||
--color-britton-neutral: #E0E0E0;
|
||||
--color-britton-accent: #B87333;
|
||||
--color-britton-accent2: #CD7F32;
|
||||
/* --color-britton-neutral: #EEF2E3; */
|
||||
/* name colors like below AFTER we settle on them for sure */
|
||||
/* --color-britton-deepcove: #04153E;
|
||||
--color-britton-bluetang: #2A4B6F;
|
||||
--color-britton-bluemana: #6AC8F1; */
|
||||
/* --color-britton-deepcove-background: #04153E;
|
||||
--color-britton-bluetang-background: #2A4B6F;
|
||||
--color-britton-bluemana-background: #6AC8F1; */
|
||||
/* Add more custom colors as needed */
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--font-sans: var(--font-geist-sans);
|
||||
--font-mono: var(--font-geist-mono);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--background: #0a0a0a;
|
||||
--foreground: #ededed;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
Reference in New Issue
Block a user