/home/awneajlw/www/codestechvista.com/terms-conditions.php
<?php
/**
* Terms and Conditions Page
* This page displays the terms and conditions for OPTI SLIP
* Features: Legal terms, user agreements, service conditions, responsive design
*/
// Start session if not already started
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// Include required files
require_once 'config/database.php'; // Database connection configuration
require_once 'includes/auth.php'; // Authentication functions
/**
* Authentication Check
* Redirect to welcome page if user is not logged in
*/
if (!isLoggedIn()) {
header('Location: welcome.php');
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Terms & Conditions - OPTI SLIP</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
<style>
body {
background: #169D53;
min-height: 100vh;
margin: 0;
padding: 0;
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.terms-container {
max-width: 100%;
margin: 0;
padding: 20px;
}
.terms-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 30px;
flex-wrap: wrap;
}
.back-btn {
background: rgba(255, 255, 255, 0.2);
color: white;
border: 2px solid white;
padding: 10px 15px;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
font-size: 14px;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
}
.back-btn:hover {
background: white;
color: #169D53;
transform: translateY(-2px);
}
.terms-title {
color: white;
font-size: 24px;
font-weight: 700;
margin: 0;
}
.terms-card {
background: white;
border-radius: 20px;
padding: 40px;
box-shadow: 0 20px 40px rgba(22, 157, 83, 0.1);
margin-bottom: 30px;
border-top: 4px solid #169D53;
}
.terms-logo {
text-align: center;
margin-bottom: 40px;
}
.terms-logo h1 {
color: #169D53;
font-size: 36px;
font-weight: 800;
margin: 0;
text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}
.terms-logo p {
color: #6b7280;
font-size: 16px;
margin: 10px 0 0 0;
}
.terms-section {
margin-bottom: 40px;
}
.section-title {
color: #1f2937;
font-size: 20px;
font-weight: 700;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid #169D53;
}
.terms-content {
color: #374151;
line-height: 1.8;
font-size: 16px;
}
.terms-content p {
margin-bottom: 15px;
}
.terms-content ul {
margin: 15px 0;
padding-left: 20px;
}
.terms-content li {
margin-bottom: 8px;
}
.highlight {
background: #f0f9ff;
padding: 20px;
border-radius: 12px;
border-left: 4px solid #169D53;
margin: 20px 0;
}
.highlight p {
margin: 0;
font-weight: 600;
color: #1e40af;
}
.contact-info {
background: #f8fafc;
padding: 30px;
border-radius: 15px;
border: 2px solid #e5e7eb;
}
.contact-info h3 {
color: #169D53;
margin-bottom: 20px;
}
.contact-item {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 10px;
color: #374151;
}
.contact-item i {
color: #169D53;
width: 20px;
}
/* Mobile Menu Styles */
.mobile-menu-toggle {
display: none;
background: #169D53;
color: white;
border: none;
padding: 10px;
border-radius: 8px;
cursor: pointer;
font-size: 18px;
}
.mobile-menu {
position: fixed;
top: 0;
left: -100%;
width: 80%;
max-width: 300px;
height: 100vh;
background: white;
z-index: 1000;
transition: left 0.3s ease;
box-shadow: 2px 0 10px rgba(0,0,0,0.1);
overflow-y: auto;
}
.mobile-menu.active {
left: 0;
}
.mobile-menu-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
z-index: 999;
}
.mobile-menu-overlay.active {
display: block;
}
.mobile-menu-header {
padding: 20px;
background: #169D53;
color: white;
display: flex;
justify-content: space-between;
align-items: center;
}
.mobile-menu-close {
background: none;
border: none;
color: white;
font-size: 24px;
cursor: pointer;
}
.mobile-menu-content {
padding: 20px;
}
.mobile-nav-link {
display: block;
padding: 15px 0;
color: #374151;
text-decoration: none;
border-bottom: 1px solid #e5e7eb;
font-weight: 500;
transition: color 0.3s ease;
}
.mobile-nav-link:hover {
color: #169D53;
}
.mobile-search-section {
padding: 20px;
border-top: 1px solid #e5e7eb;
}
/* Responsive Design */
@media (max-width: 768px) {
.terms-container {
padding: 15px;
}
.terms-header {
margin-bottom: 20px;
}
.terms-title {
font-size: 20px;
}
.terms-card {
padding: 25px;
border-radius: 15px;
}
.terms-logo h1 {
font-size: 28px;
}
.section-title {
font-size: 18px;
}
.terms-content {
font-size: 15px;
}
.mobile-menu-toggle {
display: block;
}
}
@media (max-width: 480px) {
.terms-card {
padding: 20px;
}
.terms-logo h1 {
font-size: 24px;
}
.section-title {
font-size: 16px;
}
.terms-content {
font-size: 14px;
}
}
</style>
</head>
<body>
<div class="terms-container">
<!-- Header -->
<div class="terms-header">
<button class="back-btn" onclick="goBack()">
<i class="fas fa-arrow-left"></i> Back
</button>
<h1 class="terms-title">Terms & Conditions</h1>
</div>
<!-- Terms Card -->
<div class="terms-card">
<!-- Logo Section -->
<div class="terms-logo">
<h1>OPTI SLIP</h1>
<p>Terms and Conditions of Service</p>
</div>
<!-- Terms Content -->
<div class="terms-section">
<h2 class="section-title">1. Acceptance of Terms</h2>
<div class="terms-content">
<p>By accessing and using the OPTI SLIP service, you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.</p>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">2. Description of Service</h2>
<div class="terms-content">
<p>OPTI SLIP provides an online platform for eye clinic management, including but not limited to:</p>
<ul>
<li>Patient order management and tracking</li>
<li>Prescription calculation and recording</li>
<li>Sales analytics and reporting</li>
<li>Shop information management</li>
<li>Order slip generation and printing</li>
</ul>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">3. User Responsibilities</h2>
<div class="terms-content">
<p>As a user of OPTI SLIP, you agree to:</p>
<ul>
<li>Provide accurate and complete information</li>
<li>Maintain the confidentiality of your account credentials</li>
<li>Use the service only for lawful purposes</li>
<li>Not attempt to gain unauthorized access to the system</li>
<li>Respect patient privacy and data protection laws</li>
</ul>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">4. Data Protection and Privacy</h2>
<div class="terms-content">
<p>We are committed to protecting your privacy and personal information. All data collected is used solely for the purpose of providing our services and is not shared with third parties without your explicit consent.</p>
<div class="highlight">
<p><strong>Important:</strong> You are responsible for ensuring compliance with local data protection laws when handling patient information through our platform.</p>
</div>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">5. Service Availability</h2>
<div class="terms-content">
<p>We strive to maintain high service availability, but we do not guarantee uninterrupted access. The service may be temporarily unavailable due to maintenance, updates, or technical issues.</p>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">6. Limitation of Liability</h2>
<div class="terms-content">
<p>OPTI SLIP shall not be liable for any indirect, incidental, special, consequential, or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your use of the service.</p>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">7. Modifications to Terms</h2>
<div class="terms-content">
<p>We reserve the right to modify these terms at any time. Users will be notified of significant changes, and continued use of the service constitutes acceptance of the modified terms.</p>
</div>
</div>
<div class="terms-section">
<h2 class="section-title">8. Termination</h2>
<div class="terms-content">
<p>Either party may terminate this agreement at any time. Upon termination, your access to the service will be discontinued, and you are responsible for backing up any data you wish to retain.</p>
</div>
</div>
<!-- Contact Information -->
<div class="contact-info">
<h3>Contact Information</h3>
<div class="contact-item">
<i class="fas fa-envelope"></i>
<span>Email: support@optislip.com</span>
</div>
<div class="contact-item">
<i class="fas fa-phone"></i>
<span>Phone: +12183103335</span>
</div>
<div class="contact-item">
<i class="fas fa-map-marker-alt"></i>
<span>Address: 123 Healthcare St, Medical City, MC 12345</span>
</div>
<div class="contact-item">
<i class="fas fa-globe"></i>
<span>Website: www.optislip.com</span>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
/**
* Navigate back to previous page
*/
function goBack() {
window.history.back();
}
/**
* Mobile Menu Toggle Functions
*/
function toggleMobileMenu() {
const mobileMenu = document.getElementById('mobileMenu');
const overlay = document.getElementById('mobileMenuOverlay');
if (mobileMenu.classList.contains('active')) {
closeMobileMenu();
} else {
mobileMenu.classList.add('active');
overlay.classList.add('active');
document.body.style.overflow = 'hidden';
}
}
function closeMobileMenu() {
const mobileMenu = document.getElementById('mobileMenu');
const overlay = document.getElementById('mobileMenuOverlay');
mobileMenu.classList.remove('active');
overlay.classList.remove('active');
document.body.style.overflow = 'auto';
}
// Auto-scroll to top when page loads
window.addEventListener('load', function() {
window.scrollTo(0, 0);
});
// Smooth scrolling for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
});
});
</script>
</body>
</html>