← Back to Template

BrightSmile Dental · Buyer guide

Make this practice
feel like your own.

A practical guide to editing the content, visual style, and appointment inquiry in your Bootstrap 5 landing page. No build process is needed.

1. Quick start

  1. Extract the ZIP. Keep the brightsmile-dental folder and its assets folder together.
  2. Open index.html in a modern browser to view the landing page. You can open this guide independently.
  3. Use a plain-text code editor to edit HTML, CSS, and JavaScript. Save a backup before making substantial changes.
  4. Replace the starter practice details, review the content, and check the page on desktop and mobile before public use.

The page works with local Bootstrap, local photographs, local icons, and system fonts. There are no remote font files, embedded maps, analytics scripts, or package-install steps. Browser clipboard permissions differ for local files; the manual-copy fallback is available.

2. What's in the folder

brightsmile-dental/
  index.html
  README.html
  LICENSES.txt
  assets/
    css/styles.css
    js/inquiry.js
    js/main.js
    images/consultation.webp
    images/practice-interior.webp
    icons/favicon.svg
    vendor/bootstrap/bootstrap.min.css
    vendor/bootstrap/bootstrap.bundle.min.js
    vendor/bootstrap/LICENSE
FileWhat to edit
index.htmlText, navigation, services, contact details, hours, form labels/options, patient quotes, FAQs, and policy dialogs.
assets/css/styles.cssColors, typography, spacing, photo crops, responsive layouts, focus styles, and mobile action bar.
assets/js/inquiry.jsPractice name, email recipient, business timezone, time label, date rules, and email-draft wording.
assets/js/main.jsHeader measurement, anchor navigation, service preselection, draft preparation, validation, copying, and reset behavior.
assets/vendor/bootstrap/Bootstrap 5.3.3 CSS, bundled JavaScript, and its MIT license. These support the grid, responsive fields, collapse panels, and dialogs.

3. Replace the practice content

Practice identity and contacts

Edit the plain-text BrightSmile wordmark in the header and footer, the dental subtitle, the page title and description in <head>, and all practice-name references. Update the SVG favicon if you have your own brand mark.

Starter detailWhere to update it
BrightSmile DentalHTML page text, metadata, policies, email-draft settings, and this guide.
(951) 555-0146
tel:+19515550146
Information bar, hero, service card, appointment section, FAQs, contact block, dialogs, no-script message, and mobile action bar. Keep visible text and link destinations consistent.
hello@brightsmile-dental.exampleEvery email link in HTML and the recipient setting in inquiry.js.
2186 Sagewood Lane, Suite 100
Riverside, CA 92501
Contact address. This is an invented, unverified address; replace it with the actual practice address.
Mon–Fri, 8:00 am–5:00 pm
Saturday–Sunday closed
Header information bar, appointment contact note, contact hours, no-script/contact copy if changed, and this guide.

The 555 phone number and .example email are reserved starter destinations, not working practice contacts. There is no live open/closed indicator. Confirm the timezone and actual office hours independently.

Services and practice approach

The six service cards introduce examinations, cleaning, fillings, crowns and bridges, whitening consultations, and dental concerns. Verify each service with the practice. Edit or remove cards that do not apply. Each appointment link has a data-visit value matching an option in #visitInterest; update both together. The dental-concern card leads to a phone call.

Review the practice introduction, care commitments, first-visit steps, and FAQ answers so they match how your team actually works. The concept does not include clinician biographies, qualifications, treatment results, insurer logos, pricing offers, or specialty-care promises. Add only accurate supplied details. Check patient age groups, specialty services, accessibility, parking, languages, and any first-visit requirements before including them.

Fees, insurance, and patient feedback

The fees section invites direct questions and does not list treatment prices or accepted plans. Replace it with your actual arrangements only after verification. Review relevant policy wording when you make these changes.

The three quotes attributed to Elena M., Daniel R., and Priya S. are invented starter copy. Replace them with verified patient feedback authorized for use or remove the complete feedback section before public launch. Do not present the starter quotes as actual patient reviews, add a fabricated review score, or include them in structured data.

Photography

The included photographs are starter visual assets. They are not verified photographs of actual practice staff, patients, or premises. Replace them with suitable licensed practice photographs when representing a real business. Write alt text describing the image itself without making unsupported identity claims.

Both supplied images are 1536 × 1024 WebP files. Keep descriptive filenames, update src, width, height, and alt text when replacing them. The hero is eager-loaded with high priority and has a preload link in the head; update both the image and preload paths together. The supporting image loads lazily.

4. Colors, typography, and responsive design

Edit CSS variables at the beginning of styles.css to make broad color changes.

ColorValueUse
Deep teal#205C5APrimary actions, links, and information bar.
Dark teal#173F3EPractice section, footer, and hover states.
Soft sage#E6EFEAFeedback, contact section, and quiet panels.
Warm ivory#FAF8F2Main page background.
Pale blue#EAF2F7Appointment form guidance.
Readable slate#4F6369Supporting body copy.

Headings use Georgia with a Times New Roman fallback. Body text uses Arial/Helvetica and the system sans-serif fallback. No font download is needed.

ElementDelivered scale
Main body copy18px desktop / 17px phone; line height around 1.65.
Hero supporting copy20px desktop / 18px tablet and phone.
Hero headingResponsive 56–87px desktop; 58px tablet; 44–65px phone depending on width.
Section headingsGenerally 38–60px desktop / 33–38px phone; compact secondary headings are sized for their section.
Service headings24–26px.
Services, FAQs, contact details, hours, policies16px.
Primary controlsAbout 16px desktop / 15–16px mobile; compact mobile action controls can use 14px at 320px.
Form labels / fields / help15px / at least 16px / 13px.
Footer links and notice14px, with no copyright year.

Responsive rules are grouped near the end of the stylesheet at 1199px, 991px, 767px, 479px, and 359px. Services move from three to two to one column. The inquiry uses a two-column section on large screens and a single-column section on smaller screens. Inputs stack below 576px. FAQs use two independent columns, then one column on phones.

The hero and practice photographs use object-fit: cover. Change their object-position and responsive heights if a different photograph needs another crop. Preserve natural proportions in the image files. Check subjects and faces at phone and tablet sizes.

5. Appointment inquiry and email drafting

This is a nonclinical appointment-inquiry form. It is not a booking system, patient portal, backend submission service, payment flow, or health-record integration. It has no live appointment availability.

Configure the recipient and timezone

Open assets/js/inquiry.js and update the settings:

practiceName: 'BrightSmile Dental',
recipient: 'hello@brightsmile-dental.example',
timeZone: 'America/Los_Angeles',
timeLabel: 'Riverside / Pacific time'

Use a valid IANA timezone for the actual practice. The default rejects dates before the current calendar day in Riverside, including when a visitor is in another timezone. Morning and afternoon are preferences in practice-local time. The form does not enforce working hours, weekends, holidays, or available slots.

What visitors can enter

Name and email are required. Phone, new/existing patient selection, visit interest, date, time, and scheduling notes are optional. Notes are limited to 300 characters and are for practical scheduling details only. Do not adapt this ordinary email flow to collect symptoms, medical history, records, birth dates, identification, insurance numbers, payment details, or uploaded clinical material.

How the controls work

  1. Prepare email draft validates the form and displays the message. It does not open an email app or send anything.
  2. Open email app uses a mailto: link containing the recipient, subject, and body. The visitor must send the message themselves. An email app must be configured on the device.
  3. Copy draft requests clipboard access when available. If blocked, the page selects the draft and explains how to copy it manually.
  4. Editing any form field hides and invalidates the old draft. The visitor must prepare a new one.
  5. Reset form clears the form, validation styling, and visible draft. It does not erase content already copied to the clipboard or handed to an email app.

The form does not write entries to localStorage, sessionStorage, console logs, or analytics. Data remains in page memory until reset, edited as part of the form, or the page is closed/reloaded. Browser autofill or restoration and email-provider behavior are outside the page's own logic. The form fields start disabled and are enabled only after the script loads, preventing a JavaScript-disabled fallback from submitting a normal form URL.

Use a real scheduling service if needed

If your practice uses an approved scheduling service or patient portal, replace relevant appointment links with its genuine URL. Update buttons, form text, FAQs, and policies to describe what actually happens. Do not label the current draft-only flow “confirmed booking.” Keep general contact email separate from sensitive patient communication.

7. Review the visitor policies

Find #privacyModal and #termsModal near the end of index.html. The supplied wording describes the delivered draft-only behavior, optional clipboard use, email handoff, general service information, and direct appointment confirmation.

Before public use, review these statements against the actual practice, email handling, hosting, and any added services. Do not claim specific retention practices, insurance arrangements, legal guarantees, compliance certification, or clinical capabilities unless verified. If analytics, a backend, payments, external scheduling, or a patient portal are added, update the page and its policy wording accordingly.

8. Before your practice goes live

9. Troubleshooting

What you noticeWhat to check
The page looks unstyled or an image is missing.Extract the ZIP fully. Keep paths and filename capitalization unchanged. Open the index inside the extracted folder, not inside the compressed ZIP.
Form fields stay disabled; menus or FAQs do not open.Check JavaScript is enabled and the three local script paths exist. Keep bootstrap.bundle.min.js, inquiry.js, and main.js in that order.
A service link selects the wrong option.Match its data-visit text exactly to the intended option value in #visitInterest.
Copy Draft does not copy automatically.Local files and browser permissions may block clipboard APIs. The draft is selected for manual copying. Use your device's Copy command.
Open Email App does nothing.Configure a default email app or copy the draft into webmail. The website cannot send an email by itself. Some apps limit long mailto messages; copying remains available.
An appointment is not confirmed after preparing the form.Preparing a draft is not sending. Send it from your email app and wait for direct practice confirmation.
Today's date is treated differently for a distant visitor.The form uses the practice timezone in inquiry.js, not the visitor's local date. Check that the practice timezone is correct.
Changed files seem unchanged.Check the exact HTML and assets you are opening, update relevant version tokens, and confirm that those files were replaced together before investigating caching.
A longer logo or header message wraps badly.Shorten the wording or adjust the responsive header rules. Keep both pinned rows readable; do not reduce all text sizes to make one long label fit.

10. Dependencies and license notices

Bootstrap 5.3.3 is included locally under the MIT license. The bundled JavaScript includes Popper; its complete MIT license notice is included in LICENSES.txt. See LICENSES.txt and assets/vendor/bootstrap/LICENSE. Keep upstream notices when distributing the template.

The wordmark, line icons, favicon, custom styles, and scripts are included with the template. Georgia, Arial, and their fallbacks use fonts already installed on the visitor's device; no font binaries are redistributed. Apply the license supplied with your purchase to use of the template itself, and verify rights for any replacement assets you add.

← Back to Template