resources/css/landing.css. Colors are configured as CSS custom properties in the @theme block, and the Tailwind config at tailwind.config.js extends these with additional color scales, shadows, and animations.
Brand colors
Primary color palette
The primary color palette controls navigation links, buttons, highlights, and the hero gradient. It is defined inresources/css/landing.css:
Secondary / accent colors
The secondary palette is used for gradient accents and CTA buttons. Defined intailwind.config.js:
Applying changes
After editing colors, rebuild the front-end assets:Fonts
The application uses Inter loaded from Google Fonts. The<link> tag is in resources/views/components/layouts/public.blade.php:
- Replace the Google Fonts URL with your chosen font
- Update
tailwind.config.js:
- Run
npm run build
Logo
The site logo in the navigation bar is rendered inresources/views/components/layouts/public.blade.php. By default it shows a styled letter “V” with the app name:
<div> and <span> block with:
public/images/logo.png.
App name in the nav is hardcoded as 'VPN App' — update the string directly, or use a translation key pointing to your app name.
Public page templates
All customer-facing pages are Blade templates inresources/views/. The layout wrapper is resources/views/components/layouts/public.blade.php.
Pages you can edit
| File | URL | Description |
|---|---|---|
resources/views/landing.blade.php | / | Homepage / landing page |
resources/views/features.blade.php | /features | Features page |
resources/views/pricing.blade.php | /pricing | Pricing / plan listing |
resources/views/support.blade.php | /support | Support landing page |
resources/views/auth/login.blade.php | /login | Login page |
resources/views/auth/register.blade.php | /register | Registration page |
resources/views/dashboard.blade.php | /dashboard | Customer dashboard |
resources/views/pages/service/index.blade.php | /service | Active service page |
Layout components
| File | Purpose |
|---|---|
resources/views/components/layouts/public.blade.php | Outer HTML shell, nav, footer |
resources/views/components/footer.blade.php | Site footer |
resources/views/components/sidebar.blade.php | Authenticated user sidebar |
resources/views/components/mobile-menu.blade.php | Mobile nav menu |
Landing page sections
resources/views/landing.blade.php is divided into clear sections you can edit independently:
Hero section
lang/en.json) if you have localization enabled.
Stats bar
The four stats (50+ Countries, 1000+ Servers, 10Gbps, 24/7 Support) are hardcoded HTML below the hero:Feature cards
Six feature cards are in the Features Section. Each card follows this structure:<h3> and <p> text, or add/remove cards from the grid.
App download buttons
The hero and download section contain placeholderhref="#" links for App Store and Google Play:
# with your actual app store URLs.
CTA section
The bottom call-to-action contains the trial and money-back guarantee copy:Email templates
Transactional email templates are inresources/views/emails/. Each email has an HTML and plain-text variant.
| File | Email type |
|---|---|
emails/service-activated.blade.php | Service activation confirmation |
emails/service-suspended.blade.php | Suspension notice |
emails/service-reactivated.blade.php | Reactivation confirmation |
emails/service-cancelled.blade.php | Cancellation confirmation |
emails/service-expiration-reminder.blade.php | Expiry reminder |
emails/payment/receipt.blade.php | Payment receipt |
resources/views/vendor/mail/html/layout.blade.php. To customize the mail frame (colors, logo, footer text):
resources/views/vendor/mail/html/layout.blade.php.
Admin panel styling
The admin panel uses Bootstrap 4 via the Stisla admin template (resources/stisla). To customize admin panel styles, edit:
resources/views/layouts/admin.blade.php.
Rebuild after changes
Any edit to a.blade.php, .css, or tailwind.config.js file that affects styling requires a rebuild: