# RR PORTAL_05 SEP 2025_0838PM - REPOSITORY ================================================================================ Project Name: RR portal_05 Sep 2025_0838PM Created: 2025-09-05 15:08:50 Last Updated: 2025-09-05 15:08:58 Source ZIP: public_html.zip Total Files: 107 Total Folders: 5 ================================================================================ ## FILE STRUCTURE ================================================================================ RR portal_05 Sep 2025_0838PM/ ├── about.php ├── admin-auth.php ├── articles.php ├── assets/ │ ├── css/ │ │ ├── bootstrap.min.css │ │ ├── custom.css │ │ ├── fontawesome.css │ │ ├── fontawesome.min.css │ │ ├── slick-theme.css │ │ ├── slick-theme.min.css │ │ ├── slick.min.css │ │ ├── templatemo.css │ │ └── templatemo.min.css │ ├── img/ │ │ ├── about-hero.svg │ │ ├── ajax-loader.gif │ │ ├── apple-icon.png │ │ ├── banner_img_01.jpg │ │ ├── banner_img_01.png │ │ ├── banner_img_02.jpg │ │ ├── banner_img_03.jpg │ │ ├── brand_01.png │ │ ├── brand_02.png │ │ ├── brand_03.png │ │ ├── brand_04.png │ │ ├── category_img_01.jpg │ │ ├── category_img_02.jpg │ │ ├── category_img_03.jpg │ │ ├── favicon.ico │ │ ├── favicon.png │ │ ├── feature_prod_01.jpg │ │ ├── feature_prod_02.jpg │ │ ├── feature_prod_03.jpg │ │ ├── krea logo - ppt.png │ │ ├── product_single_01.jpg │ │ ├── product_single_02.jpg │ │ ├── product_single_03.jpg │ │ ├── product_single_04.jpg │ │ ├── product_single_05.jpg │ │ ├── product_single_06.jpg │ │ ├── product_single_07.jpg │ │ ├── product_single_08.jpg │ │ ├── product_single_09.jpg │ │ ├── product_single_10.jpg │ │ ├── shop_01.jpg │ │ ├── shop_02.jpg │ │ ├── shop_03.jpg │ │ ├── shop_04.jpg │ │ ├── shop_05.jpg │ │ ├── shop_06.jpg │ │ ├── shop_07.jpg │ │ ├── shop_08.jpg │ │ ├── shop_09.jpg │ │ ├── shop_10.jpg │ │ └── shop_11.jpg │ ├── js/ │ │ ├── bootstrap.bundle.min.js │ │ ├── custom.js │ │ ├── jquery-1.11.0.min.js │ │ ├── jquery-migrate-1.2.1.min.js │ │ ├── slick.min.js │ │ ├── templatemo.js │ │ └── templatemo.min.js │ └── webfonts/ │ ├── fa-brands-400.eot │ ├── fa-brands-400.svg │ ├── fa-brands-400.ttf │ ├── fa-brands-400.woff │ ├── fa-brands-400.woff2 │ ├── fa-regular-400.eot │ ├── fa-regular-400.svg │ ├── fa-regular-400.ttf │ ├── fa-regular-400.woff │ ├── fa-regular-400.woff2 │ ├── fa-solid-900.eot │ ├── fa-solid-900.svg │ ├── fa-solid-900.ttf │ ├── fa-solid-900.woff │ ├── fa-solid-900.woff2 │ ├── slick.eot │ ├── slick.svg │ ├── slick.ttf │ └── slick.woff ├── check-session.php ├── config.php ├── contact.php ├── dashboard.php ├── default.php ├── doubts.php ├── email.php ├── errors.log ├── forgot-password.php ├── index.php ├── login.php ├── logout.php ├── mobile-verification.php ├── points-manager.php ├── privacy.php ├── profiler-api.php ├── profiler.php ├── redemption.php ├── reset-password.php ├── session.php ├── signup.php ├── sms-config.php ├── support.php ├── terms.php ├── ticket-guide.php ├── update-ticket-status.php ├── user-support.php └── verify.php ================================================================================ ## FILE CONTENTS ================================================================================ ### FILE 1: about.php - Type: PHP - Size: 17.46 KB - Path: . - Name: about.php ------------------------------------------------------------ About Us - Relevant Reflex | India's Premier Online Survey Platform

Our Mission

At Relevant Reflex, we bridge the gap between Indian consumers and global market research companies. Our mission is to provide a trustworthy platform where your opinions matter and are fairly compensated.

We believe that every voice deserves to be heard, and every opinion has value. That's why we've created a secure, user-friendly platform that makes it easy for people across India to participate in market research and earn money for their time and insights.

Why We Started

Founded in 2021, Relevant Reflex was born out of the need for a reliable, India-focused survey platform. We saw too many people getting frustrated with unreliable survey sites that didn't pay or weren't relevant to the Indian market.

About Relevant Reflex

Our Impact in Numbers

Since our launch, we've grown to become India's leading survey platform

50,000+
Active Members

Registered users earning money with surveys

₹25,00,000+
Total Paid Out

Cumulative rewards paid to our members

2,50,000+
Surveys Completed

Successful survey completions by our members

98%
Satisfaction Rate

Members who recommend us to friends

Our Core Values

These principles guide everything we do at Relevant Reflex

Trust & Security

We protect your data with bank-level security and never share your personal information without consent. Your privacy is our priority.

Fair Compensation

Every survey you complete is fairly compensated. We ensure timely payments and transparent reward structures.

Member-Centric

Our members are at the center of everything we do. We continuously improve our platform based on your feedback.

Innovation

We're constantly evolving our platform with new features and better user experiences to serve you better.

Community

We've built more than a platform - we've built a community of engaged Indian consumers making their voices heard.

Local Focus

We understand the Indian market and provide surveys that are relevant to local consumers and culture.

Ready to Share Your Opinions?

Join thousands of Indians who are earning money with their valuable insights!

Join Relevant Reflex Today
-------------------- END OF FILE -------------------- ### FILE 2: admin-auth.php - Type: PHP - Size: 21.52 KB - Path: . - Name: admin-auth.php ------------------------------------------------------------ pdo = $db->getConnection(); } catch (Exception $e) { logError('Admin auth database connection failed: ' . $e->getMessage()); throw new Exception('Database connection failed'); } } public function login($username, $password, $rememberMe = false) { try { // Find admin user $stmt = $this->pdo->prepare(" SELECT id, username, email, password, full_name, role, status FROM admin_users WHERE (username = ? OR email = ?) AND status = 'active' "); $stmt->execute([$username, $username]); $admin = $stmt->fetch(); if (!$admin || !verifyPassword($password, $admin['password'])) { logError('Admin login failed', ['username' => $username]); return false; } // Create session session_start(); session_regenerate_id(true); $_SESSION['admin_logged_in'] = true; $_SESSION['admin_id'] = $admin['id']; $_SESSION['admin_username'] = $admin['username']; $_SESSION['admin_full_name'] = $admin['full_name']; $_SESSION['admin_role'] = $admin['role']; $_SESSION['admin_login_time'] = time(); // Update last login $stmt = $this->pdo->prepare("UPDATE admin_users SET last_login = NOW() WHERE id = ?"); $stmt->execute([$admin['id']]); // Handle remember me if ($rememberMe) { $token = generateSecureToken(); $expires = date('Y-m-d H:i:s', strtotime('+30 days')); $stmt = $this->pdo->prepare(" INSERT INTO admin_sessions (admin_id, session_token, expires_at) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE session_token = ?, expires_at = ? "); $stmt->execute([$admin['id'], $token, $expires, $token, $expires]); setcookie('admin_remember_token', $token, strtotime('+30 days'), '/', '', true, true); } logError('Admin login successful', [ 'admin_id' => $admin['id'], 'username' => $admin['username'], 'role' => $admin['role'] ]); return true; } catch (Exception $e) { logError('Admin login error', ['username' => $username, 'error' => $e->getMessage()]); return false; } } public function logout() { session_start(); if (isset($_SESSION['admin_id'])) { logError('Admin logout', ['admin_id' => $_SESSION['admin_id']]); } // Clear remember token if (isset($_COOKIE['admin_remember_token'])) { try { $stmt = $this->pdo->prepare("DELETE FROM admin_sessions WHERE session_token = ?"); $stmt->execute([$_COOKIE['admin_remember_token']]); } catch (Exception $e) { logError('Error clearing admin remember token', ['error' => $e->getMessage()]); } setcookie('admin_remember_token', '', time() - 3600, '/', '', true, true); } // Clear session $_SESSION = []; session_destroy(); header('Location: support.php'); exit; } public function isLoggedIn() { session_start(); if (isset($_SESSION['admin_logged_in']) && $_SESSION['admin_logged_in'] === true) { return true; } // Check remember me token if (isset($_COOKIE['admin_remember_token'])) { return $this->checkRememberToken($_COOKIE['admin_remember_token']); } return false; } private function checkRememberToken($token) { try { $stmt = $this->pdo->prepare(" SELECT au.id, au.username, au.full_name, au.role FROM admin_sessions ass JOIN admin_users au ON ass.admin_id = au.id WHERE ass.session_token = ? AND ass.expires_at > NOW() AND au.status = 'active' "); $stmt->execute([$token]); $session = $stmt->fetch(); if ($session) { // Restore session $_SESSION['admin_logged_in'] = true; $_SESSION['admin_id'] = $session['id']; $_SESSION['admin_username'] = $session['username']; $_SESSION['admin_full_name'] = $session['full_name']; $_SESSION['admin_role'] = $session['role']; $_SESSION['admin_login_time'] = time(); // Update last login $stmt = $this->pdo->prepare("UPDATE admin_users SET last_login = NOW() WHERE id = ?"); $stmt->execute([$session['id']]); return true; } else { // Invalid or expired token - delete it setcookie('admin_remember_token', '', time() - 3600, '/', '', true, true); } } catch (Exception $e) { logError('Error checking admin remember token', ['error' => $e->getMessage()]); } return false; } public function requireAdmin() { if (!$this->isLoggedIn()) { header('Location: support.php'); exit; } } public function getCurrentAdmin() { if (!$this->isLoggedIn()) { return null; } session_start(); return [ 'id' => $_SESSION['admin_id'], 'username' => $_SESSION['admin_username'], 'full_name' => $_SESSION['admin_full_name'], 'role' => $_SESSION['admin_role'] ]; } public function createAdmin($username, $email, $password, $fullName, $role = 'admin') { try { // Check if username or email already exists $stmt = $this->pdo->prepare("SELECT id FROM admin_users WHERE username = ? OR email = ?"); $stmt->execute([$username, $email]); if ($stmt->fetch()) { return false; } // Create admin user $hashedPassword = hashPassword($password); $stmt = $this->pdo->prepare(" INSERT INTO admin_users (username, email, password, full_name, role, status) VALUES (?, ?, ?, ?, ?, 'active') "); $result = $stmt->execute([$username, $email, $hashedPassword, $fullName, $role]); if ($result) { logError('Admin user created', [ 'username' => $username, 'email' => $email, 'role' => $role ]); } return $result; } catch (Exception $e) { logError('Error creating admin user', ['username' => $username, 'error' => $e->getMessage()]); return false; } } // SUPPORT TICKET METHODS public function getAllTickets($status = null, $priority = null, $limit = 50, $offset = 0) { try { $where = "1=1"; $params = []; if ($status) { $where .= " AND st.status = ?"; $params[] = $status; } if ($priority) { $where .= " AND st.priority = ?"; $params[] = $priority; } $stmt = $this->pdo->prepare(" SELECT st.*, u.email as user_email, au.full_name as assigned_admin_name, (SELECT COUNT(*) FROM support_messages sm WHERE sm.ticket_id = st.id) as message_count FROM support_tickets st LEFT JOIN users u ON st.user_id = u.id LEFT JOIN admin_users au ON st.assigned_to = au.id WHERE $where ORDER BY st.created_at DESC LIMIT $limit OFFSET $offset "); $stmt->execute($params); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching tickets', ['error' => $e->getMessage()]); return []; } } public function getTicketStats() { try { $stmt = $this->pdo->query(" SELECT COUNT(*) as total, SUM(CASE WHEN status = 'open' THEN 1 ELSE 0 END) as open, SUM(CASE WHEN status = 'pending' THEN 1 ELSE 0 END) as pending, SUM(CASE WHEN status = 'resolved' THEN 1 ELSE 0 END) as resolved, SUM(CASE WHEN status = 'closed' THEN 1 ELSE 0 END) as closed FROM support_tickets "); return $stmt->fetch(); } catch (Exception $e) { logError('Error fetching ticket stats', ['error' => $e->getMessage()]); return ['total' => 0, 'open' => 0, 'pending' => 0, 'resolved' => 0, 'closed' => 0]; } } public function getTicketById($ticketId) { try { $stmt = $this->pdo->prepare(" SELECT st.*, u.email as user_email, u.gender, u.date_of_birth, u.postcode, au.full_name as assigned_admin_name FROM support_tickets st LEFT JOIN users u ON st.user_id = u.id LEFT JOIN admin_users au ON st.assigned_to = au.id WHERE st.id = ? "); $stmt->execute([$ticketId]); return $stmt->fetch(); } catch (Exception $e) { logError('Error fetching ticket', ['ticket_id' => $ticketId, 'error' => $e->getMessage()]); return null; } } public function getTicketMessages($ticketId, $includeInternal = false) { try { $where = $includeInternal ? "1=1" : "is_internal = 0"; $stmt = $this->pdo->prepare(" SELECT sm.*, CASE WHEN sm.sender_type = 'user' THEN u.email WHEN sm.sender_type = 'admin' THEN au.full_name END as sender_name FROM support_messages sm LEFT JOIN users u ON sm.sender_type = 'user' AND sm.sender_id = u.id LEFT JOIN admin_users au ON sm.sender_type = 'admin' AND sm.sender_id = au.id WHERE sm.ticket_id = ? AND $where ORDER BY sm.created_at ASC "); $stmt->execute([$ticketId]); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching ticket messages', ['ticket_id' => $ticketId, 'error' => $e->getMessage()]); return []; } } public function updateTicketStatus($ticketId, $status, $adminId) { try { $stmt = $this->pdo->prepare(" UPDATE support_tickets SET status = ?, resolved_at = CASE WHEN ? = 'resolved' COLLATE utf8mb4_unicode_ci THEN NOW() ELSE resolved_at END WHERE id = ? "); $result = $stmt->execute([$status, $status, $ticketId]); if ($result) { logError('Ticket status updated', [ 'ticket_id' => $ticketId, 'status' => $status, 'admin_id' => $adminId ]); } return $result; } catch (Exception $e) { logError('Error updating ticket status', ['ticket_id' => $ticketId, 'error' => $e->getMessage()]); return false; } } public function assignTicket($ticketId, $adminId) { try { $stmt = $this->pdo->prepare("UPDATE support_tickets SET assigned_to = ?, updated_at = NOW() WHERE id = ?"); return $stmt->execute([$adminId, $ticketId]); } catch (Exception $e) { logError('Error assigning ticket', ['ticket_id' => $ticketId, 'admin_id' => $adminId, 'error' => $e->getMessage()]); return false; } } public function addTicketReply($ticketId, $message, $adminId, $isInternal = false) { try { $stmt = $this->pdo->prepare(" INSERT INTO support_messages (ticket_id, sender_type, sender_id, message, is_internal) VALUES (?, 'admin', ?, ?, ?) "); $result = $stmt->execute([$ticketId, $adminId, $message, $isInternal]); if ($result) { // Update ticket timestamp $stmt = $this->pdo->prepare("UPDATE support_tickets SET updated_at = NOW() WHERE id = ?"); $stmt->execute([$ticketId]); } return $result; } catch (Exception $e) { logError('Error adding ticket reply', ['ticket_id' => $ticketId, 'admin_id' => $adminId, 'error' => $e->getMessage()]); return false; } } public function getAdminUsers() { try { $stmt = $this->pdo->prepare("SELECT id, username, full_name, role FROM admin_users WHERE status = 'active' ORDER BY full_name"); $stmt->execute(); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching admin users', ['error' => $e->getMessage()]); return []; } } // REDEMPTION MANAGEMENT METHODS public function getAllRedemptions($status = null, $dateFilter = null, $limit = 50, $offset = 0) { try { $where = "1=1"; $params = []; if ($status && $status !== 'all') { $where .= " AND rr.status = ?"; $params[] = $status; } if ($dateFilter) { switch ($dateFilter) { case 'today': $where .= " AND DATE(rr.created_at) = CURDATE()"; break; case 'yesterday': $where .= " AND DATE(rr.created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)"; break; case 'this_week': $where .= " AND rr.created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)"; break; case 'this_month': $where .= " AND rr.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)"; break; } } $stmt = $this->pdo->prepare(" SELECT rr.*, u.email as user_email, au.full_name as processed_by_name, (SELECT COUNT(*) FROM redemption_requests WHERE user_id = rr.user_id) as user_total_redemptions FROM redemption_requests rr LEFT JOIN users u ON rr.user_id = u.id LEFT JOIN admin_users au ON rr.processed_by = au.id WHERE $where ORDER BY rr.created_at DESC LIMIT $limit OFFSET $offset "); $stmt->execute($params); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching redemptions', ['error' => $e->getMessage()]); return []; } } public function getRedemptionStats() { try { $stmt = $this->pdo->query(" SELECT COUNT(*) as total, SUM(CASE WHEN status = 'pending' THEN 1 ELSE 0 END) as pending, SUM(CASE WHEN status = 'processing' THEN 1 ELSE 0 END) as processing, SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) as completed, SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) as failed, SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END) as cancelled, SUM(CASE WHEN status = 'pending' THEN amount_inr ELSE 0 END) as pending_amount, SUM(CASE WHEN status IN ('processing', 'completed') THEN amount_inr ELSE 0 END) as processed_amount FROM redemption_requests "); return $stmt->fetch(); } catch (Exception $e) { logError('Error fetching redemption stats', ['error' => $e->getMessage()]); return [ 'total' => 0, 'pending' => 0, 'processing' => 0, 'completed' => 0, 'failed' => 0, 'cancelled' => 0, 'pending_amount' => 0, 'processed_amount' => 0 ]; } } public function updateRedemptionStatus($redemptionId, $status, $adminNotes, $adminId) { try { $this->pdo->beginTransaction(); // Get redemption details $stmt = $this->pdo->prepare("SELECT * FROM redemption_requests WHERE id = ?"); $stmt->execute([$redemptionId]); $redemption = $stmt->fetch(); if (!$redemption) { throw new Exception('Redemption request not found'); } // Update redemption status $stmt = $this->pdo->prepare(" UPDATE redemption_requests SET status = ?, admin_notes = ?, processed_by = ?, processed_at = NOW(), updated_at = NOW() WHERE id = ? "); $stmt->execute([$status, $adminNotes, $adminId, $redemptionId]); // Update point transaction status $stmt = $this->pdo->prepare(" UPDATE point_transactions SET status = ? WHERE reference_id = ? AND transaction_type = 'redeemed' "); $stmt->execute([$status, $redemption['request_id']]); // If status is failed or cancelled, refund the points if (in_array($status, ['failed', 'cancelled'])) { $stmt = $this->pdo->prepare(" UPDATE user_points SET points = points + ?, total_redeemed = total_redeemed - ? WHERE user_id = ? "); $stmt->execute([$redemption['points_redeemed'], $redemption['points_redeemed'], $redemption['user_id']]); // Add refund transaction $refundDescription = "Refund for {$status} redemption request - " . $redemption['request_id']; $stmt = $this->pdo->prepare(" INSERT INTO point_transactions (user_id, transaction_type, points, source, description, reference_id) VALUES (?, 'earned', ?, 'refund', ?, ?) "); $stmt->execute([$redemption['user_id'], $redemption['points_redeemed'], $refundDescription, $redemption['request_id']]); } $this->pdo->commit(); logError('Redemption status updated', [ 'redemption_id' => $redemptionId, 'request_id' => $redemption['request_id'], 'old_status' => $redemption['status'], 'new_status' => $status, 'admin_id' => $adminId, 'admin_notes' => $adminNotes ]); return true; } catch (Exception $e) { $this->pdo->rollback(); logError('Error updating redemption status', [ 'redemption_id' => $redemptionId, 'error' => $e->getMessage() ]); return false; } } public function getRedemptionById($redemptionId) { try { $stmt = $this->pdo->prepare(" SELECT rr.*, u.email as user_email, u.gender, u.date_of_birth, u.postcode, au.full_name as processed_by_name, up.points as user_current_points, up.total_earned, up.total_redeemed FROM redemption_requests rr LEFT JOIN users u ON rr.user_id = u.id LEFT JOIN admin_users au ON rr.processed_by = au.id LEFT JOIN user_points up ON rr.user_id = up.user_id WHERE rr.id = ? "); $stmt->execute([$redemptionId]); return $stmt->fetch(); } catch (Exception $e) { logError('Error fetching redemption', ['redemption_id' => $redemptionId, 'error' => $e->getMessage()]); return null; } } public function getRecentRedemptions($limit = 5) { try { $stmt = $this->pdo->prepare(" SELECT rr.request_id, rr.amount_inr, rr.status, rr.created_at, u.email as user_email FROM redemption_requests rr LEFT JOIN users u ON rr.user_id = u.id ORDER BY rr.created_at DESC LIMIT ? "); $stmt->execute([$limit]); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching recent redemptions', ['error' => $e->getMessage()]); return []; } } } // Utility functions function adminJsonResponse($success, $message, $data = null) { header('Content-Type: application/json'); echo json_encode([ 'success' => $success, 'message' => $message, 'data' => $data ]); exit; } ?> -------------------- END OF FILE -------------------- ### FILE 3: articles.php - Type: PHP - Size: 26.31 KB - Path: . - Name: articles.php ------------------------------------------------------------ Articles & Tips - Relevant Reflex | Maximize Your Survey Earnings

Paid Online Surveys in India: How to Spot Genuine Websites

In the bustling online world of India, paid online surveys have become a popular means for individuals to earn extra income conveniently. Companies and market research firms value the opinions of Indian consumers, and this has led to numerous opportunities to participate in paid surveys. However, with the rise in demand for such opportunities, fraudulent websites have also emerged, preying on unsuspecting individuals.

Read Full Article

How to Identify Genuine Survey Websites

Learn the key indicators of legitimate survey platforms and avoid falling victim to scams. Essential reading for anyone starting with online surveys in India.

Key Points:
  • Thorough Research is Key: Look for platforms with strong online presence and positive reviews from Indian users.
  • Seek Transparent Websites: Legitimate sites provide clear contact information and company details.
  • Avoid Upfront Fees: Reputable sites never charge registration fees.
  • Check Payment Methods: Verify that payment methods are reputable and suitable for India.

5 Ways to Maximize Your Survey Earnings

Practical strategies to increase your monthly survey income. From profile optimization to timing your survey participation.

Quick Tips:
  • Complete your profile 100%
  • Join multiple legitimate platforms
  • Check for surveys daily
  • Be honest in your responses
  • Participate in profiling surveys

Complete Guide for Survey Beginners in India

Everything you need to know to get started with online surveys in India. From registration to your first payout.

What You'll Learn:
  • How to choose the right survey sites
  • Setting up your profile for success
  • Understanding survey types and rewards
  • Payment methods available in India

Realistic Earning Expectations from Surveys

Set proper expectations about survey earnings in India. Learn what's realistic and how to achieve consistent monthly income.

Expected Earnings:
  • Beginners: ₹500-₹1,500/month
  • Active users: ₹2,000-₹4,000/month
  • Expert users: ₹5,000+/month
  • Time investment: 1-2 hours daily

Best Survey Platforms for Indian Users

Comprehensive review of survey platforms that work best for Indian users, with focus on payment methods and survey availability.

Top Platforms for Indians:
  • Relevant Reflex (Our platform)
  • Swagbucks India
  • Toluna India
  • ySense (formerly ClixSense)

Time Management Tips for Survey Takers

Learn how to efficiently manage your time while taking surveys. Balance survey participation with your daily routine.

Time Management Tips:
  • Set specific times for survey participation
  • Use mobile apps for on-the-go surveys
  • Prioritize higher-paying surveys
  • Don't force yourself to qualify for every survey

Ready to Start Your Survey Journey?

Apply these tips and start earning with legitimate online surveys today!

Join Relevant Reflex Now
-------------------- END OF FILE -------------------- ### FILE 4: check-session.php - Type: PHP - Size: 976 B - Path: . - Name: check-session.php ------------------------------------------------------------ checkSessionTimeout(120); $isValid = isLoggedIn(); $user = null; if ($isValid) { $user = getCurrentUser(); // If user doesn't exist or is not active, invalidate session if (!$user || $user['status'] !== 'active') { logout(); $isValid = false; } } echo json_encode([ 'valid' => $isValid, 'user_id' => $isValid ? $user['id'] : null, 'email' => $isValid ? $user['email'] : null, 'timestamp' => time() ]); } catch (Exception $e) { logError('Session check error', ['error' => $e->getMessage()]); echo json_encode([ 'valid' => false, 'error' => 'Session check failed', 'timestamp' => time() ]); } ?> -------------------- END OF FILE -------------------- ### FILE 5: config.php - Type: PHP - Size: 3.42 KB - Path: . - Name: config.php ------------------------------------------------------------ connection = new PDO( "mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8mb4", DB_USER, DB_PASS, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false ] ); } catch (PDOException $e) { error_log("Database connection failed: " . $e->getMessage()); die("Connection failed. Please try again later."); } } public function getConnection() { return $this->connection; } } // Utility functions function sanitize($data) { return htmlspecialchars(strip_tags(trim($data)), ENT_QUOTES, 'UTF-8'); } function generateSecureToken($length = 64) { return bin2hex(random_bytes($length / 2)); } function hashPassword($password) { return password_hash($password, PASSWORD_DEFAULT); } function verifyPassword($password, $hash) { return password_verify($password, $hash); } function validateEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email); } function validatePassword($password) { // At least 8 characters return strlen($password) >= 8; } function validateDateOfBirth($dob) { $date = DateTime::createFromFormat('Y-m-d', $dob); if (!$date) return false; // Check if user is at least 18 years old $today = new DateTime(); $age = $today->diff($date)->y; return $age >= 18; } function validatePostcode($postcode) { // Indian postal code validation (6 digits) return preg_match('/^[0-9]{6}$/', $postcode); } // JSON response helper function jsonResponse($success, $message, $data = null) { header('Content-Type: application/json'); echo json_encode([ 'success' => $success, 'message' => $message, 'data' => $data ]); exit; } // Error logging function function logError($message, $context = []) { $logMessage = date('Y-m-d H:i:s') . ' - ' . $message; if (!empty($context)) { $logMessage .= ' - Context: ' . json_encode($context); } error_log($logMessage . PHP_EOL, 3, 'errors.log'); } ?> -------------------- END OF FILE -------------------- ### FILE 6: contact.php - Type: PHP - Size: 22.93 KB - Path: . - Name: contact.php ------------------------------------------------------------ $name, 'email' => $email, 'subject' => $subject, 'message' => substr($message, 0, 100) . '...' ]); $success_message = 'Thank you for your message! We\'ll get back to you within 24 hours.'; // Clear form data $_POST = []; } } ?> Contact Us - Relevant Reflex | Get Support for Online Surveys

Email Support

Get help with your account, payments, or technical issues.

support@relevantreflex.com

Response Time

We typically respond to all inquiries within 24 hours during business days.

24 Hour Response

Our Location

Ethirmedu, NH 544
Tamilnadu - 638183
India

Serving All of India

Send Us a Message

Thank you for contacting us!

We'll review your message and get back to you as soon as possible.

Send Another Message Go to Dashboard

Frequently Asked Questions

How long does it take to get approved?

Account approval is typically instant after email verification. You can start taking surveys immediately after verifying your email address.

When do I get paid for completed surveys?

Payments are processed according to each survey provider's schedule. Most rewards are credited within 2-5 business days after survey completion.

Why was I disqualified from a survey?

Survey disqualifications happen when your profile doesn't match the target demographic. This is normal and helps ensure survey quality. Keep trying - there are surveys for all profiles!

How can I increase my survey opportunities?

Complete your profile thoroughly, answer profiling questions honestly, and check your dashboard regularly for new opportunities.

Is Relevant Reflex really free to join?

Yes! Joining Relevant Reflex is completely free. We never charge fees to our members. Legitimate survey companies pay YOU for your opinions, not the other way around.

-------------------- END OF FILE -------------------- ### FILE 7: dashboard.php - Type: PHP - Size: 44.4 KB - Path: . - Name: dashboard.php ------------------------------------------------------------ redirectToLogin('Session expired. Please log in again.'); } // Calculate user age $userAge = null; if ($user['date_of_birth']) { $birthDate = new DateTime($user['date_of_birth']); $today = new DateTime(); $userAge = $today->diff($birthDate)->y; } // Format join date $joinDateFormatted = date('F j, Y', strtotime($user['created_at'])); // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { logError('Database connection failed in dashboard.php: ' . $e->getMessage()); die('System error. Please try again later.'); } // Check and award onboarding points (only once) if ($user['email_verified'] && !$user['onboarding_completed'] && !$user['onboarding_points_awarded']) { try { // Double-check to prevent race conditions $stmt = $pdo->prepare("SELECT onboarding_points_awarded FROM users WHERE id = ? AND onboarding_points_awarded = 0"); $stmt->execute([$user['id']]); $canAward = $stmt->fetch(); if ($canAward) { $pdo->beginTransaction(); // Award onboarding points $stmt = $pdo->prepare("INSERT INTO user_points (user_id, points, total_earned) VALUES (?, 10.00, 10.00) ON DUPLICATE KEY UPDATE points = points + 10.00, total_earned = total_earned + 10.00"); $stmt->execute([$user['id']]); // Add transaction record $stmt = $pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description) VALUES (?, 'earned', 10.00, 'onboarding', 'Welcome bonus for email verification and first login')"); $stmt->execute([$user['id']]); // Mark onboarding as completed and points as awarded $stmt = $pdo->prepare("UPDATE users SET onboarding_completed = 1, onboarding_points_awarded = 1 WHERE id = ?"); $stmt->execute([$user['id']]); $pdo->commit(); logError('Onboarding points awarded', ['user_id' => $user['id'], 'points' => 10]); // Refresh user data to reflect changes $user = getCurrentUser(); } } catch (Exception $e) { $pdo->rollback(); logError('Error awarding onboarding points', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } } // Get user points $userPoints = ['points' => 0, 'total_earned' => 0, 'total_redeemed' => 0]; try { $stmt = $pdo->prepare("SELECT points, total_earned, total_redeemed FROM user_points WHERE user_id = ?"); $stmt->execute([$user['id']]); $pointsData = $stmt->fetch(); if ($pointsData) { $userPoints = $pointsData; } } catch (Exception $e) { logError('Error fetching user points', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Get profiler completion status $profilerSections = [ 'personal_background' => 'Personal Background', 'household_family' => 'Household & Family', 'shopping_lifestyle' => 'Shopping & Lifestyle', 'technology_digital' => 'Technology & Digital', 'travel_transportation' => 'Travel & Transportation', 'health_fitness' => 'Health & Fitness', 'entertainment_media' => 'Entertainment & Media', 'food_dining' => 'Food & Dining', 'financial_services' => 'Financial Services', 'communication_payments' => 'Communication & Payments' ]; $profilerCompletion = []; try { $stmt = $pdo->prepare("SELECT section, completion_percentage, is_completed, points_awarded FROM profiler_completion WHERE user_id = ?"); $stmt->execute([$user['id']]); while ($row = $stmt->fetch()) { $profilerCompletion[$row['section']] = $row; } } catch (Exception $e) { logError('Error fetching profiler completion', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Get mobile verification status $mobileVerified = false; $mobileNumber = ''; try { $stmt = $pdo->prepare("SELECT mobile_number, is_verified FROM mobile_verifications WHERE user_id = ?"); $stmt->execute([$user['id']]); $mobileData = $stmt->fetch(); if ($mobileData) { $mobileVerified = $mobileData['is_verified']; $mobileNumber = $mobileData['mobile_number']; } } catch (Exception $e) { logError('Error fetching mobile verification', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Get user's support tickets for the support section $userTickets = []; try { $stmt = $pdo->prepare(" SELECT st.*, (SELECT COUNT(*) FROM support_messages sm WHERE sm.ticket_id = st.id) as message_count, (SELECT sm.created_at FROM support_messages sm WHERE sm.ticket_id = st.id ORDER BY sm.created_at DESC LIMIT 1) as last_reply FROM support_tickets st WHERE st.user_id = ? ORDER BY st.created_at DESC LIMIT 10 "); $stmt->execute([$user['id']]); $userTickets = $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching user tickets', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Get recent point transactions $recentTransactions = []; try { $stmt = $pdo->prepare(" SELECT transaction_type, points, source, description, created_at, status FROM point_transactions WHERE user_id = ? ORDER BY created_at DESC LIMIT 20 "); $stmt->execute([$user['id']]); $recentTransactions = $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching transactions', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Get redemption requests $redemptionRequests = []; try { $stmt = $pdo->prepare(" SELECT request_id, points_redeemed, amount_inr, upi_id, status, created_at, processed_at FROM redemption_requests WHERE user_id = ? ORDER BY created_at DESC "); $stmt->execute([$user['id']]); $redemptionRequests = $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching redemption requests', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } ?> Dashboard - Relevant Reflex

Welcome to Your Survey Dashboard!

Complete your profile, earn points, and participate in paid surveys from trusted research companies.

Available Points

Value

0

Available Surveys

Complete your profile to unlock

$name) { if (isset($profilerCompletion[$key]) && $profilerCompletion[$key]['is_completed']) { $completedSections++; } } echo round(($completedSections / count($profilerSections)) * 100); ?>%

Profile Complete

/ sections

Total Earned

Since

Quick Actions

Complete Your Profile

Earn up to 70 points by completing all profile sections

Redeem Rewards

Convert your points to cash rewards via UPI

Need Help?

Get support for any questions or issues

Available Surveys

Complete Your Profile First!

To receive targeted survey invitations, please complete all sections in the "Know Me Better" profiler. This helps us match you with relevant surveys that fit your demographics and interests.

Current Progress: / sections completed

Know Me Better Complete All Sections to Earn 60 Points!

Help us understand you better to send more relevant survey opportunities. Each completed section earns you 5 points!

Mobile Verification

Your mobile number is verified! Verify your mobile number to receive survey notifications and earn 10 points.

We'll send you an OTP to verify your number.
10 Points Earned!
$sectionName): $completion = isset($profilerCompletion[$sectionKey]) ? $profilerCompletion[$sectionKey] : null; $isCompleted = $completion && $completion['is_completed']; $percentage = $completion ? $completion['completion_percentage'] : 0; $pointsAwarded = $completion && $completion['points_awarded']; ?>
%
Completed on 0): ?> % completed Not started
5 Points

Rewards & Points

Available Points

Current Value

Total Earned

Lifetime Earnings

Total Redeemed

Total Withdrawn
Redeem Points
= 200): ?>

You can redeem your points for cash via UPI transfer. Minimum redemption: 200 points (₹100)

Minimum Redemption Required

You need at least 200 points (₹100) to redeem. You currently have points.

Need more points to redeem.

Recent Transactions

No transactions yet. Complete your profile sections to start earning points!

+ Points - Points

Source:

Redemption History

No redemptions yet.

( points)

UPI:

Profile Information

Basic Information

Email:

Gender:

Date of Birth:

Age: years

Postcode:

Member Since:

Basic profile information cannot be changed after registration for security reasons.

Survey Panel Member

Verified

Support Center

Create Ticket

Get help with account, points, or technical issues

Create New Ticket
How It Works

Learn about our survey panel and earning process

View Guide
Contact Us

Direct email support for urgent matters

Contact Form
Your Recent Support Tickets

You haven't created any support tickets yet. If you need help, click "Create New Ticket" above.

Created: | Last Reply:

messages
-------------------- END OF FILE -------------------- ### FILE 8: default.php - Type: PHP - Size: 15.99 KB - Path: . - Name: default.php ------------------------------------------------------------ Default page

You Are All Set to Go!

All you have to do now is upload your website files and start your journey. Check out how to do that below:

-------------------- END OF FILE -------------------- ### FILE 9: doubts.php - Type: PHP - Size: 24.02 KB - Path: . - Name: doubts.php ------------------------------------------------------------ How It Works - Relevant Reflex | Complete Guide to Online Surveys

Getting Started is Easy

Follow these simple steps to start earning money with surveys today!

1

Sign Up Free

Create your account with basic information. It takes less than 2 minutes and is completely free.

Sign Up Now
2

Verify Email

Check your email and click the verification link to activate your account and unlock survey opportunities.

3

Complete Profile

Fill out your profile thoroughly to get matched with surveys that fit your demographics and interests.

4

Start Earning

Browse available surveys, complete them honestly, and start earning rewards for your valuable opinions!

View Surveys

Pro Tips for Success

Provide Genuine Details

When you signup, DO NOT provide fake details. Provide your correct details including your gender, age, occupation, company, region etc. Since online paid surveys are sent to almost all age and gender categories and profile types, when you fake your profile, you might not get what you usually get for your actual profile.

Complete Profiler Surveys

Provide as many details as possible about you in the profiler section. This includes your gaming profile, income range, automobile assets, real estate assets, electronics you own and so on. When you attend more profiler surveys, you get more and more surveys related to all these. When you have only a generic profile and not completed the profiler surveys, you will get only those surveys which are based on age and gender.

Choose Languages You Know

Choose the languages that you know. Some people try surveys in other languages. Since you can't translate and understand all languages, you might end up taking more time on the survey than usual duration. When you take such a long duration on any survey, the system might mark you as a fraudulent user.

Be Patient

When you get screened out of many surveys, it means that the survey is not meant for your profile. This also means that there will be surveys targeting you in the future. So, KEEP PARTICIPATING in as many surveys as possible.

Log In Daily

Login every day to see if you have any surveys. Check your mail daily to know if you have any survey invitations. When you don't check the mail or login daily, other users will complete those surveys sooner and you might not get a chance to complete the survey.

Important Guidelines

Avoid Survey Fraud

Never use automated tools, VPNs, or provide inconsistent answers. This can result in account suspension and loss of rewards.

One Account Per Person

Maintain only one account per person. Multiple accounts from the same household or IP address may result in disqualification.

Complete Surveys Promptly

Don't leave surveys incomplete for long periods. Complete them in a reasonable timeframe to maintain your quality score.

Understanding Survey Types

Opinion Surveys

Share your thoughts on products, services, brands, and current topics. These are the most common type of surveys.

5-20 minutes

Product Testing

Test products at home and provide detailed feedback. Higher rewards but limited availability.

1-2 weeks

Focus Groups

Join group discussions on specific topics. These offer the highest rewards but are invitation-only.

1-2 hours

Profile Surveys

Complete these to help us match you with more relevant surveys. Essential for maximizing opportunities.

2-5 minutes

Success Stories from Our Members

Real experiences from real people earning with Relevant Reflex

"Earned ₹15,000 in 6 months"

"I follow all the tips mentioned here and consistently earn ₹2,500-₹3,000 per month. The key is patience and honesty in responses."

- Rajesh K., Software Engineer, Mumbai
"Perfect for students"

"As a college student, this platform helps me earn pocket money. I complete surveys between classes and have earned ₹8,000 so far."

- Priya S., Student, Delhi
"Reliable side income"

"Been using Relevant Reflex for over a year. It's become a reliable source of extra income for my family. Highly recommended!"

- Sneha M., Homemaker, Bangalore

Need Help Getting Started?

Our support team is here to help you succeed with online surveys!

-------------------- END OF FILE -------------------- ### FILE 10: email.php - Type: PHP - Size: 10.08 KB - Path: . - Name: email.php ------------------------------------------------------------ getVerificationEmailTemplate($verificationUrl); return $this->sendEmail($email, $subject, $htmlBody); } public function sendPasswordResetEmail($email, $token) { $resetUrl = SITE_URL . "/reset-password.php?token=" . $token; $subject = "Reset Your Password - " . SITE_NAME; $htmlBody = $this->getPasswordResetEmailTemplate($resetUrl); return $this->sendEmail($email, $subject, $htmlBody); } private function sendEmail($to, $subject, $htmlBody) { // For basic PHP mail() function (works on most shared hosting) $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $headers .= "From: " . FROM_NAME . " <" . FROM_EMAIL . ">" . "\r\n"; $headers .= "Reply-To: " . FROM_EMAIL . "\r\n"; $headers .= "X-Mailer: PHP/" . phpversion(); try { $result = mail($to, $subject, $htmlBody, $headers); if ($result) { logError("Email sent successfully to: " . $to); return true; } else { logError("Failed to send email to: " . $to); return false; } } catch (Exception $e) { logError("Email sending exception: " . $e->getMessage(), ['email' => $to]); return false; } } private function getVerificationEmailTemplate($verificationUrl) { return ' Email Verification

' . SITE_NAME . '

Welcome to India\'s Trusted Survey Platform

Welcome! Please Verify Your Email

Thank you for registering with ' . SITE_NAME . '! We\'re excited to have you join our community of survey takers across India.

To complete your registration and start earning money through paid surveys, please verify your email address by clicking the button below:

Verify My Email Address

Important: This verification link will expire in 24 hours. If you don\'t verify your email within this time, you\'ll need to register again.

If the button above doesn\'t work, you can also copy and paste this link into your browser:

' . $verificationUrl . '

Once your email is verified, you can:

If you didn\'t create an account with us, please ignore this email.

Best regards,
The ' . SITE_NAME . ' Team

'; } private function getPasswordResetEmailTemplate($resetUrl) { return ' Reset Your Password

' . SITE_NAME . '

Password Reset Request

Reset Your Password

We received a request to reset your password for your ' . SITE_NAME . ' account.

If you made this request, click the button below to reset your password:

Reset My Password

Security Notice: This password reset link will expire in 2 hours for your security. If you don\'t reset your password within this time, you\'ll need to request a new reset link.

If the button above doesn\'t work, you can also copy and paste this link into your browser:

' . $resetUrl . '

If you didn\'t request a password reset:

Best regards,
The ' . SITE_NAME . ' Team

'; } } ?> -------------------- END OF FILE -------------------- ### FILE 11: errors.log - Type: LOG - Size: 5.79 KB - Path: . - Name: errors.log ------------------------------------------------------------ 2025-09-05 02:44:34 - Support ticket created - Context: {"ticket_number":"TKT-20250905-57D1","user_id":1,"subject":"Not received my incentives 2","priority":"high"} 2025-09-05 02:45:09 - Ticket status updated - Context: {"ticket_id":2,"status":"pending","admin_id":1} 2025-09-05 02:45:21 - Admin reply added - Context: {"ticket_id":2,"admin_id":1,"is_internal":true} 2025-09-05 02:45:29 - Ticket status updated - Context: {"ticket_id":2,"status":"resolved","admin_id":1} 2025-09-05 02:45:44 - Support ticket reply added - Context: {"ticket_number":"TKT-20250905-57D1","user_id":1} 2025-09-05 02:46:01 - Ticket status updated - Context: {"ticket_id":2,"status":"resolved","admin_id":1} 2025-09-05 02:46:10 - Support ticket reply added - Context: {"ticket_number":"TKT-20250905-57D1","user_id":1} 2025-09-05 02:46:16 - Ticket status updated - Context: {"ticket_id":2,"status":"closed","admin_id":1} 2025-09-05 02:47:40 - User logout - Context: {"user_id":1,"email":"kmsreekavi@gmail.com"} 2025-09-05 03:34:37 - Admin login successful - Context: {"admin_id":1,"username":"admin","role":"super_admin"} 2025-09-05 03:34:47 - Admin logout - Context: {"admin_id":1} 2025-09-05 03:46:20 - SMS API Response - Context: {"url":"https:\/\/api.msg91.com\/api\/v5\/otp","http_code":200,"response":{"request_id":"356965697074744c796c7958","type":"success"}} 2025-09-05 03:51:39 - SMS API Response - Context: {"url":"https:\/\/api.msg91.com\/api\/v5\/otp","http_code":200,"response":{"request_id":"35696569754d654371717053","type":"success"}} 2025-09-05 04:12:04 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 04:12:04 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 04:13:07 - OTP generated for mobile verification - Context: {"user_id":1,"mobile_number":"8056526579","otp_code":"531612"} 2025-09-05 04:13:23 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 04:14:02 - Profiler points awarded - Context: {"user_id":1,"section":"personal_background","points":5} 2025-09-05 04:14:02 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 04:14:37 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 04:14:56 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 04:16:10 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 04:54:35 - Admin login successful - Context: {"admin_id":1,"username":"admin","role":"super_admin"} 2025-09-05 04:54:49 - Error updating ticket status - Context: {"ticket_id":2,"error":"SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation '='"} 2025-09-05 04:57:17 - Error updating ticket status - Context: {"ticket_id":2,"error":"SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation '='"} 2025-09-05 04:58:13 - Ticket status updated - Context: {"ticket_id":2,"status":"pending","admin_id":1} 2025-09-05 04:59:48 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 04:59:48 - Onboarding points awarded - Context: {"user_id":1,"points":10} 2025-09-05 05:16:32 - Profiler points awarded - Context: {"user_id":1,"section":"shopping_lifestyle","points":5} 2025-09-05 05:17:05 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 05:18:13 - Profiler points awarded - Context: {"user_id":1,"section":"technology_digital","points":5} 2025-09-05 05:19:06 - Admin logout - Context: {"admin_id":1} 2025-09-05 05:19:51 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 05:20:13 - OTP generated for mobile verification - Context: {"user_id":1,"mobile_number":"8056526579","otp_code":"215386"} 2025-09-05 05:22:15 - User logout - Context: {"user_id":1,"email":"kmsreekavi@gmail.com"} 2025-09-05 05:22:22 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 05:26:37 - Admin login successful - Context: {"admin_id":1,"username":"admin","role":"super_admin"} 2025-09-05 05:27:06 - Ticket status updated - Context: {"ticket_id":2,"status":"resolved","admin_id":1} 2025-09-05 05:27:55 - Admin logout - Context: {"admin_id":1} 2025-09-05 05:27:59 - Admin login successful - Context: {"admin_id":1,"username":"admin","role":"super_admin"} 2025-09-05 05:28:14 - Ticket status updated - Context: {"ticket_id":2,"status":"pending","admin_id":1} 2025-09-05 05:28:29 - Ticket status updated - Context: {"ticket_id":1,"status":"open","admin_id":1} 2025-09-05 05:28:47 - Admin logout - Context: {"admin_id":1} 2025-09-05 07:00:35 - Contact form submission - Context: {"name":"Benjamin Hardie","email":"plrpowerhouse@moredollar.info","subject":"Survey Questions","message":"Hey,\r\n\r\nWhy spend months scripting, filming, and editing ebook content when you can instantly unlock..."} 2025-09-05 14:44:15 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 14:59:38 - Admin login failed - Context: {"username":"kmsreekavi@gmail.com"} 2025-09-05 14:59:43 - Admin login failed - Context: {"username":"kmsreekavi@gmail.com"} 2025-09-05 14:59:46 - Admin login successful - Context: {"admin_id":1,"username":"admin","role":"super_admin"} 2025-09-05 14:59:54 - Ticket status updated - Context: {"ticket_id":2,"status":"pending","admin_id":1} 2025-09-05 15:00:45 - User login successful - Context: {"user_id":1,"email":"kmsreekavi@gmail.com","remember_me":false} 2025-09-05 15:03:42 - Support ticket reply added - Context: {"ticket_number":"TKT-20250905-57D1","user_id":1} 2025-09-05 15:07:28 - Ticket status updated - Context: {"ticket_id":1,"status":"pending","admin_id":1} -------------------- END OF FILE -------------------- ### FILE 12: forgot-password.php - Type: PHP - Size: 10.29 KB - Path: . - Name: forgot-password.php ------------------------------------------------------------ getConnection(); } catch (Exception $e) { logError('Database connection failed in forgot-password.php: ' . $e->getMessage()); jsonResponse(false, 'System error. Please try again later.'); } // Get and sanitize email $email = isset($_POST['email']) ? sanitize($_POST['email']) : ''; // Validation if (empty($email)) { jsonResponse(false, 'Please provide your email address.'); } if (!validateEmail($email)) { jsonResponse(false, 'Please provide a valid email address.'); } try { // Check if user exists and is verified $stmt = $pdo->prepare(" SELECT id, email, email_verified, status FROM users WHERE email = ? "); $stmt->execute([$email]); $user = $stmt->fetch(); if (!$user) { // For security, don't reveal if email exists or not jsonResponse(true, 'If an account with this email exists, you will receive a password reset link shortly.'); } if (!$user['email_verified']) { jsonResponse(false, 'Please verify your email address first before resetting your password.'); } if ($user['status'] !== 'active') { jsonResponse(false, 'Your account is currently ' . $user['status'] . '. Please contact support for assistance.'); } // Check if there's already a recent reset request (prevent spam) $stmt = $pdo->prepare(" SELECT created_at FROM password_resets WHERE email = ? AND created_at > DATE_SUB(NOW(), INTERVAL 5 MINUTE) ORDER BY created_at DESC LIMIT 1 "); $stmt->execute([$email]); $recentReset = $stmt->fetch(); if ($recentReset) { jsonResponse(false, 'A password reset email was already sent recently. Please wait a few minutes before requesting another one.'); } // Generate reset token $resetToken = generateSecureToken(); $expiresAt = date('Y-m-d H:i:s', strtotime('+' . PASSWORD_RESET_EXPIRY_HOURS . ' hours')); // Delete any existing reset tokens for this email $stmt = $pdo->prepare("DELETE FROM password_resets WHERE email = ?"); $stmt->execute([$email]); // Insert new reset token $stmt = $pdo->prepare(" INSERT INTO password_resets (email, token, expires_at) VALUES (?, ?, ?) "); $stmt->execute([$email, $resetToken, $expiresAt]); // Send password reset email $emailHandler = new EmailHandler(); $emailSent = $emailHandler->sendPasswordResetEmail($email, $resetToken); if ($emailSent) { logError('Password reset email sent', ['email' => $email]); jsonResponse(true, 'Password reset link has been sent to your email address. Please check your inbox and follow the instructions.'); } else { logError('Failed to send password reset email', ['email' => $email]); jsonResponse(false, 'Failed to send password reset email. Please try again later or contact support.'); } } catch (PDOException $e) { logError('Database error during password reset request', [ 'error' => $e->getMessage(), 'email' => $email ]); jsonResponse(false, 'System error. Please try again later.'); } catch (Exception $e) { logError('General error during password reset request', [ 'error' => $e->getMessage(), 'email' => $email ]); jsonResponse(false, 'An unexpected error occurred. Please try again later.'); } } ?> Forgot Password - Relevant Reflex

Reset Your Password

Enter your email address and we'll send you a link to reset your password.

-------------------- END OF FILE -------------------- ### FILE 13: index.php - Type: PHP - Size: 25.43 KB - Path: . - Name: index.php ------------------------------------------------------------ Relevant Reflex - India's Premier Online Survey Platform | Earn Money Taking Surveys
You have been logged out successfully. Thank you for using Relevant Reflex!

Welcome back, ! 👋

Ready to earn money with surveys? Check out your personalized dashboard for new opportunities.

Earn Money with Paid Surveys in India

Join thousands of Indians who are making extra income by sharing their opinions. Get paid for participating in market research surveys from top companies.

100% Free to Join
Verified Payments
Flexible Timing
India-Focused Surveys
Online Surveys India

Your Survey Dashboard

Access your personalized survey opportunities and track your earnings.

Active Account Status
Profile
Verified
50,000+ Active Members
₹2,50,000+ Rewards Paid
1,000+ Surveys Completed Daily
4.8/5 Member Rating

Why Choose Relevant Reflex?

We're India's most trusted online survey platform, dedicated to providing genuine earning opportunities.

Trusted & Secure

Your data is protected with industry-standard security measures. We never sell your personal information.

Verified Payments

Get paid through secure payment methods including PayPal, gift cards, and bank transfers.

Flexible Schedule

Take surveys whenever you want, from anywhere. Perfect for students, professionals, and homemakers.

India-Focused

Surveys specifically designed for Indian consumers. Your opinions matter for local and international brands.

Mobile Friendly

Take surveys on your smartphone, tablet, or computer. Our platform works seamlessly across all devices.

24/7 Support

Our dedicated support team is here to help you with any questions or issues you may have.

What Our Members Say

Join thousands of satisfied members who are earning money with Relevant Reflex.

"I've been using Relevant Reflex for 6 months and it serves my petty expenses. The surveys are interesting and payments are always on time!"
- Priya S., Mumbai
"Great platform for students like me. I can take surveys between classes and earn pocket money easily."
- Rahul K., Delhi
"Professional platform with genuine surveys. I appreciate how they respect my time and opinions."
- Sneha M., Bangalore

Ready to Start Earning?

Join Relevant Reflex today and start making money with your opinions!

Sign Up for Free

Registration takes less than 2 minutes • 100% Free • No spam guaranteed

-------------------- END OF FILE -------------------- ### FILE 14: login.php - Type: PHP - Size: 19.57 KB - Path: . - Name: login.php ------------------------------------------------------------ redirectToDashboard(); } $errors = []; $form_data = []; // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { logError('Database connection failed in login.php: ' . $e->getMessage()); $errors[] = 'System error. Please try again later.'; } if (empty($errors)) { // Get and sanitize form data $email = isset($_POST['email']) ? sanitize($_POST['email']) : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; $rememberMe = isset($_POST['remember_me']) ? true : false; // Store email for form repopulation $form_data['email'] = $email; // Validation if (empty($email) || empty($password)) { $errors[] = 'Please provide both email and password.'; } elseif (!validateEmail($email)) { $errors[] = 'Please provide a valid email address.'; } else { try { // Find user by email $stmt = $pdo->prepare(" SELECT id, email, password, email_verified, status, last_login FROM users WHERE email = ? "); $stmt->execute([$email]); $user = $stmt->fetch(); if (!$user) { // Log failed login attempt logError('Login attempt with non-existent email', ['email' => $email]); $errors[] = 'Invalid email or password.'; } elseif (!verifyPassword($password, $user['password'])) { logError('Login attempt with incorrect password', ['email' => $email]); $errors[] = 'Invalid email or password.'; } elseif (!$user['email_verified']) { $errors[] = 'Please verify your email address before logging in. Check your inbox for the verification link.'; } elseif ($user['status'] !== 'active') { $message = 'Your account is currently ' . $user['status'] . '.'; if ($user['status'] === 'suspended') { $message .= ' Please contact support for assistance.'; } $errors[] = $message; } else { // Login successful - create session session_start(); $_SESSION['user_id'] = $user['id']; $_SESSION['user_email'] = $user['email']; $_SESSION['logged_in'] = true; $_SESSION['login_time'] = time(); // Update last login time $stmt = $pdo->prepare("UPDATE users SET last_login = NOW() WHERE id = ?"); $stmt->execute([$user['id']]); // Set remember me cookie if requested (30 days) if ($rememberMe) { $sessionToken = generateSecureToken(); $expiresAt = date('Y-m-d H:i:s', strtotime('+30 days')); // Store session token in database $stmt = $pdo->prepare(" INSERT INTO user_sessions (user_id, session_token, expires_at) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE session_token = VALUES(session_token), expires_at = VALUES(expires_at) "); $stmt->execute([$user['id'], $sessionToken, $expiresAt]); // Set cookie setcookie('remember_token', $sessionToken, time() + (30 * 24 * 60 * 60), '/', '', true, true); } // Clean up expired sessions $pdo->prepare("DELETE FROM user_sessions WHERE expires_at < NOW()")->execute(); // Log successful login logError('User login successful', [ 'user_id' => $user['id'], 'email' => $user['email'], 'remember_me' => $rememberMe ]); // Redirect to dashboard header('Location: dashboard.php'); exit; } } catch (PDOException $e) { logError('Database error during login', [ 'error' => $e->getMessage(), 'email' => $email ]); $errors[] = 'Login failed due to a system error. Please try again later.'; } catch (Exception $e) { logError('General error during login', [ 'error' => $e->getMessage(), 'email' => $email ]); $errors[] = 'An unexpected error occurred. Please try again later.'; } } } } ?> Login - Relevant Reflex Paid Online Surveys India

Login to your Account!

You can take Online paid Surveys, Redeem your reward points and update profile - all in one place.

-------------------- END OF FILE -------------------- ### FILE 15: logout.php - Type: PHP - Size: 387 B - Path: . - Name: logout.php ------------------------------------------------------------ $user['id'], 'email' => $user['email'] ]); } } // Logout the user logout(); // Redirect to home page with logout message header('Location: index.html?logged_out=1'); exit; ?> -------------------- END OF FILE -------------------- ### FILE 16: mobile-verification.php - Type: PHP - Size: 25.57 KB - Path: . - Name: mobile-verification.php ------------------------------------------------------------ redirectToLogin('Session expired. Please log in again.'); } // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { logError('Database connection failed in mobile-verification.php: ' . $e->getMessage()); die('System error. Please try again later.'); } $errors = []; $success_message = ''; $step = 'enter_mobile'; // enter_mobile, verify_otp, completed // Check if mobile is already verified $mobileData = null; try { $stmt = $pdo->prepare("SELECT mobile_number, is_verified, otp_code, otp_expires_at, verification_attempts FROM mobile_verifications WHERE user_id = ?"); $stmt->execute([$user['id']]); $mobileData = $stmt->fetch(); if ($mobileData && $mobileData['is_verified']) { $step = 'completed'; } elseif ($mobileData && $mobileData['otp_code'] && $mobileData['otp_expires_at'] > date('Y-m-d H:i:s')) { $step = 'verify_otp'; } } catch (Exception $e) { logError('Error fetching mobile verification data', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Handle form submissions if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['action'])) { if ($_POST['action'] === 'send_otp') { $mobileNumber = isset($_POST['mobile_number']) ? sanitize($_POST['mobile_number']) : ''; // Validate mobile number if (empty($mobileNumber)) { $errors[] = 'Please enter your mobile number.'; } elseif (!preg_match('/^[6-9]\d{9}$/', $mobileNumber)) { $errors[] = 'Please enter a valid 10-digit mobile number starting with 6, 7, 8, or 9.'; } else { // Check if mobile number is already verified by another user try { $stmt = $pdo->prepare("SELECT user_id FROM mobile_verifications WHERE mobile_number = ? AND is_verified = 1 AND user_id != ?"); $stmt->execute([$mobileNumber, $user['id']]); $existingUser = $stmt->fetch(); if ($existingUser) { $errors[] = 'This mobile number is already verified by another account.'; } else { // Generate OTP $otpCode = sprintf('%06d', mt_rand(100000, 999999)); $otpExpiry = date('Y-m-d H:i:s', strtotime('+10 minutes')); // Store OTP in database $stmt = $pdo->prepare("INSERT INTO mobile_verifications (user_id, mobile_number, otp_code, otp_expires_at, verification_attempts) VALUES (?, ?, ?, ?, 0) ON DUPLICATE KEY UPDATE mobile_number = ?, otp_code = ?, otp_expires_at = ?, verification_attempts = 0, updated_at = NOW()"); $stmt->execute([$user['id'], $mobileNumber, $otpCode, $otpExpiry, $mobileNumber, $otpCode, $otpExpiry]); // Here you would integrate with SMS gateway to send OTP // For now, we'll just log it for testing logError('OTP generated for mobile verification', [ 'user_id' => $user['id'], 'mobile_number' => $mobileNumber, 'otp_code' => $otpCode // Remove this in production ]); $success_message = 'OTP sent to your mobile number. Please enter the 6-digit code below.'; $step = 'verify_otp'; $mobileData = ['mobile_number' => $mobileNumber, 'verification_attempts' => 0]; } } catch (Exception $e) { logError('Error sending OTP', ['user_id' => $user['id'], 'mobile' => $mobileNumber, 'error' => $e->getMessage()]); $errors[] = 'Error sending OTP. Please try again.'; } } } elseif ($_POST['action'] === 'verify_otp') { $otpCode = isset($_POST['otp_code']) ? sanitize($_POST['otp_code']) : ''; if (empty($otpCode)) { $errors[] = 'Please enter the OTP code.'; } elseif (!preg_match('/^\d{6}$/', $otpCode)) { $errors[] = 'Please enter a valid 6-digit OTP code.'; } else { try { // Get stored OTP $stmt = $pdo->prepare("SELECT mobile_number, otp_code, otp_expires_at, verification_attempts FROM mobile_verifications WHERE user_id = ?"); $stmt->execute([$user['id']]); $storedData = $stmt->fetch(); if (!$storedData) { $errors[] = 'No OTP found. Please request a new OTP.'; $step = 'enter_mobile'; } elseif ($storedData['otp_expires_at'] < date('Y-m-d H:i:s')) { $errors[] = 'OTP has expired. Please request a new OTP.'; $step = 'enter_mobile'; } elseif ($storedData['verification_attempts'] >= 3) { $errors[] = 'Maximum verification attempts exceeded. Please request a new OTP.'; $step = 'enter_mobile'; } elseif ($storedData['otp_code'] !== $otpCode) { // Increment verification attempts $stmt = $pdo->prepare("UPDATE mobile_verifications SET verification_attempts = verification_attempts + 1 WHERE user_id = ?"); $stmt->execute([$user['id']]); $remainingAttempts = 3 - ($storedData['verification_attempts'] + 1); $errors[] = "Invalid OTP code. You have $remainingAttempts attempts remaining."; $step = 'verify_otp'; $mobileData = $storedData; } else { // OTP is correct - verify mobile $pdo->beginTransaction(); // Mark mobile as verified $stmt = $pdo->prepare("UPDATE mobile_verifications SET is_verified = 1, verified_at = NOW() WHERE user_id = ?"); $stmt->execute([$user['id']]); // Award points for mobile verification $stmt = $pdo->prepare("INSERT INTO user_points (user_id, points, total_earned) VALUES (?, 10.00, 10.00) ON DUPLICATE KEY UPDATE points = points + 10.00, total_earned = total_earned + 10.00"); $stmt->execute([$user['id']]); // Add transaction record $stmt = $pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description) VALUES (?, 'earned', 10.00, 'mobile_verification', 'Mobile number verification completed')"); $stmt->execute([$user['id']]); $pdo->commit(); logError('Mobile verification completed', [ 'user_id' => $user['id'], 'mobile_number' => $storedData['mobile_number'], 'points_awarded' => 10 ]); $success_message = 'Mobile number verified successfully! You have earned 10 points.'; $step = 'completed'; $mobileData = array_merge($storedData, ['is_verified' => 1]); } } catch (Exception $e) { $pdo->rollback(); logError('Error verifying OTP', ['user_id' => $user['id'], 'error' => $e->getMessage()]); $errors[] = 'Error verifying OTP. Please try again.'; } } } elseif ($_POST['action'] === 'resend_otp') { try { $stmt = $pdo->prepare("SELECT mobile_number FROM mobile_verifications WHERE user_id = ?"); $stmt->execute([$user['id']]); $existing = $stmt->fetch(); if ($existing) { // Generate new OTP $otpCode = sprintf('%06d', mt_rand(100000, 999999)); $otpExpiry = date('Y-m-d H:i:s', strtotime('+10 minutes')); $stmt = $pdo->prepare("UPDATE mobile_verifications SET otp_code = ?, otp_expires_at = ?, verification_attempts = 0, updated_at = NOW() WHERE user_id = ?"); $stmt->execute([$otpCode, $otpExpiry, $user['id']]); // Send SMS using 2Factor require_once 'sms-config.php'; $smsResult = sendOTPSMS($existing['mobile_number'], $otpCode); if ($smsResult['success']) { logError('OTP resent successfully via 2Factor', [ 'user_id' => $user['id'], 'mobile_number' => $existing['mobile_number'], 'sms_response' => $smsResult['response'] ]); $success_message = 'New OTP sent to your mobile number +91-' . $existing['mobile_number']; } else { logError('Failed to resend OTP via 2Factor', [ 'user_id' => $user['id'], 'mobile_number' => $existing['mobile_number'], 'error' => $smsResult['message'] ]); $errors[] = 'Failed to resend OTP. Please try again or contact support.'; } $step = 'verify_otp'; $mobileData = $existing; } } catch (Exception $e) { logError('Error resending OTP', ['user_id' => $user['id'], 'error' => $e->getMessage()]); $errors[] = 'Error resending OTP. Please try again.'; } } } } ?> Mobile Verification - Relevant Reflex

Mobile Verification

Your mobile number has been verified successfully! Verify your mobile number to earn 10 points and receive survey notifications

Enter Mobile
Verify OTP
Completed
Error

Enter Your Mobile Number

We'll send you a 6-digit OTP to verify your mobile number

+91
Enter a mobile number that you have access to

Enter OTP Code

We've sent a 6-digit OTP to

+91

OTP is valid for 10 minutes
| Change Number

Mobile Verified Successfully!

You have earned 10 points!

Your mobile number +91 has been verified.

You'll now receive survey notifications and updates on this number.

Why Verify Your Mobile?
-------------------- END OF FILE -------------------- ### FILE 17: points-manager.php - Type: PHP - Size: 12.47 KB - Path: . - Name: points-manager.php ------------------------------------------------------------ pdo = $db->getConnection(); } /** * Award points to a user */ public function awardPoints($userId, $points, $source, $description, $referenceId = null) { try { $this->pdo->beginTransaction(); // Update user points $stmt = $this->pdo->prepare("INSERT INTO user_points (user_id, points, total_earned) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE points = points + ?, total_earned = total_earned + ?"); $stmt->execute([$userId, $points, $points, $points, $points]); // Add transaction record $stmt = $this->pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description, reference_id) VALUES (?, 'earned', ?, ?, ?, ?)"); $stmt->execute([$userId, $points, $source, $description, $referenceId]); $this->pdo->commit(); logError('Points awarded', [ 'user_id' => $userId, 'points' => $points, 'source' => $source, 'description' => $description ]); return true; } catch (Exception $e) { $this->pdo->rollback(); logError('Error awarding points', [ 'user_id' => $userId, 'points' => $points, 'source' => $source, 'error' => $e->getMessage() ]); return false; } } /** * Deduct points from a user (for redemptions) */ public function deductPoints($userId, $points, $source, $description, $referenceId = null) { try { $this->pdo->beginTransaction(); // Check if user has enough points $stmt = $this->pdo->prepare("SELECT points FROM user_points WHERE user_id = ?"); $stmt->execute([$userId]); $userPoints = $stmt->fetch(); if (!$userPoints || $userPoints['points'] < $points) { $this->pdo->rollback(); return false; } // Deduct points $stmt = $this->pdo->prepare("UPDATE user_points SET points = points - ?, total_redeemed = total_redeemed + ? WHERE user_id = ?"); $stmt->execute([$points, $points, $userId]); // Add transaction record $stmt = $this->pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description, reference_id) VALUES (?, 'redeemed', ?, ?, ?, ?)"); $stmt->execute([$userId, $points, $source, $description, $referenceId]); $this->pdo->commit(); logError('Points deducted', [ 'user_id' => $userId, 'points' => $points, 'source' => $source, 'description' => $description ]); return true; } catch (Exception $e) { $this->pdo->rollback(); logError('Error deducting points', [ 'user_id' => $userId, 'points' => $points, 'source' => $source, 'error' => $e->getMessage() ]); return false; } } /** * Get user's point balance */ public function getUserPoints($userId) { try { $stmt = $this->pdo->prepare("SELECT points, total_earned, total_redeemed FROM user_points WHERE user_id = ?"); $stmt->execute([$userId]); $result = $stmt->fetch(); if (!$result) { return ['points' => 0, 'total_earned' => 0, 'total_redeemed' => 0]; } return $result; } catch (Exception $e) { logError('Error fetching user points', ['user_id' => $userId, 'error' => $e->getMessage()]); return ['points' => 0, 'total_earned' => 0, 'total_redeemed' => 0]; } } /** * Check and award onboarding points */ public function checkOnboardingPoints($userId) { try { $stmt = $this->pdo->prepare("SELECT email_verified, onboarding_completed, onboarding_points_awarded FROM users WHERE id = ?"); $stmt->execute([$userId]); $user = $stmt->fetch(); if ($user && $user['email_verified'] && !$user['onboarding_points_awarded']) { $this->pdo->beginTransaction(); // Award onboarding points $this->awardPoints($userId, 10, 'onboarding', 'Welcome bonus for email verification and first login'); // Mark onboarding as completed $stmt = $this->pdo->prepare("UPDATE users SET onboarding_completed = 1, onboarding_points_awarded = 1 WHERE id = ?"); $stmt->execute([$userId]); $this->pdo->commit(); return true; } return false; } catch (Exception $e) { $this->pdo->rollback(); logError('Error checking onboarding points', ['user_id' => $userId, 'error' => $e->getMessage()]); return false; } } /** * Check and award profiler section completion points */ public function checkProfilerCompletion($userId, $section) { try { // Get section questions count $profilerQuestionCounts = [ 'personal_background' => 6, 'household_family' => 7, 'shopping_lifestyle' => 7, 'technology_digital' => 7, 'travel_transportation' => 7, 'health_fitness' => 7, 'entertainment_media' => 8, 'food_dining' => 8, 'financial_services' => 8, 'communication_payments' => 8 ]; if (!isset($profilerQuestionCounts[$section])) { return false; } $totalQuestions = $profilerQuestionCounts[$section]; // Count answered questions $stmt = $this->pdo->prepare("SELECT COUNT(*) as answered FROM user_profiler WHERE user_id = ? AND section = ?"); $stmt->execute([$userId, $section]); $answered = $stmt->fetch()['answered']; $completionPercentage = ($answered / $totalQuestions) * 100; $isCompleted = $completionPercentage >= 100; // Update completion record $stmt = $this->pdo->prepare("INSERT INTO profiler_completion (user_id, section, total_questions, answered_questions, completion_percentage, is_completed, completed_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE answered_questions = ?, completion_percentage = ?, is_completed = ?, completed_at = CASE WHEN ? = 1 THEN NOW() ELSE completed_at END, updated_at = NOW()"); $completedAt = $isCompleted ? date('Y-m-d H:i:s') : null; $stmt->execute([$userId, $section, $totalQuestions, $answered, $completionPercentage, $isCompleted, $completedAt, $answered, $completionPercentage, $isCompleted, $isCompleted]); // Award points if completed and not already awarded if ($isCompleted) { $stmt = $this->pdo->prepare("SELECT points_awarded FROM profiler_completion WHERE user_id = ? AND section = ?"); $stmt->execute([$userId, $section]); $completion = $stmt->fetch(); if ($completion && !$completion['points_awarded']) { $pointsToAward = ($section === 'communication_payments') ? 10 : 5; $description = ($section === 'communication_payments') ? 'Mobile verification and UPI details completion' : 'Profiler section completion: ' . ucwords(str_replace('_', ' ', $section)); $this->awardPoints($userId, $pointsToAward, 'profiler_' . $section, $description); // Mark points as awarded $stmt = $this->pdo->prepare("UPDATE profiler_completion SET points_awarded = 1 WHERE user_id = ? AND section = ?"); $stmt->execute([$userId, $section]); return $pointsToAward; } } return false; } catch (Exception $e) { logError('Error checking profiler completion', ['user_id' => $userId, 'section' => $section, 'error' => $e->getMessage()]); return false; } } /** * Get user's transaction history */ public function getTransactionHistory($userId, $limit = 50) { try { $stmt = $this->pdo->prepare("SELECT * FROM point_transactions WHERE user_id = ? ORDER BY created_at DESC LIMIT ?"); $stmt->execute([$userId, $limit]); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching transaction history', ['user_id' => $userId, 'error' => $e->getMessage()]); return []; } } /** * Calculate points needed for next redemption tier */ public function getNextRedemptionTier($currentPoints) { $tiers = [200, 500, 1000, 2000, 5000, 10000]; foreach ($tiers as $tier) { if ($currentPoints < $tier) { return [ 'next_tier' => $tier, 'points_needed' => $tier - $currentPoints, 'amount_value' => $tier * 0.5 ]; } } // If user has more than highest tier return [ 'next_tier' => null, 'points_needed' => 0, 'amount_value' => $currentPoints * 0.5 ]; } /** * Get points earning summary for admin */ public function getEarningSummary($dateRange = 30) { try { $stmt = $this->pdo->prepare(" SELECT source, COUNT(*) as transaction_count, SUM(points) as total_points, COUNT(DISTINCT user_id) as unique_users FROM point_transactions WHERE transaction_type = 'earned' AND created_at >= DATE_SUB(NOW(), INTERVAL ? DAY) GROUP BY source ORDER BY total_points DESC "); $stmt->execute([$dateRange]); return $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching earning summary', ['error' => $e->getMessage()]); return []; } } /** * Validate redemption request */ public function validateRedemption($userId, $points, $upiId) { $errors = []; // Check minimum points if ($points < 200) { $errors[] = 'Minimum redemption amount is 200 points (₹100).'; } // Check if points are in multiples of 10 if ($points % 10 !== 0) { $errors[] = 'Points must be redeemed in multiples of 10.'; } // Check user balance $userPoints = $this->getUserPoints($userId); if ($points > $userPoints['points']) { $errors[] = 'You cannot redeem more points than your available balance.'; } // Validate UPI ID if (empty($upiId)) { $errors[] = 'Please enter your UPI ID.'; } elseif (!preg_match('/^[\w\.-]+@[\w\.-]+$/', $upiId)) { $errors[] = 'Please enter a valid UPI ID (e.g., yourname@paytm).'; } return $errors; } } // Convenience functions for backward compatibility function awardUserPoints($userId, $points, $source, $description, $referenceId = null) { $pm = new PointsManager(); return $pm->awardPoints($userId, $points, $source, $description, $referenceId); } function getUserPointsBalance($userId) { $pm = new PointsManager(); return $pm->getUserPoints($userId); } function checkUserOnboarding($userId) { $pm = new PointsManager(); return $pm->checkOnboardingPoints($userId); } ?> -------------------- END OF FILE -------------------- ### FILE 18: privacy.php - Type: PHP - Size: 28.54 KB - Path: . - Name: privacy.php ------------------------------------------------------------ Privacy Policy - Relevant Reflex | Your Data Protection Rights
Last Updated: December 2024

1. Introduction

Welcome to Relevant Reflex ("we," "our," or "us"). We are committed to protecting your privacy and ensuring the security of your personal information. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our online survey platform and related services.

Key Principle: We believe in transparency and will never sell your personal data to third parties for marketing purposes.

By using our services, you agree to the collection and use of information in accordance with this Privacy Policy. If you disagree with any part of this policy, please do not use our services.

2. Information We Collect

2.1 Personal Information

We collect the following types of personal information:

  • Registration Information: Name, email address, date of birth, gender, postal code
  • Profile Information: Occupation, income range, interests, preferences, household information
  • Survey Responses: Your answers to survey questions and research studies
  • Communication Data: Messages you send to our support team

2.2 Technical Information

  • IP address and location data
  • Browser type and version
  • Device information (type, operating system)
  • Usage data (pages visited, time spent, click patterns)
  • Cookies and similar tracking technologies

2.3 Financial Information

For payment processing, we may collect:

  • Payment method preferences
  • Bank account details (for direct transfers)
  • PayPal account information

3. How We Use Your Information

3.1 Primary Uses

  • Survey Matching: To match you with relevant survey opportunities based on your demographics and interests
  • Account Management: To create and maintain your account, process registrations, and provide customer support
  • Payment Processing: To calculate, process, and distribute rewards for completed surveys
  • Communication: To send you survey invitations, account updates, and important service announcements

3.2 Secondary Uses

  • To improve our platform and user experience
  • To prevent fraud and maintain platform security
  • To comply with legal obligations and regulatory requirements
  • To conduct internal research and analytics
Legal Basis: We process your data based on consent, legitimate interests, contract performance, and legal obligations as per applicable Indian data protection laws.

4. Information Sharing and Disclosure

4.1 Survey Partners

We may share anonymized or aggregated survey data with our research partners and clients. Individual responses are never linked to personal identifiers without explicit consent.

4.2 Service Providers

We work with trusted third-party service providers who assist us with:

  • Payment processing
  • Email delivery services
  • Data hosting and security
  • Customer support platforms

4.3 Legal Requirements

We may disclose your information if required by law, court order, or to:

  • Comply with legal processes
  • Protect our rights and property
  • Prevent fraud or security threats
  • Protect the safety of our users

4.4 Business Transfers

In the event of a merger, acquisition, or sale of assets, your information may be transferred as part of the business transaction.

5. Data Security

5.1 Security Measures

We implement industry-standard security measures to protect your information:

  • SSL encryption for all data transmissions
  • Secure database storage with access controls
  • Regular security audits and updates
  • Employee training on data protection
  • Multi-factor authentication for admin access

5.2 Data Breach Response

In the unlikely event of a data breach, we will:

  • Notify affected users within 72 hours
  • Report to relevant authorities as required
  • Take immediate steps to secure the breach
  • Provide guidance on protective measures

6. Your Rights and Choices

Under applicable data protection laws, you have the following rights:

6.1 Access and Portability

  • Request a copy of your personal data
  • Download your data in a portable format
  • View your survey history and earnings

6.2 Correction and Updates

  • Update your profile information
  • Correct inaccurate data
  • Modify communication preferences

6.3 Deletion and Restriction

  • Request deletion of your account and data
  • Restrict processing of certain information
  • Object to specific uses of your data
Exercise Your Rights: To exercise any of these rights, contact us at privacy@relevantreflex.com or through your account settings.

7. Cookies and Tracking Technologies

7.1 Types of Cookies We Use

  • Essential Cookies: Required for basic platform functionality
  • Performance Cookies: Help us analyze platform usage and improve performance
  • Functional Cookies: Remember your preferences and settings
  • Targeting Cookies: Used to deliver relevant survey opportunities

7.2 Cookie Management

You can control cookies through your browser settings. However, disabling certain cookies may limit platform functionality.

8. Data Retention

We retain your information for the following periods:

  • Active Accounts: Data retained while account is active
  • Inactive Accounts: Data retained for 2 years after last activity
  • Survey Data: Anonymized responses may be retained for research purposes
  • Financial Records: Retained for 7 years as per legal requirements
  • Marketing Communications: Until you unsubscribe

9. Children's Privacy

Our services are not intended for individuals under 18 years of age. We do not knowingly collect personal information from children. If we discover that we have collected information from a child, we will delete it immediately.

Parents or guardians who believe their child has provided information to us should contact us immediately.

10. International Data Transfers

While we primarily operate within India, some of our service providers may be located internationally. When we transfer data outside India, we ensure:

  • Adequate protection through contractual safeguards
  • Compliance with applicable data transfer regulations
  • Use of standard contractual clauses where required

11. Changes to This Privacy Policy

We may update this Privacy Policy periodically to reflect changes in our practices or applicable laws. We will:

  • Notify users of material changes via email
  • Post updates on our website
  • Provide a clear summary of changes
  • Allow reasonable time for review before changes take effect

Continued use of our services after policy updates constitutes acceptance of the changes.

12. Contact Us

If you have questions about this Privacy Policy or our data practices, please contact us:

General Inquiries

support@relevantreflex.com
Ethirmedu, NH 544, Tamilnadu - 638183, India

Privacy-Specific Inquiries

privacy@relevantreflex.com
Data Protection Officer

Response Time: We aim to respond to all privacy-related inquiries within 30 days.
-------------------- END OF FILE -------------------- ### FILE 19: profiler-api.php - Type: PHP - Size: 5.57 KB - Path: . - Name: profiler-api.php ------------------------------------------------------------ 'Not authenticated']); exit; } $user = getCurrentUser(); if (!$user) { echo json_encode(['error' => 'User not found']); exit; } // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { echo json_encode(['error' => 'Database connection failed']); exit; } $action = isset($_GET['action']) ? $_GET['action'] : ''; switch ($action) { case 'status': getProfilerStatus($pdo, $user['id']); break; case 'points': getUserPointsStatus($user['id']); break; case 'completion': getCompletionSummary($pdo, $user['id']); break; default: echo json_encode(['error' => 'Invalid action']); } function getProfilerStatus($pdo, $userId) { $profilerSections = [ 'personal_background' => 'Personal Background', 'household_family' => 'Household & Family', 'shopping_lifestyle' => 'Shopping & Lifestyle', 'technology_digital' => 'Technology & Digital', 'travel_transportation' => 'Travel & Transportation', 'health_fitness' => 'Health & Fitness', 'entertainment_media' => 'Entertainment & Media', 'food_dining' => 'Food & Dining', 'financial_services' => 'Financial Services', 'communication_payments' => 'Communication & Payments' ]; $completion = []; $totalCompleted = 0; try { $stmt = $pdo->prepare("SELECT section, completion_percentage, is_completed, points_awarded FROM profiler_completion WHERE user_id = ?"); $stmt->execute([$userId]); while ($row = $stmt->fetch()) { $completion[$row['section']] = [ 'name' => $profilerSections[$row['section']], 'percentage' => floatval($row['completion_percentage']), 'completed' => boolval($row['is_completed']), 'points_awarded' => boolval($row['points_awarded']) ]; if ($row['is_completed']) { $totalCompleted++; } } // Add sections not started foreach ($profilerSections as $key => $name) { if (!isset($completion[$key])) { $completion[$key] = [ 'name' => $name, 'percentage' => 0, 'completed' => false, 'points_awarded' => false ]; } } // Check mobile verification status $stmt = $pdo->prepare("SELECT is_verified FROM mobile_verifications WHERE user_id = ?"); $stmt->execute([$userId]); $mobileVerified = $stmt->fetch(); echo json_encode([ 'success' => true, 'sections' => $completion, 'total_sections' => count($profilerSections), 'completed_sections' => $totalCompleted, 'overall_percentage' => round(($totalCompleted / count($profilerSections)) * 100, 2), 'mobile_verified' => $mobileVerified ? boolval($mobileVerified['is_verified']) : false ]); } catch (Exception $e) { echo json_encode(['error' => 'Database error: ' . $e->getMessage()]); } } function getUserPointsStatus($userId) { $pm = new PointsManager(); $points = $pm->getUserPoints($userId); $nextTier = $pm->getNextRedemptionTier($points['points']); echo json_encode([ 'success' => true, 'points' => $points, 'next_tier' => $nextTier, 'can_redeem' => $points['points'] >= 200, 'rupee_value' => $points['points'] * 0.5 ]); } function getCompletionSummary($pdo, $userId) { try { // Get overall completion stats $stmt = $pdo->prepare(" SELECT COUNT(*) as total_sections, SUM(CASE WHEN is_completed = 1 THEN 1 ELSE 0 END) as completed_sections, SUM(CASE WHEN points_awarded = 1 THEN 1 ELSE 0 END) as points_awarded_sections FROM profiler_completion WHERE user_id = ? "); $stmt->execute([$userId]); $stats = $stmt->fetch(); if (!$stats) { $stats = ['total_sections' => 0, 'completed_sections' => 0, 'points_awarded_sections' => 0]; } // Get recent transactions $stmt = $pdo->prepare(" SELECT transaction_type, points, source, description, created_at FROM point_transactions WHERE user_id = ? ORDER BY created_at DESC LIMIT 5 "); $stmt->execute([$userId]); $recentTransactions = $stmt->fetchAll(); // Get user points $pm = new PointsManager(); $points = $pm->getUserPoints($userId); echo json_encode([ 'success' => true, 'completion_stats' => $stats, 'points_summary' => $points, 'recent_transactions' => $recentTransactions, 'potential_earnings' => [ 'total_possible' => 70, // 10 sections × 5 points + 10 bonus + 10 mobile 'remaining' => max(0, 70 - $points['total_earned']) ] ]); } catch (Exception $e) { echo json_encode(['error' => 'Database error: ' . $e->getMessage()]); } } ?> -------------------- END OF FILE -------------------- ### FILE 20: profiler.php - Type: PHP - Size: 66.22 KB - Path: . - Name: profiler.php ------------------------------------------------------------ redirectToLogin('Session expired. Please log in again.'); } // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { logError('Database connection failed in profiler.php: ' . $e->getMessage()); die('System error. Please try again later.'); } // Define all profiler sections with their questions $profilerSections = [ 'personal_background' => [ 'name' => 'Personal Background', 'description' => 'Tell us about your education, work, and personal details', 'questions' => [ 'education_level' => [ 'question' => 'What is your highest level of education?', 'type' => 'single', 'options' => [ 'below_10th' => 'Below 10th Standard', '10th_pass' => '10th Standard', '12th_pass' => '12th Standard/Intermediate', 'diploma' => 'Diploma/ITI', 'graduation' => 'Graduation (Bachelor\'s)', 'post_graduation' => 'Post Graduation (Master\'s)', 'professional' => 'Professional Degree (CA/CS/Engineering/Medical)', 'doctorate' => 'Doctorate/PhD' ] ], 'employment_status' => [ 'question' => 'What is your current employment status?', 'type' => 'single', 'options' => [ 'student' => 'Student', 'employed_private' => 'Employed - Private Sector', 'employed_government' => 'Employed - Government/Public Sector', 'self_employed' => 'Self Employed/Business Owner', 'freelancer' => 'Freelancer/Consultant', 'homemaker' => 'Homemaker', 'retired' => 'Retired', 'unemployed' => 'Currently Unemployed' ] ], 'occupation_sector' => [ 'question' => 'Which sector do you work in? (Skip if not applicable)', 'type' => 'single', 'options' => [ 'it_software' => 'IT/Software', 'banking_finance' => 'Banking/Finance', 'healthcare' => 'Healthcare/Medical', 'education' => 'Education/Teaching', 'manufacturing' => 'Manufacturing', 'retail_sales' => 'Retail/Sales', 'government' => 'Government Services', 'agriculture' => 'Agriculture/Farming', 'media_entertainment' => 'Media/Entertainment', 'other' => 'Other' ] ], 'monthly_income' => [ 'question' => 'What is your monthly personal income range?', 'type' => 'single', 'options' => [ 'no_income' => 'No Income', 'below_15k' => 'Below ₹15,000', '15k_30k' => '₹15,000 - ₹30,000', '30k_50k' => '₹30,000 - ₹50,000', '50k_75k' => '₹50,000 - ₹75,000', '75k_1l' => '₹75,000 - ₹1,00,000', '1l_2l' => '₹1,00,000 - ₹2,00,000', 'above_2l' => 'Above ₹2,00,000' ] ], 'languages_spoken' => [ 'question' => 'Which languages can you speak fluently? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'hindi' => 'Hindi', 'english' => 'English', 'bengali' => 'Bengali', 'marathi' => 'Marathi', 'tamil' => 'Tamil', 'telugu' => 'Telugu', 'gujarati' => 'Gujarati', 'kannada' => 'Kannada', 'punjabi' => 'Punjabi', 'malayalam' => 'Malayalam', 'other' => 'Other Regional Language' ] ], 'city_type' => [ 'question' => 'What type of area do you live in?', 'type' => 'single', 'options' => [ 'metro_city' => 'Metro City (Mumbai, Delhi, Bangalore, etc.)', 'tier2_city' => 'Tier 2 City (Pune, Jaipur, Lucknow, etc.)', 'tier3_city' => 'Tier 3 City', 'town' => 'Small Town', 'village' => 'Village/Rural Area' ] ] ] ], 'household_family' => [ 'name' => 'Household & Family', 'description' => 'Information about your family and household', 'questions' => [ 'marital_status' => [ 'question' => 'What is your marital status?', 'type' => 'single', 'options' => [ 'single' => 'Single/Unmarried', 'married' => 'Married', 'divorced' => 'Divorced', 'widowed' => 'Widowed', 'separated' => 'Separated' ] ], 'family_type' => [ 'question' => 'What type of family do you live in?', 'type' => 'single', 'options' => [ 'nuclear' => 'Nuclear Family (Parents + Children)', 'joint' => 'Joint Family (Extended Family)', 'single_parent' => 'Single Parent Family', 'alone' => 'Living Alone', 'with_friends' => 'Living with Friends/Roommates' ] ], 'household_size' => [ 'question' => 'How many people live in your household?', 'type' => 'single', 'options' => [ '1' => '1 (Just me)', '2' => '2 people', '3' => '3 people', '4' => '4 people', '5' => '5 people', '6_plus' => '6 or more people' ] ], 'children_count' => [ 'question' => 'How many children (under 18) are in your household?', 'type' => 'single', 'options' => [ '0' => 'No children', '1' => '1 child', '2' => '2 children', '3' => '3 children', '4_plus' => '4 or more children' ] ], 'household_income' => [ 'question' => 'What is your total household monthly income?', 'type' => 'single', 'options' => [ 'below_25k' => 'Below ₹25,000', '25k_50k' => '₹25,000 - ₹50,000', '50k_75k' => '₹50,000 - ₹75,000', '75k_1l' => '₹75,000 - ₹1,00,000', '1l_2l' => '₹1,00,000 - ₹2,00,000', '2l_3l' => '₹2,00,000 - ₹3,00,000', 'above_3l' => 'Above ₹3,00,000' ] ], 'housing_type' => [ 'question' => 'What type of housing do you live in?', 'type' => 'single', 'options' => [ 'own_house' => 'Own House', 'rented_house' => 'Rented House/Independent', 'rented_apartment' => 'Rented Apartment/Flat', 'own_apartment' => 'Own Apartment/Flat', 'family_house' => 'Family Owned House', 'pg_hostel' => 'PG/Hostel' ] ], 'decision_maker' => [ 'question' => 'Who is the primary decision maker for major purchases in your household?', 'type' => 'single', 'options' => [ 'self' => 'I make the decisions', 'spouse' => 'My spouse', 'parents' => 'Parents/Elders', 'joint' => 'Joint decision with family', 'others' => 'Other family members' ] ] ] ], 'shopping_lifestyle' => [ 'name' => 'Shopping & Lifestyle', 'description' => 'Your shopping habits and lifestyle preferences', 'questions' => [ 'shopping_frequency' => [ 'question' => 'How often do you go shopping for personal items?', 'type' => 'single', 'options' => [ 'daily' => 'Daily', 'weekly' => 'Weekly', 'bi_weekly' => 'Bi-weekly', 'monthly' => 'Monthly', 'quarterly' => 'Every 3-4 months', 'rarely' => 'Very rarely' ] ], 'preferred_shopping_method' => [ 'question' => 'How do you prefer to shop? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'online' => 'Online (E-commerce)', 'local_stores' => 'Local/Neighborhood stores', 'malls' => 'Shopping Malls', 'brand_stores' => 'Brand Outlets', 'wholesale_markets' => 'Wholesale Markets', 'street_vendors' => 'Street Vendors/Local Markets' ] ], 'online_platforms' => [ 'question' => 'Which online platforms do you use for shopping? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'amazon' => 'Amazon', 'flipkart' => 'Flipkart', 'myntra' => 'Myntra', 'nykaa' => 'Nykaa', 'ajio' => 'Ajio', 'meesho' => 'Meesho', 'jiomart' => 'JioMart', 'bigbasket' => 'BigBasket', 'swiggy_instamart' => 'Swiggy Instamart', 'none' => 'I don\'t shop online' ] ], 'spending_categories' => [ 'question' => 'Which categories do you spend most on? (Select top 3)', 'type' => 'multiple', 'options' => [ 'food_groceries' => 'Food & Groceries', 'clothing_fashion' => 'Clothing & Fashion', 'electronics' => 'Electronics & Gadgets', 'health_beauty' => 'Health & Beauty', 'home_furniture' => 'Home & Furniture', 'education' => 'Education/Books', 'travel' => 'Travel & Transportation', 'entertainment' => 'Entertainment', 'utilities' => 'Utilities & Bills', 'savings_investment' => 'Savings & Investment' ] ], 'brand_preference' => [ 'question' => 'When shopping, do you prefer branded products?', 'type' => 'single', 'options' => [ 'always_branded' => 'Always prefer branded products', 'mostly_branded' => 'Mostly branded, sometimes local', 'mixed' => 'Mix of branded and local products', 'mostly_local' => 'Mostly local, sometimes branded', 'price_focused' => 'Price matters more than brand' ] ], 'payment_methods' => [ 'question' => 'Which payment methods do you use regularly? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'cash' => 'Cash', 'debit_card' => 'Debit Card', 'credit_card' => 'Credit Card', 'upi' => 'UPI (PhonePe, Google Pay, Paytm)', 'net_banking' => 'Net Banking', 'wallets' => 'Digital Wallets', 'emi' => 'EMI/Buy Now Pay Later', 'cod' => 'Cash on Delivery' ] ], 'lifestyle_interests' => [ 'question' => 'What are your main lifestyle interests? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'fitness_health' => 'Fitness & Health', 'fashion_beauty' => 'Fashion & Beauty', 'cooking_food' => 'Cooking & Food', 'travel_adventure' => 'Travel & Adventure', 'technology' => 'Technology & Gadgets', 'reading_books' => 'Reading & Books', 'movies_entertainment' => 'Movies & Entertainment', 'sports' => 'Sports', 'music_arts' => 'Music & Arts', 'home_decor' => 'Home Decoration' ] ] ] ], 'technology_digital' => [ 'name' => 'Technology & Digital', 'description' => 'Your technology usage and digital habits', 'questions' => [ 'devices_owned' => [ 'question' => 'Which devices do you own? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'smartphone' => 'Smartphone', 'laptop' => 'Laptop', 'desktop' => 'Desktop Computer', 'tablet' => 'Tablet', 'smart_tv' => 'Smart TV', 'smartwatch' => 'Smartwatch', 'earbuds' => 'Wireless Earbuds', 'gaming_console' => 'Gaming Console', 'smart_speaker' => 'Smart Speaker (Alexa, Google Home)' ] ], 'smartphone_brand' => [ 'question' => 'Which smartphone brand do you currently use?', 'type' => 'single', 'options' => [ 'samsung' => 'Samsung', 'xiaomi' => 'Xiaomi/Mi/Redmi', 'apple' => 'Apple iPhone', 'vivo' => 'Vivo', 'oppo' => 'Oppo', 'oneplus' => 'OnePlus', 'realme' => 'Realme', 'motorola' => 'Motorola', 'nokia' => 'Nokia', 'other' => 'Other brand' ] ], 'internet_usage_hours' => [ 'question' => 'How many hours do you spend on the internet daily?', 'type' => 'single', 'options' => [ '1_2' => '1-2 hours', '3_4' => '3-4 hours', '5_6' => '5-6 hours', '7_8' => '7-8 hours', '9_plus' => 'More than 8 hours' ] ], 'social_media_platforms' => [ 'question' => 'Which social media platforms do you use regularly? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'whatsapp' => 'WhatsApp', 'facebook' => 'Facebook', 'instagram' => 'Instagram', 'twitter' => 'Twitter/X', 'linkedin' => 'LinkedIn', 'youtube' => 'YouTube', 'telegram' => 'Telegram', 'snapchat' => 'Snapchat', 'tiktok' => 'TikTok/Instagram Reels', 'reddit' => 'Reddit', 'none' => 'I don\'t use social media' ] ], 'online_activities' => [ 'question' => 'What do you primarily use the internet for? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'communication' => 'Communication (calls, messages)', 'entertainment' => 'Entertainment (videos, music, games)', 'shopping' => 'Online Shopping', 'work_study' => 'Work/Study related', 'news_info' => 'News & Information', 'social_media' => 'Social Media', 'banking' => 'Online Banking/Payments', 'food_delivery' => 'Food Delivery Apps', 'navigation' => 'Maps & Navigation', 'learning' => 'Online Learning/Courses' ] ], 'app_categories' => [ 'question' => 'Which type of apps do you use most frequently? (Select top 3)', 'type' => 'multiple', 'options' => [ 'messaging' => 'Messaging & Communication', 'social_media' => 'Social Media', 'entertainment' => 'Entertainment (Video, Music)', 'shopping' => 'Shopping & E-commerce', 'food_delivery' => 'Food Delivery', 'banking_finance' => 'Banking & Finance', 'news' => 'News & Information', 'productivity' => 'Productivity & Work', 'gaming' => 'Gaming', 'health_fitness' => 'Health & Fitness' ] ], 'technology_adoption' => [ 'question' => 'How would you describe yourself regarding new technology?', 'type' => 'single', 'options' => [ 'early_adopter' => 'Early adopter - I try new tech first', 'quick_follower' => 'Quick follower - I adopt after initial reviews', 'mainstream' => 'Mainstream - I wait for technology to become popular', 'late_adopter' => 'Late adopter - I prefer proven, established technology', 'reluctant' => 'Reluctant - I only adopt when necessary' ] ] ] ], 'travel_transportation' => [ 'name' => 'Travel & Transportation', 'description' => 'Your travel habits and transportation preferences', 'questions' => [ 'primary_transport' => [ 'question' => 'What is your primary mode of daily transportation?', 'type' => 'single', 'options' => [ 'own_car' => 'Own Car', 'own_bike' => 'Own Two-wheeler (Bike/Scooter)', 'public_bus' => 'Public Bus', 'metro_train' => 'Metro/Local Train', 'auto_rickshaw' => 'Auto Rickshaw', 'taxi_cab' => 'Taxi/Cab Services', 'ride_sharing' => 'Ride Sharing (Ola/Uber)', 'walking_cycling' => 'Walking/Cycling', 'work_from_home' => 'Work from Home (No commute)' ] ], 'vehicle_ownership' => [ 'question' => 'Which vehicles does your household own? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'car' => 'Car', 'motorcycle' => 'Motorcycle', 'scooter' => 'Scooter', 'bicycle' => 'Bicycle', 'none' => 'No vehicles owned' ] ], 'travel_frequency' => [ 'question' => 'How often do you travel outside your city for leisure?', 'type' => 'single', 'options' => [ 'monthly' => 'Monthly or more', 'quarterly' => 'Once every 2-3 months', 'bi_annually' => 'Twice a year', 'annually' => 'Once a year', 'rarely' => 'Very rarely', 'never' => 'Never' ] ], 'preferred_travel_mode' => [ 'question' => 'For long-distance travel, what do you prefer? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'train' => 'Train', 'bus' => 'Bus', 'flight' => 'Flight', 'own_vehicle' => 'Own Vehicle', 'taxi_cab' => 'Taxi/Cab' ] ], 'travel_booking_method' => [ 'question' => 'How do you usually book your travel?', 'type' => 'single', 'options' => [ 'online_apps' => 'Online Travel Apps (MakeMyTrip, etc.)', 'travel_agent' => 'Through Travel Agent', 'direct_booking' => 'Direct booking (Railway/Airline websites)', 'offline_counter' => 'Offline counters', 'dont_travel' => 'I don\'t travel much' ] ], 'fuel_type' => [ 'question' => 'If you own a vehicle, what fuel type do you prefer?', 'type' => 'single', 'options' => [ 'petrol' => 'Petrol', 'diesel' => 'Diesel', 'cng' => 'CNG', 'electric' => 'Electric', 'hybrid' => 'Hybrid', 'no_vehicle' => 'I don\'t own a vehicle' ] ], 'ride_sharing_usage' => [ 'question' => 'How often do you use ride-sharing services (Ola/Uber)?', 'type' => 'single', 'options' => [ 'daily' => 'Daily', 'weekly' => 'Few times a week', 'monthly' => 'Few times a month', 'occasionally' => 'Occasionally', 'never' => 'Never use' ] ] ] ], 'health_fitness' => [ 'name' => 'Health & Fitness', 'description' => 'Your health, fitness, and wellness habits', 'questions' => [ 'health_insurance' => [ 'question' => 'Do you have health insurance coverage?', 'type' => 'single', 'options' => [ 'employer_provided' => 'Yes, through employer', 'self_purchased' => 'Yes, self-purchased policy', 'family_plan' => 'Yes, covered under family plan', 'government_scheme' => 'Yes, government scheme (Ayushman Bharat, etc.)', 'no_insurance' => 'No health insurance' ] ], 'fitness_activities' => [ 'question' => 'Which fitness activities do you regularly engage in? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'walking' => 'Walking/Jogging', 'gym' => 'Gym/Weight Training', 'yoga' => 'Yoga', 'cycling' => 'Cycling', 'swimming' => 'Swimming', 'sports' => 'Sports (Cricket, Badminton, etc.)', 'dancing' => 'Dancing', 'home_workout' => 'Home Workouts', 'martial_arts' => 'Martial Arts', 'none' => 'No regular fitness activity' ] ], 'exercise_frequency' => [ 'question' => 'How often do you exercise or engage in physical activity?', 'type' => 'single', 'options' => [ 'daily' => 'Daily', 'few_times_week' => 'Few times a week', 'weekly' => 'Once a week', 'monthly' => 'Few times a month', 'rarely' => 'Rarely', 'never' => 'Never' ] ], 'diet_type' => [ 'question' => 'What type of diet do you follow?', 'type' => 'single', 'options' => [ 'vegetarian' => 'Vegetarian', 'non_vegetarian' => 'Non-vegetarian', 'vegan' => 'Vegan', 'eggetarian' => 'Eggetarian (Vegetarian + Eggs)', 'jain_vegetarian' => 'Jain Vegetarian', 'pescatarian' => 'Pescatarian (Fish only)', 'no_restriction' => 'No dietary restrictions' ] ], 'health_concerns' => [ 'question' => 'Which health concerns are you most conscious about? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'weight_management' => 'Weight Management', 'diabetes' => 'Diabetes', 'heart_health' => 'Heart Health', 'blood_pressure' => 'Blood Pressure', 'stress_anxiety' => 'Stress & Anxiety', 'immunity' => 'Immunity Boosting', 'bone_joint_health' => 'Bone & Joint Health', 'digestive_health' => 'Digestive Health', 'skin_hair' => 'Skin & Hair Care', 'none' => 'No specific health concerns' ] ], 'wellness_products' => [ 'question' => 'Which wellness products do you use? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'vitamins_supplements' => 'Vitamins & Supplements', 'protein_powder' => 'Protein Powder/Shakes', 'herbal_products' => 'Herbal/Ayurvedic Products', 'organic_foods' => 'Organic Foods', 'fitness_tracker' => 'Fitness Tracker/Smartwatch', 'health_apps' => 'Health & Fitness Mobile Apps', 'meditation_apps' => 'Meditation/Mental Health Apps', 'none' => 'None of the above' ] ], 'healthcare_preference' => [ 'question' => 'What type of healthcare do you prefer?', 'type' => 'single', 'options' => [ 'allopathic' => 'Allopathic (Modern Medicine)', 'ayurvedic' => 'Ayurvedic', 'homeopathic' => 'Homeopathic', 'combination' => 'Combination of different systems', 'home_remedies' => 'Prefer home remedies first' ] ] ] ], 'entertainment_media' => [ 'name' => 'Entertainment & Media', 'description' => 'Your entertainment preferences and media consumption', 'questions' => [ 'tv_viewing_time' => [ 'question' => 'How much time do you spend watching TV/videos daily?', 'type' => 'single', 'options' => [ 'less_1_hour' => 'Less than 1 hour', '1_2_hours' => '1-2 hours', '3_4_hours' => '3-4 hours', '5_plus_hours' => '5+ hours', 'no_tv' => 'I don\'t watch TV/videos' ] ], 'streaming_platforms' => [ 'question' => 'Which streaming platforms do you use? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'youtube' => 'YouTube', 'netflix' => 'Netflix', 'amazon_prime' => 'Amazon Prime Video', 'hotstar' => 'Disney+ Hotstar', 'zee5' => 'ZEE5', 'sony_liv' => 'SonyLIV', 'voot' => 'Voot', 'mx_player' => 'MX Player', 'alt_balaji' => 'ALTBalaji', 'none' => 'I don\'t use streaming platforms' ] ], 'content_preferences' => [ 'question' => 'What type of content do you prefer? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'bollywood_movies' => 'Bollywood Movies', 'regional_movies' => 'Regional Movies', 'hollywood_movies' => 'Hollywood Movies', 'tv_serials' => 'TV Serials/Soap Operas', 'web_series' => 'Web Series', 'documentaries' => 'Documentaries', 'reality_shows' => 'Reality Shows', 'comedy_shows' => 'Comedy Shows', 'news' => 'News Programs', 'sports' => 'Sports' ] ], 'music_preferences' => [ 'question' => 'What type of music do you listen to? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'bollywood' => 'Bollywood', 'regional' => 'Regional (Tamil, Telugu, Punjabi, etc.)', 'classical' => 'Classical Indian', 'western_pop' => 'Western Pop/Rock', 'devotional' => 'Devotional/Religious', 'folk' => 'Folk Music', 'instrumental' => 'Instrumental', 'indie' => 'Independent/Indie', 'no_music' => 'I don\'t listen to music much' ] ], 'music_platforms' => [ 'question' => 'Which music platforms do you use? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'youtube_music' => 'YouTube Music', 'spotify' => 'Spotify', 'gaana' => 'Gaana', 'jiosaavn' => 'JioSaavn', 'amazon_music' => 'Amazon Music', 'wynk' => 'Wynk Music', 'apple_music' => 'Apple Music', 'radio' => 'FM Radio', 'none' => 'I don\'t use music platforms' ] ], 'gaming_interest' => [ 'question' => 'How interested are you in gaming?', 'type' => 'single', 'options' => [ 'very_interested' => 'Very interested - I game daily', 'somewhat_interested' => 'Somewhat interested - I game occasionally', 'casual' => 'Casual - Only simple mobile games', 'not_interested' => 'Not interested in gaming' ] ], 'news_sources' => [ 'question' => 'Where do you primarily get your news from? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'tv_news' => 'TV News Channels', 'newspapers' => 'Newspapers', 'news_websites' => 'News Websites', 'social_media' => 'Social Media', 'news_apps' => 'News Apps', 'whatsapp' => 'WhatsApp forwards', 'radio' => 'Radio', 'word_of_mouth' => 'Word of mouth', 'no_news' => 'I don\'t follow news regularly' ] ], 'reading_habits' => [ 'question' => 'What do you like to read? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'fiction_books' => 'Fiction Books', 'non_fiction' => 'Non-fiction Books', 'magazines' => 'Magazines', 'newspapers' => 'Newspapers', 'blogs' => 'Online Blogs/Articles', 'comics' => 'Comics/Graphic Novels', 'religious_texts' => 'Religious/Spiritual Texts', 'no_reading' => 'I don\'t read much' ] ] ] ], 'food_dining' => [ 'name' => 'Food & Dining', 'description' => 'Your food preferences and dining habits', 'questions' => [ 'cooking_frequency' => [ 'question' => 'How often do you cook at home?', 'type' => 'single', 'options' => [ 'daily' => 'Daily', 'few_times_week' => 'Few times a week', 'weekly' => 'Once a week', 'monthly' => 'Few times a month', 'rarely' => 'Rarely', 'never' => 'Never - someone else cooks' ] ], 'cuisine_preferences' => [ 'question' => 'Which cuisines do you enjoy? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'north_indian' => 'North Indian', 'south_indian' => 'South Indian', 'gujarati' => 'Gujarati', 'punjabi' => 'Punjabi', 'bengali' => 'Bengali', 'maharashtrian' => 'Maharashtrian', 'chinese' => 'Chinese', 'continental' => 'Continental', 'italian' => 'Italian', 'fast_food' => 'Fast Food', 'street_food' => 'Street Food' ] ], 'dining_out_frequency' => [ 'question' => 'How often do you dine out at restaurants?', 'type' => 'single', 'options' => [ 'multiple_times_week' => 'Multiple times a week', 'weekly' => 'Once a week', 'bi_weekly' => 'Once in 2 weeks', 'monthly' => 'Once a month', 'occasionally' => 'Only on special occasions', 'rarely' => 'Rarely/Never' ] ], 'food_delivery_usage' => [ 'question' => 'How often do you order food online?', 'type' => 'single', 'options' => [ 'daily' => 'Daily', 'few_times_week' => 'Few times a week', 'weekly' => 'Once a week', 'monthly' => 'Few times a month', 'occasionally' => 'Occasionally', 'never' => 'Never' ] ], 'food_delivery_apps' => [ 'question' => 'Which food delivery apps do you use? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'zomato' => 'Zomato', 'swiggy' => 'Swiggy', 'uber_eats' => 'Uber Eats', 'food_panda' => 'Foodpanda', 'dominos' => 'Domino\'s App', 'restaurant_direct' => 'Restaurant direct delivery', 'none' => 'I don\'t use food delivery apps' ] ], 'snacking_preferences' => [ 'question' => 'What type of snacks do you prefer? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'traditional_indian' => 'Traditional Indian snacks', 'western_snacks' => 'Western snacks (chips, cookies)', 'healthy_snacks' => 'Healthy snacks (nuts, fruits)', 'sweets' => 'Sweets/Desserts', 'bakery_items' => 'Bakery items', 'beverages' => 'Beverages (tea, coffee, juices)', 'ice_cream' => 'Ice cream', 'no_snacking' => 'I don\'t snack much' ] ], 'grocery_shopping' => [ 'question' => 'Where do you primarily buy groceries? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'local_stores' => 'Local grocery stores', 'supermarkets' => 'Supermarkets (Big Bazaar, etc.)', 'online_grocery' => 'Online grocery (BigBasket, Grofers)', 'wholesale_markets' => 'Wholesale markets', 'convenience_stores' => 'Convenience stores', 'organic_stores' => 'Organic food stores' ] ], 'food_consciousness' => [ 'question' => 'How conscious are you about your food choices?', 'type' => 'single', 'options' => [ 'very_conscious' => 'Very conscious - I read labels and choose carefully', 'somewhat_conscious' => 'Somewhat conscious - I try to eat healthy', 'moderately_conscious' => 'Moderately conscious - Balance of health and taste', 'not_very_conscious' => 'Not very conscious - Taste is priority', 'not_conscious' => 'Not conscious at all' ] ] ] ], 'financial_services' => [ 'name' => 'Financial Services', 'description' => 'Your financial habits and service usage', 'questions' => [ 'primary_bank' => [ 'question' => 'Which is your primary bank for savings account?', 'type' => 'single', 'options' => [ 'sbi' => 'State Bank of India (SBI)', 'hdfc' => 'HDFC Bank', 'icici' => 'ICICI Bank', 'axis' => 'Axis Bank', 'pnb' => 'Punjab National Bank', 'bob' => 'Bank of Baroda', 'kotak' => 'Kotak Mahindra Bank', 'idfc' => 'IDFC First Bank', 'yes_bank' => 'Yes Bank', 'other' => 'Other bank' ] ], 'banking_services' => [ 'question' => 'Which banking services do you use? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'savings_account' => 'Savings Account', 'current_account' => 'Current Account', 'fixed_deposit' => 'Fixed Deposit', 'recurring_deposit' => 'Recurring Deposit', 'personal_loan' => 'Personal Loan', 'home_loan' => 'Home Loan', 'credit_card' => 'Credit Card', 'demat_account' => 'Demat Account for investments', 'insurance' => 'Insurance policies' ] ], 'investment_experience' => [ 'question' => 'What is your experience with investments?', 'type' => 'single', 'options' => [ 'experienced' => 'Experienced investor', 'moderate' => 'Some experience with basic investments', 'beginner' => 'Beginner - just started investing', 'planning' => 'Planning to start investing', 'no_interest' => 'Not interested in investing' ] ], 'investment_types' => [ 'question' => 'Which investment options have you used? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'mutual_funds' => 'Mutual Funds', 'stocks' => 'Direct Stock Market', 'fixed_deposits' => 'Fixed Deposits', 'ppf' => 'Public Provident Fund (PPF)', 'nsc' => 'National Savings Certificate', 'gold' => 'Gold/Gold ETFs', 'real_estate' => 'Real Estate', 'sip' => 'SIP (Systematic Investment Plan)', 'cryptocurrency' => 'Cryptocurrency', 'none' => 'No investments yet' ] ], 'financial_goals' => [ 'question' => 'What are your primary financial goals? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'emergency_fund' => 'Building emergency fund', 'retirement' => 'Retirement planning', 'home_purchase' => 'Buying a home', 'child_education' => 'Child\'s education', 'child_marriage' => 'Child\'s marriage', 'business' => 'Starting a business', 'travel' => 'Travel & vacation', 'debt_repayment' => 'Debt repayment', 'wealth_creation' => 'Wealth creation', 'no_specific_goals' => 'No specific financial goals' ] ], 'insurance_types' => [ 'question' => 'What type of insurance do you have? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'life_insurance' => 'Life Insurance', 'health_insurance' => 'Health Insurance', 'vehicle_insurance' => 'Vehicle Insurance', 'home_insurance' => 'Home Insurance', 'travel_insurance' => 'Travel Insurance', 'term_insurance' => 'Term Insurance', 'none' => 'No insurance' ] ], 'financial_planning' => [ 'question' => 'How do you manage your financial planning?', 'type' => 'single', 'options' => [ 'self_managed' => 'Self-managed', 'financial_advisor' => 'Through financial advisor', 'bank_advisor' => 'Bank relationship manager', 'family_guidance' => 'Family guidance', 'no_planning' => 'No formal financial planning' ] ], 'spending_tracking' => [ 'question' => 'How do you track your expenses?', 'type' => 'single', 'options' => [ 'mobile_apps' => 'Mobile apps', 'excel_sheets' => 'Excel/Google sheets', 'notebook' => 'Written notebook', 'bank_statements' => 'Bank statements only', 'mental_tracking' => 'Mental tracking', 'no_tracking' => 'I don\'t track expenses' ] ] ] ], 'communication_payments' => [ 'name' => 'Communication & Payments', 'description' => 'Mobile verification and payment preferences', 'questions' => [ 'mobile_number' => [ 'question' => 'Please enter your mobile number for verification', 'type' => 'mobile_verification', 'validation' => 'required|mobile' ], 'preferred_upi_app' => [ 'question' => 'Which UPI app do you use most frequently?', 'type' => 'single', 'options' => [ 'phonepe' => 'PhonePe', 'google_pay' => 'Google Pay', 'paytm' => 'Paytm', 'amazon_pay' => 'Amazon Pay', 'bhim' => 'BHIM', 'bank_upi' => 'Bank UPI app', 'other' => 'Other UPI app', 'no_upi' => 'I don\'t use UPI' ] ], 'upi_id' => [ 'question' => 'Please enter your UPI ID for reward payments (e.g., yourname@paytm)', 'type' => 'text', 'validation' => 'required|upi', 'placeholder' => 'yourname@paytm' ], 'digital_payment_frequency' => [ 'question' => 'How often do you use digital payments?', 'type' => 'single', 'options' => [ 'daily' => 'Daily', 'few_times_week' => 'Few times a week', 'weekly' => 'Once a week', 'monthly' => 'Few times a month', 'occasionally' => 'Occasionally', 'rarely' => 'Rarely' ] ], 'payment_categories' => [ 'question' => 'For which purposes do you use digital payments? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'utilities' => 'Utility bills (electricity, water, gas)', 'mobile_recharge' => 'Mobile recharge', 'shopping' => 'Online shopping', 'food_delivery' => 'Food delivery', 'transport' => 'Transportation (cab, bus, metro)', 'petrol' => 'Petrol/fuel payments', 'groceries' => 'Grocery stores', 'restaurants' => 'Restaurants', 'peer_transfer' => 'Money transfer to friends/family', 'loan_emi' => 'Loan EMI payments' ] ], 'communication_preference' => [ 'question' => 'How would you prefer to receive survey invitations?', 'type' => 'multiple', 'options' => [ 'email' => 'Email', 'sms' => 'SMS', 'whatsapp' => 'WhatsApp', 'app_notification' => 'Mobile app notifications', 'phone_call' => 'Phone call' ] ], 'survey_availability' => [ 'question' => 'When are you usually available to take surveys?', 'type' => 'multiple', 'options' => [ 'morning' => 'Morning (6 AM - 12 PM)', 'afternoon' => 'Afternoon (12 PM - 6 PM)', 'evening' => 'Evening (6 PM - 10 PM)', 'night' => 'Night (10 PM - 12 AM)', 'weekends' => 'Weekends only', 'anytime' => 'Anytime when free' ] ], 'survey_types_interest' => [ 'question' => 'What types of surveys interest you most? (Select all that apply)', 'type' => 'multiple', 'options' => [ 'products' => 'Product reviews and feedback', 'brands' => 'Brand awareness surveys', 'lifestyle' => 'Lifestyle and habits', 'technology' => 'Technology and gadgets', 'entertainment' => 'Entertainment and media', 'politics' => 'Political opinions', 'social_issues' => 'Social issues', 'health' => 'Health and wellness', 'finance' => 'Financial products and services', 'all_types' => 'All types of surveys' ] ] ] ] ]; // Get the requested section $currentSection = isset($_GET['section']) ? $_GET['section'] : null; if (!$currentSection || !isset($profilerSections[$currentSection])) { header('Location: dashboard.php#profiler'); exit; } $section = $profilerSections[$currentSection]; // Get existing responses for this section $existingResponses = []; try { $stmt = $pdo->prepare("SELECT question_id, response FROM user_profiler WHERE user_id = ? AND section = ?"); $stmt->execute([$user['id'], $currentSection]); while ($row = $stmt->fetch()) { $existingResponses[$row['question_id']] = json_decode($row['response'], true); } } catch (Exception $e) { logError('Error fetching existing responses', ['user_id' => $user['id'], 'section' => $currentSection, 'error' => $e->getMessage()]); } // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $responses = []; $hasErrors = false; $errorMessages = []; foreach ($section['questions'] as $questionId => $questionData) { if ($questionData['type'] === 'mobile_verification') { // Handle mobile verification separately $mobileNumber = isset($_POST[$questionId]) ? sanitize($_POST[$questionId]) : ''; if (!empty($mobileNumber) && preg_match('/^[6-9]\d{9}$/', $mobileNumber)) { // Store mobile number for verification try { $stmt = $pdo->prepare("INSERT INTO mobile_verifications (user_id, mobile_number) VALUES (?, ?) ON DUPLICATE KEY UPDATE mobile_number = ?, updated_at = NOW()"); $stmt->execute([$user['id'], $mobileNumber, $mobileNumber]); $responses[$questionId] = $mobileNumber; } catch (Exception $e) { $errorMessages[] = "Error saving mobile number."; $hasErrors = true; } } else { $errorMessages[] = "Please enter a valid 10-digit mobile number."; $hasErrors = true; } } elseif ($questionData['type'] === 'text') { $value = isset($_POST[$questionId]) ? sanitize($_POST[$questionId]) : ''; if ($questionId === 'upi_id') { if (!empty($value) && preg_match('/^[\w\.-]+@[\w\.-]+$/', $value)) { $responses[$questionId] = $value; } else { $errorMessages[] = "Please enter a valid UPI ID (e.g., yourname@paytm)."; $hasErrors = true; } } else { $responses[$questionId] = $value; } } elseif ($questionData['type'] === 'single') { $value = isset($_POST[$questionId]) ? sanitize($_POST[$questionId]) : ''; if (!empty($value)) { $responses[$questionId] = $value; } } elseif ($questionData['type'] === 'multiple') { $values = isset($_POST[$questionId]) ? $_POST[$questionId] : []; if (is_array($values)) { $cleanValues = array_map('sanitize', $values); $responses[$questionId] = $cleanValues; } } } if (!$hasErrors) { try { $pdo->beginTransaction(); // Save all responses foreach ($responses as $questionId => $response) { $stmt = $pdo->prepare("INSERT INTO user_profiler (user_id, section, question_id, response) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE response = ?, updated_at = NOW()"); $responseJson = json_encode($response); $stmt->execute([$user['id'], $currentSection, $questionId, $responseJson, $responseJson]); } // Calculate completion percentage $totalQuestions = count($section['questions']); $answeredQuestions = count($responses); $completionPercentage = ($answeredQuestions / $totalQuestions) * 100; $isCompleted = $completionPercentage >= 100; // Update completion status $stmt = $pdo->prepare("INSERT INTO profiler_completion (user_id, section, total_questions, answered_questions, completion_percentage, is_completed, completed_at) VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE answered_questions = ?, completion_percentage = ?, is_completed = ?, completed_at = CASE WHEN ? = 1 THEN NOW() ELSE completed_at END, updated_at = NOW()"); $completedAt = $isCompleted ? date('Y-m-d H:i:s') : null; $stmt->execute([$user['id'], $currentSection, $totalQuestions, $answeredQuestions, $completionPercentage, $isCompleted, $completedAt, $answeredQuestions, $completionPercentage, $isCompleted, $isCompleted]); // Award points if section is completed and not already awarded if ($isCompleted) { $stmt = $pdo->prepare("SELECT points_awarded FROM profiler_completion WHERE user_id = ? AND section = ?"); $stmt->execute([$user['id'], $currentSection]); $completion = $stmt->fetch(); if ($completion && !$completion['points_awarded']) { // Determine points to award $pointsToAward = ($currentSection === 'communication_payments') ? 10 : 5; // 10 for mobile/UPI, 5 for others $pointsDescription = ($currentSection === 'communication_payments') ? 'Mobile verification and UPI details completion' : 'Profiler section completion: ' . $section['name']; // Award points $stmt = $pdo->prepare("INSERT INTO user_points (user_id, points, total_earned) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE points = points + ?, total_earned = total_earned + ?"); $stmt->execute([$user['id'], $pointsToAward, $pointsToAward, $pointsToAward, $pointsToAward]); // Add transaction record $stmt = $pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description) VALUES (?, 'earned', ?, ?, ?)"); $stmt->execute([$user['id'], $pointsToAward, 'profiler_' . $currentSection, $pointsDescription]); // Mark points as awarded $stmt = $pdo->prepare("UPDATE profiler_completion SET points_awarded = 1 WHERE user_id = ? AND section = ?"); $stmt->execute([$user['id'], $currentSection]); logError('Profiler points awarded', ['user_id' => $user['id'], 'section' => $currentSection, 'points' => $pointsToAward]); } } $pdo->commit(); // Redirect back to dashboard with success header('Location: dashboard.php#profiler&success=1'); exit; } catch (Exception $e) { $pdo->rollback(); logError('Error saving profiler responses', ['user_id' => $user['id'], 'section' => $currentSection, 'error' => $e->getMessage()]); $errorMessages[] = 'Error saving your responses. Please try again.'; } } } ?> <?php echo $section['name']; ?> - Profiler | Relevant Reflex

Earn Points!

Complete all questions to earn rewards
Please fix the following errors:
of questions completed
$questionData): ?>
$label): ?>
>
$label): ?>
>
We'll send an OTP to verify your number
-------------------- END OF FILE -------------------- ### FILE 21: redemption.php - Type: PHP - Size: 26.85 KB - Path: . - Name: redemption.php ------------------------------------------------------------ redirectToLogin('Session expired. Please log in again.'); } // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { logError('Database connection failed in redemption.php: ' . $e->getMessage()); die('System error. Please try again later.'); } $errors = []; $success_message = ''; // Get user points $userPoints = ['points' => 0, 'total_earned' => 0, 'total_redeemed' => 0]; try { $stmt = $pdo->prepare("SELECT points, total_earned, total_redeemed FROM user_points WHERE user_id = ?"); $stmt->execute([$user['id']]); $pointsData = $stmt->fetch(); if ($pointsData) { $userPoints = $pointsData; } } catch (Exception $e) { logError('Error fetching user points', ['user_id' => $user['id'], 'error' => $e->getMessage()]); $errors[] = 'Unable to fetch your points balance.'; } // Check if user has minimum points for redemption if ($userPoints['points'] < 200) { header('Location: dashboard.php#rewards'); exit; } // Get UPI ID from profiler if exists $savedUpiId = ''; try { $stmt = $pdo->prepare("SELECT response FROM user_profiler WHERE user_id = ? AND section = 'communication_payments' AND question_id = 'upi_id'"); $stmt->execute([$user['id']]); $upiData = $stmt->fetch(); if ($upiData) { $savedUpiId = json_decode($upiData['response'], true); } } catch (Exception $e) { logError('Error fetching UPI ID', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $pointsToRedeem = isset($_POST['points_to_redeem']) ? intval($_POST['points_to_redeem']) : 0; $upiId = isset($_POST['upi_id']) ? sanitize($_POST['upi_id']) : ''; // Validation if ($pointsToRedeem < 200) { $errors[] = 'Minimum redemption amount is 200 points (₹100).'; } elseif ($pointsToRedeem > $userPoints['points']) { $errors[] = 'You cannot redeem more points than your available balance.'; } elseif ($pointsToRedeem % 10 !== 0) { $errors[] = 'Points must be redeemed in multiples of 10.'; } elseif (empty($upiId)) { $errors[] = 'Please enter your UPI ID.'; } elseif (!preg_match('/^[\w\.-]+@[\w\.-]+$/', $upiId)) { $errors[] = 'Please enter a valid UPI ID (e.g., yourname@paytm).'; } else { try { $pdo->beginTransaction(); // Generate unique request ID $requestId = 'RRR' . date('Ymd') . sprintf('%04d', mt_rand(1000, 9999)); // Calculate amount in INR $amountInr = $pointsToRedeem * 0.5; // Create redemption request $stmt = $pdo->prepare("INSERT INTO redemption_requests (user_id, request_id, points_redeemed, amount_inr, upi_id, status) VALUES (?, ?, ?, ?, ?, 'pending')"); $stmt->execute([$user['id'], $requestId, $pointsToRedeem, $amountInr, $upiId]); // Deduct points from user account $stmt = $pdo->prepare("UPDATE user_points SET points = points - ?, total_redeemed = total_redeemed + ? WHERE user_id = ?"); $stmt->execute([$pointsToRedeem, $pointsToRedeem, $user['id']]); // Add transaction record $stmt = $pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description, reference_id, status) VALUES (?, 'redeemed', ?, 'redemption', ?, ?, 'pending')"); $description = "UPI redemption request - ₹" . number_format($amountInr, 2) . " to " . $upiId; $stmt->execute([$user['id'], $pointsToRedeem, $description, $requestId]); // Save UPI ID to profiler if not already saved if ($upiId !== $savedUpiId) { $stmt = $pdo->prepare("INSERT INTO user_profiler (user_id, section, question_id, response) VALUES (?, 'communication_payments', 'upi_id', ?) ON DUPLICATE KEY UPDATE response = ?, updated_at = NOW()"); $upiJson = json_encode($upiId); $stmt->execute([$user['id'], $upiJson, $upiJson]); // Check if this completes the communication_payments section and award points $stmt = $pdo->prepare("SELECT COUNT(*) as completed_questions FROM user_profiler WHERE user_id = ? AND section = 'communication_payments'"); $stmt->execute([$user['id']]); $completedCount = $stmt->fetch()['completed_questions']; // If this is a new UPI ID entry, check for section completion if ($completedCount >= 8) { // Assuming 8 questions in communication_payments section $stmt = $pdo->prepare("SELECT points_awarded FROM profiler_completion WHERE user_id = ? AND section = 'communication_payments'"); $stmt->execute([$user['id']]); $completion = $stmt->fetch(); if (!$completion || !$completion['points_awarded']) { // Award section completion points $stmt = $pdo->prepare("INSERT INTO user_points (user_id, points, total_earned) VALUES (?, 10.00, 10.00) ON DUPLICATE KEY UPDATE points = points + 10.00, total_earned = total_earned + 10.00"); $stmt->execute([$user['id']]); $stmt = $pdo->prepare("INSERT INTO point_transactions (user_id, transaction_type, points, source, description) VALUES (?, 'earned', 10.00, 'profiler_communication_payments', 'Communication & Payments section completion')"); $stmt->execute([$user['id']]); $stmt = $pdo->prepare("INSERT INTO profiler_completion (user_id, section, total_questions, answered_questions, completion_percentage, is_completed, points_awarded, completed_at) VALUES (?, 'communication_payments', 8, ?, 100.00, 1, 1, NOW()) ON DUPLICATE KEY UPDATE answered_questions = ?, completion_percentage = 100.00, is_completed = 1, points_awarded = 1, completed_at = NOW()"); $stmt->execute([$user['id'], $completedCount, $completedCount]); } } } $pdo->commit(); logError('Redemption request created', [ 'user_id' => $user['id'], 'request_id' => $requestId, 'points_redeemed' => $pointsToRedeem, 'amount_inr' => $amountInr, 'upi_id' => $upiId ]); $success_message = "Redemption request submitted successfully! Request ID: $requestId"; // Update user points for display $userPoints['points'] -= $pointsToRedeem; $userPoints['total_redeemed'] += $pointsToRedeem; } catch (Exception $e) { $pdo->rollback(); logError('Error creating redemption request', ['user_id' => $user['id'], 'error' => $e->getMessage()]); $errors[] = 'Error processing your redemption request. Please try again.'; } } } // Get recent redemption requests $recentRedemptions = []; try { $stmt = $pdo->prepare("SELECT request_id, points_redeemed, amount_inr, upi_id, status, created_at, processed_at FROM redemption_requests WHERE user_id = ? ORDER BY created_at DESC LIMIT 5"); $stmt->execute([$user['id']]); $recentRedemptions = $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching redemption history', ['user_id' => $user['id'], 'error' => $e->getMessage()]); } ?> Redeem Points - Relevant Reflex

Redeem Your Points

Convert your earned points to cash via instant UPI transfer

Points

Value
Error
Success!


What happens next?

Available Points

Worth ₹

Conversion Rate

1 Point = ₹0.50

Minimum redemption: 200 points (₹100)

Create Redemption Request

200 pts pts
You will receive

₹100.00

Amount will be transferred to your UPI ID
Enter your UPI ID (e.g., yourname@paytm, yourname@phonepe)

PhonePe

Google Pay

Paytm

Amazon Pay

Bank UPI
Redemption Guidelines
  • Minimum: 200 points (₹100)
  • Processing: 24-72 hours
  • Only UPI payments supported
  • No additional charges
  • Request can't be cancelled once submitted
Account Summary
Total Earned
points
Total Redeemed
points
Available Balance
points
Recent Redemptions

( points)

to
-------------------- END OF FILE -------------------- ### FILE 22: reset-password.php - Type: PHP - Size: 10.56 KB - Path: . - Name: reset-password.php ------------------------------------------------------------ getConnection(); $stmt = $pdo->prepare(" SELECT email, expires_at FROM password_resets WHERE token = ? AND expires_at > NOW() "); $stmt->execute([$token]); $reset = $stmt->fetch(); if ($reset) { $email = $reset['email']; $isValidToken = true; } } catch (Exception $e) { logError('Error checking reset token', ['error' => $e->getMessage()]); } } // Handle password reset form submission if ($_SERVER['REQUEST_METHOD'] === 'POST' && $isValidToken) { $newPassword = isset($_POST['password']) ? $_POST['password'] : ''; $confirmPassword = isset($_POST['confirm_password']) ? $_POST['confirm_password'] : ''; // Validation $errors = []; if (empty($newPassword)) { $errors[] = 'Password is required.'; } if (empty($confirmPassword)) { $errors[] = 'Please confirm your password.'; } if (!validatePassword($newPassword)) { $errors[] = 'Password must be at least 8 characters long.'; } if ($newPassword !== $confirmPassword) { $errors[] = 'Passwords do not match.'; } if (empty($errors)) { try { // Start transaction $pdo->beginTransaction(); // Hash new password $hashedPassword = hashPassword($newPassword); // Update user password $stmt = $pdo->prepare("UPDATE users SET password = ?, updated_at = NOW() WHERE email = ?"); $stmt->execute([$hashedPassword, $email]); // Delete used reset token $stmt = $pdo->prepare("DELETE FROM password_resets WHERE token = ?"); $stmt->execute([$token]); // Delete all user sessions (force re-login) $stmt = $pdo->prepare("DELETE FROM user_sessions WHERE user_id = (SELECT id FROM users WHERE email = ?)"); $stmt->execute([$email]); // Commit transaction $pdo->commit(); logError('Password reset successful', ['email' => $email]); // Redirect to success page showResetResult(true, 'Password Reset Successful', 'Your password has been reset successfully. You can now log in with your new password.'); } catch (PDOException $e) { if ($pdo->inTransaction()) { $pdo->rollback(); } logError('Database error during password reset', [ 'error' => $e->getMessage(), 'email' => $email ]); $errors[] = 'Failed to reset password due to a system error. Please try again later.'; } catch (Exception $e) { if ($pdo->inTransaction()) { $pdo->rollback(); } logError('General error during password reset', [ 'error' => $e->getMessage(), 'email' => $email ]); $errors[] = 'An unexpected error occurred. Please try again later.'; } } } function showResetResult($success, $title, $message) { $statusClass = $success ? 'success' : 'error'; $statusColor = $success ? '#28a745' : '#dc3545'; $iconClass = $success ? 'fa-check-circle' : 'fa-exclamation-triangle'; ?> <?php echo htmlspecialchars($title); ?> - Relevant Reflex
Reset Password - Relevant Reflex

Set New Password

Enter your new password below.

', array_map('htmlspecialchars', $errors)); ?>
Minimum 8 characters
-------------------- END OF FILE -------------------- ### FILE 23: session.php - Type: PHP - Size: 6.12 KB - Path: . - Name: session.php ------------------------------------------------------------ pdo = $db->getConnection(); // Start session if not already started if (session_status() === PHP_SESSION_NONE) { session_start(); } // Check for remember me token if user is not logged in if (!$this->isLoggedIn() && isset($_COOKIE['remember_token'])) { $this->checkRememberToken($_COOKIE['remember_token']); } } public function isLoggedIn() { return isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true && isset($_SESSION['user_id']) && !empty($_SESSION['user_id']); } public function getCurrentUser() { if (!$this->isLoggedIn()) { return null; } try { $stmt = $this->pdo->prepare(" SELECT id, email, gender, date_of_birth, postcode, email_verified, onboarding_completed, onboarding_points_awarded, status, created_at, last_login FROM users WHERE id = ? AND status = 'active' "); $stmt->execute([$_SESSION['user_id']]); return $stmt->fetch(); } catch (Exception $e) { logError('Error fetching current user', [ 'error' => $e->getMessage(), 'user_id' => $_SESSION['user_id'] ]); return null; } } public function requireLogin() { if (!$this->isLoggedIn()) { $this->redirectToLogin(); } // Check if user still exists and is active $user = $this->getCurrentUser(); if (!$user) { $this->logout(); $this->redirectToLogin('Your session has expired. Please log in again.'); } } public function logout() { // Delete remember me token if exists if (isset($_COOKIE['remember_token'])) { try { $stmt = $this->pdo->prepare("DELETE FROM user_sessions WHERE session_token = ?"); $stmt->execute([$_COOKIE['remember_token']]); } catch (Exception $e) { logError('Error clearing remember token', ['error' => $e->getMessage()]); } setcookie('remember_token', '', time() - 3600, '/', '', true, true); } // Clear session $_SESSION = []; session_destroy(); } public function redirectToLogin($message = null) { $url = 'login.php'; if ($message) { $url .= '?message=' . urlencode($message); } header('Location: ' . $url); exit; } public function redirectToDashboard() { header('Location: dashboard.php'); exit; } public function redirectAfterLogin() { // Check if there's a redirect URL stored if (isset($_SESSION['redirect_after_login'])) { $redirect = $_SESSION['redirect_after_login']; unset($_SESSION['redirect_after_login']); header('Location: ' . $redirect); exit; } $this->redirectToDashboard(); } private function checkRememberToken($token) { try { $stmt = $this->pdo->prepare(" SELECT us.user_id, u.email FROM user_sessions us JOIN users u ON us.user_id = u.id WHERE us.session_token = ? AND us.expires_at > NOW() AND u.status = 'active' "); $stmt->execute([$token]); $session = $stmt->fetch(); if ($session) { // Restore session $_SESSION['user_id'] = $session['user_id']; $_SESSION['user_email'] = $session['email']; $_SESSION['logged_in'] = true; $_SESSION['login_time'] = time(); // Update last login $stmt = $this->pdo->prepare("UPDATE users SET last_login = NOW() WHERE id = ?"); $stmt->execute([$session['user_id']]); logError('User auto-logged in via remember token', [ 'user_id' => $session['user_id'], 'email' => $session['email'] ]); } else { // Invalid or expired token - delete it setcookie('remember_token', '', time() - 3600, '/', '', true, true); } } catch (Exception $e) { logError('Error checking remember token', ['error' => $e->getMessage()]); } } public function getUserAge() { $user = $this->getCurrentUser(); if (!$user || !$user['date_of_birth']) { return null; } $birthDate = new DateTime($user['date_of_birth']); $today = new DateTime(); return $today->diff($birthDate)->y; } public function updateLastActivity() { if ($this->isLoggedIn()) { $_SESSION['last_activity'] = time(); } } public function checkSessionTimeout($timeoutMinutes = 120) { if ($this->isLoggedIn() && isset($_SESSION['last_activity'])) { $timeoutSeconds = $timeoutMinutes * 60; if (time() - $_SESSION['last_activity'] > $timeoutSeconds) { $this->logout(); $this->redirectToLogin('Your session has expired due to inactivity.'); } } $this->updateLastActivity(); } } // Global function to get session manager instance function getSessionManager() { static $instance = null; if ($instance === null) { $instance = new SessionManager(); } return $instance; } // Convenience functions function requireLogin() { getSessionManager()->requireLogin(); } function getCurrentUser() { return getSessionManager()->getCurrentUser(); } function isLoggedIn() { return getSessionManager()->isLoggedIn(); } function logout() { getSessionManager()->logout(); } ?> -------------------- END OF FILE -------------------- ### FILE 24: signup.php - Type: PHP - Size: 26.04 KB - Path: . - Name: signup.php ------------------------------------------------------------ getConnection(); } catch (Exception $e) { logError('Database connection failed in signup.php: ' . $e->getMessage()); $errors[] = 'System error. Please try again later.'; } if (empty($errors)) { // Get and sanitize form data $email = isset($_POST['email']) ? sanitize($_POST['email']) : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; $gender = isset($_POST['gender']) ? sanitize($_POST['gender']) : ''; $dateOfBirth = isset($_POST['date_of_birth']) ? sanitize($_POST['date_of_birth']) : ''; $postcode = isset($_POST['postcode']) ? sanitize($_POST['postcode']) : ''; $privacyAccepted = isset($_POST['privacy_policy']) ? true : false; // Store form data for repopulating form on error $form_data = [ 'email' => $email, 'gender' => $gender, 'date_of_birth' => $dateOfBirth, 'postcode' => $postcode ]; // Validation if (empty($email)) { $errors[] = 'Email is required.'; } if (empty($password)) { $errors[] = 'Password is required.'; } if (empty($gender)) { $errors[] = 'Gender is required.'; } if (empty($dateOfBirth)) { $errors[] = 'Date of birth is required.'; } if (empty($postcode)) { $errors[] = 'Postcode is required.'; } if (!$privacyAccepted) { $errors[] = 'You must agree to the Privacy Policy and Terms & Conditions.'; } // Validate email format if (!empty($email) && !validateEmail($email)) { $errors[] = 'Please provide a valid email address.'; } // Validate password strength if (!empty($password) && !validatePassword($password)) { $errors[] = 'Password must be at least 8 characters long.'; } // Validate gender if (!empty($gender) && !in_array($gender, ['Male', 'Female'])) { $errors[] = 'Please select a valid gender.'; } // Validate date of birth if (!empty($dateOfBirth) && !validateDateOfBirth($dateOfBirth)) { $errors[] = 'You must be at least 18 years old to register.'; } // Validate postcode if (!empty($postcode) && !validatePostcode($postcode)) { $errors[] = 'Please provide a valid 6-digit postal code.'; } // If no validation errors, proceed with registration if (empty($errors)) { try { // Check if email already exists $stmt = $pdo->prepare("SELECT id FROM users WHERE email = ?"); $stmt->execute([$email]); if ($stmt->rowCount() > 0) { $errors[] = 'An account with this email address already exists. Please try logging in or use a different email.'; } else { // Hash the password $hashedPassword = hashPassword($password); // Start transaction $pdo->beginTransaction(); // Insert new user $stmt = $pdo->prepare(" INSERT INTO users (email, password, gender, date_of_birth, postcode, email_verified, status, created_at) VALUES (?, ?, ?, ?, ?, 0, 'inactive', NOW()) "); $stmt->execute([$email, $hashedPassword, $gender, $dateOfBirth, $postcode]); $userId = $pdo->lastInsertId(); // Generate verification token $verificationToken = generateSecureToken(); $expiresAt = date('Y-m-d H:i:s', strtotime('+' . TOKEN_EXPIRY_HOURS . ' hours')); // Insert verification token $stmt = $pdo->prepare(" INSERT INTO email_verifications (user_id, token, expires_at, created_at) VALUES (?, ?, ?, NOW()) "); $stmt->execute([$userId, $verificationToken, $expiresAt]); // Commit transaction $pdo->commit(); // Send verification email $emailHandler = new EmailHandler(); $emailSent = $emailHandler->sendVerificationEmail($email, $verificationToken); if ($emailSent) { logError('User registered successfully', [ 'user_id' => $userId, 'email' => $email, 'verification_token_sent' => true ]); $success_message = 'Registration successful! We\'ve sent a verification link to your email address. Please check your inbox and click the link to activate your account.'; $form_data = []; // Clear form data on success } else { // Registration was successful but email failed logError('User registered but email verification failed', [ 'user_id' => $userId, 'email' => $email ]); $success_message = 'Registration successful! However, we encountered an issue sending the verification email. Please contact support at support@relevantreflex.com to activate your account.'; $form_data = []; } } } catch (PDOException $e) { // Rollback transaction on error if ($pdo->inTransaction()) { $pdo->rollback(); } logError('Database error during registration', [ 'error' => $e->getMessage(), 'email' => $email ]); $errors[] = 'Registration failed due to a system error. Please try again later.'; } catch (Exception $e) { // Rollback transaction on error if ($pdo->inTransaction()) { $pdo->rollback(); } logError('General error during registration', [ 'error' => $e->getMessage(), 'email' => $email ]); $errors[] = 'An unexpected error occurred. Please try again later.'; } } } } ?> Sign Up - Relevant Reflex Paid Online Surveys India

Register as a Survey Taker for FREE!

Furnish some of your basic information below and start making money online through Paid Surveys.

Minimum 8 characters
We care about your privacy. By sharing your personal data you will be able to get research opportunities targeted to your interests, help to improve products and services and earn rewards for participation
What's Next?

Check your email inbox and click the verification link to activate your account.

Didn't receive the email? Check your spam folder or contact support
-------------------- END OF FILE -------------------- ### FILE 25: sms-config.php - Type: PHP - Size: 9.36 KB - Path: . - Name: sms-config.php ------------------------------------------------------------ gateway = 'msg91'; // Options: msg91, textlocal, twofactor, fast2sms // SMS Gateway configurations $this->config = [ 'msg91' => [ 'auth_key' => 'YOUR_MSG91_AUTH_KEY', // Replace with actual key 'template_id' => 'YOUR_TEMPLATE_ID', // Replace with actual template ID 'route' => '4', // Transactional route 'country' => '91' ], 'textlocal' => [ 'api_key' => 'YOUR_TEXTLOCAL_API_KEY', 'username' => 'YOUR_TEXTLOCAL_USERNAME', 'hash' => 'YOUR_TEXTLOCAL_HASH', 'sender' => 'TXTLCL' // 6 characters or less ], 'twofactor' => [ 'api_key' => '79d4feb6-d168-11ea-9fa5-0200cd936042' // Replace with your actual API key ], 'fast2sms' => [ 'api_key' => 'YOUR_FAST2SMS_API_KEY', 'route' => 'dlt', // DLT route for OTP 'sender_id' => 'FSTSMS' ] ]; } /** * Send OTP SMS */ public function sendOTP($mobileNumber, $otpCode, $templateMessage = null) { // Clean mobile number $mobileNumber = preg_replace('/[^0-9]/', '', $mobileNumber); // Remove leading zero if present if (substr($mobileNumber, 0, 1) === '0') { $mobileNumber = substr($mobileNumber, 1); } // Default OTP message if (!$templateMessage) { $templateMessage = "Your Relevant Reflex verification code is: {$otpCode}. Valid for 10 minutes. Do not share this with anyone."; } switch ($this->gateway) { case 'msg91': return $this->sendViaMSG91($mobileNumber, $otpCode, $templateMessage); case 'textlocal': return $this->sendViaTextLocal($mobileNumber, $templateMessage); case 'twofactor': return $this->sendViaTwoFactor($mobileNumber, $otpCode); case 'fast2sms': return $this->sendViaFast2SMS($mobileNumber, $templateMessage); default: return $this->mockSend($mobileNumber, $otpCode); // For testing } } /** * MSG91 SMS Gateway */ private function sendViaMSG91($mobileNumber, $otpCode, $message) { $config = $this->config['msg91']; $url = "https://api.msg91.com/api/v5/otp"; $data = [ 'template_id' => $config['template_id'], 'mobile' => $config['country'] . $mobileNumber, 'authkey' => $config['auth_key'], 'otp' => $otpCode, 'extra_param' => json_encode(['otp' => $otpCode]) ]; return $this->makeAPICall($url, $data, 'POST'); } /** * TextLocal SMS Gateway */ private function sendViaTextLocal($mobileNumber, $message) { $config = $this->config['textlocal']; $url = "https://api.textlocal.in/send/"; $data = [ 'apikey' => $config['api_key'], 'numbers' => '91' . $mobileNumber, 'message' => $message, 'sender' => $config['sender'] ]; return $this->makeAPICall($url, $data, 'POST'); } /** * 2Factor SMS Gateway */ private function sendViaTwoFactor($mobileNumber, $otpCode) { $config = $this->config['twofactor']; // Use AUTOGEN3 for pre-approved template (works immediately) $url = "https://2factor.in/API/V1/{$config['api_key']}/SMS/91{$mobileNumber}/{$otpCode}/AUTOGEN3"; return $this->makeAPICall($url, [], 'GET'); } /** * Fast2SMS Gateway */ private function sendViaFast2SMS($mobileNumber, $message) { $config = $this->config['fast2sms']; $url = "https://www.fast2sms.com/dev/bulkV2"; $data = [ 'authorization' => $config['api_key'], 'sender_id' => $config['sender_id'], 'message' => $message, 'route' => $config['route'], 'numbers' => $mobileNumber ]; $headers = [ 'authorization: ' . $config['api_key'], 'Content-Type: application/json' ]; return $this->makeAPICall($url, $data, 'POST', $headers); } /** * Mock SMS sending for testing */ private function mockSend($mobileNumber, $otpCode) { logError('Mock SMS sent', [ 'mobile' => $mobileNumber, 'otp' => $otpCode, 'message' => 'OTP for testing: ' . $otpCode ]); return [ 'success' => true, 'message' => 'SMS sent successfully (Mock)', 'reference_id' => 'MOCK_' . time() ]; } /** * Make API call to SMS gateway */ private function makeAPICall($url, $data, $method = 'POST', $headers = []) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); if ($method === 'POST') { curl_setopt($ch, CURLOPT_POST, true); if (!empty($data)) { if (empty($headers) || !in_array('Content-Type: application/json', $headers)) { curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); } else { curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); } } } if (!empty($headers)) { curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); } $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); curl_close($ch); if ($error) { logError('SMS API Error', ['error' => $error, 'url' => $url]); return [ 'success' => false, 'message' => 'Network error: ' . $error ]; } $decodedResponse = json_decode($response, true); logError('SMS API Response', [ 'url' => $url, 'http_code' => $httpCode, 'response' => $decodedResponse ?: $response ]); // Parse response based on gateway return $this->parseResponse($decodedResponse ?: $response, $httpCode); } /** * Parse SMS gateway response */ private function parseResponse($response, $httpCode) { if ($httpCode >= 200 && $httpCode < 300) { return [ 'success' => true, 'message' => 'SMS sent successfully', 'response' => $response ]; } else { return [ 'success' => false, 'message' => 'SMS sending failed', 'response' => $response ]; } } /** * Get available SMS balance (if supported by gateway) */ public function getBalance() { switch ($this->gateway) { case 'msg91': $config = $this->config['msg91']; $url = "https://api.msg91.com/api/balance.php?authkey={$config['auth_key']}&type=4"; return $this->makeAPICall($url, [], 'GET'); default: return ['success' => false, 'message' => 'Balance check not supported for this gateway']; } } } // Global SMS helper function function sendOTPSMS($mobileNumber, $otpCode) { $smsManager = new SMSManager(); return $smsManager->sendOTP($mobileNumber, $otpCode); } /* * SETUP INSTRUCTIONS FOR SMS GATEWAYS * =================================== * * 1. MSG91 Setup: * - Sign up at https://msg91.com/ * - Get Auth Key from dashboard * - Create OTP template and get Template ID * - Update auth_key and template_id in config above * * 2. TextLocal Setup: * - Sign up at https://www.textlocal.in/ * - Get API Key from settings * - Update api_key in config above * * 3. 2Factor Setup: * - Sign up at https://2factor.in/ * - Get API Key from dashboard * - Update api_key in config above * * 4. Fast2SMS Setup: * - Sign up at https://www.fast2sms.com/ * - Get API Key from dashboard * - Update api_key in config above * * TESTING: * - Set gateway to 'mock' for testing without sending real SMS * - Check errors.log for SMS logs * * USAGE IN YOUR CODE: * * require_once 'sms-config.php'; * * $result = sendOTPSMS('9876543210', '123456'); * if ($result['success']) { * echo "SMS sent successfully"; * } else { * echo "Failed to send SMS: " . $result['message']; * } * */ // Example DLT (Distributed Ledger Technology) approved template for India: /* * Template: "Your verification code for Relevant Reflex is {#var#}. Valid for 10 minutes. Do not share this OTP with anyone." * * Replace {#var#} with actual OTP in your template * Make sure to register this template with your SMS provider for DLT compliance */ ?> -------------------- END OF FILE -------------------- ### FILE 26: support.php - Type: PHP - Size: 44.18 KB - Path: . - Name: support.php ------------------------------------------------------------ logout(); } // Handle login form submission if ($_SERVER['REQUEST_METHOD'] === 'POST' && !$auth->isLoggedIn()) { $username = isset($_POST['username']) ? sanitize($_POST['username']) : ''; $password = isset($_POST['password']) ? $_POST['password'] : ''; $rememberMe = isset($_POST['remember_me']); if ($auth->login($username, $password, $rememberMe)) { header('Location: support.php'); exit; } else { $loginError = 'Invalid username or password.'; } } // Handle AJAX requests for logged-in admins if ($auth->isLoggedIn() && $_SERVER['REQUEST_METHOD'] === 'POST') { $action = isset($_POST['action']) ? $_POST['action'] : ''; $admin = $auth->getCurrentAdmin(); switch ($action) { // SUPPORT TICKET ACTIONS case 'update_status': $ticketId = isset($_POST['ticket_id']) ? intval($_POST['ticket_id']) : 0; $status = isset($_POST['status']) ? sanitize($_POST['status']) : ''; if ($ticketId && in_array($status, ['open', 'pending', 'resolved', 'closed'])) { $success = $auth->updateTicketStatus($ticketId, $status, $admin['id']); adminJsonResponse($success, $success ? 'Status updated successfully' : 'Failed to update status'); } else { adminJsonResponse(false, 'Invalid parameters'); } break; case 'assign_ticket': $ticketId = isset($_POST['ticket_id']) ? intval($_POST['ticket_id']) : 0; $adminId = isset($_POST['admin_id']) ? intval($_POST['admin_id']) : 0; if ($ticketId && $adminId) { $success = $auth->assignTicket($ticketId, $adminId); adminJsonResponse($success, $success ? 'Ticket assigned successfully' : 'Failed to assign ticket'); } else { adminJsonResponse(false, 'Invalid parameters'); } break; case 'add_reply': $ticketId = isset($_POST['ticket_id']) ? intval($_POST['ticket_id']) : 0; $message = isset($_POST['message']) ? trim($_POST['message']) : ''; $isInternal = isset($_POST['is_internal']) ? (bool)$_POST['is_internal'] : false; if ($ticketId && $message) { $success = $auth->addTicketReply($ticketId, $message, $admin['id'], $isInternal); adminJsonResponse($success, $success ? 'Reply added successfully' : 'Failed to add reply'); } else { adminJsonResponse(false, 'Message cannot be empty'); } break; // REDEMPTION MANAGEMENT ACTIONS case 'update_redemption_status': $redemptionId = isset($_POST['redemption_id']) ? intval($_POST['redemption_id']) : 0; $newStatus = isset($_POST['status']) ? sanitize($_POST['status']) : ''; $adminNotes = isset($_POST['admin_notes']) ? sanitize($_POST['admin_notes']) : ''; if (!in_array($newStatus, ['pending', 'processing', 'completed', 'failed', 'cancelled'])) { adminJsonResponse(false, 'Invalid status'); } if ($redemptionId && $newStatus) { $success = $auth->updateRedemptionStatus($redemptionId, $newStatus, $adminNotes, $admin['id']); adminJsonResponse($success, $success ? 'Redemption status updated successfully' : 'Failed to update status'); } else { adminJsonResponse(false, 'Invalid parameters'); } break; case 'create_admin': $username = isset($_POST['new_username']) ? sanitize($_POST['new_username']) : ''; $email = isset($_POST['new_email']) ? sanitize($_POST['new_email']) : ''; $password = isset($_POST['new_password']) ? $_POST['new_password'] : ''; $fullName = isset($_POST['new_full_name']) ? sanitize($_POST['new_full_name']) : ''; $role = isset($_POST['new_role']) ? sanitize($_POST['new_role']) : 'admin'; if ($username && $email && $password && $fullName) { $success = $auth->createAdmin($username, $email, $password, $fullName, $role); adminJsonResponse($success, $success ? 'Admin user created successfully' : 'Failed to create admin user (username or email may already exist)'); } else { adminJsonResponse(false, 'All fields are required'); } break; default: adminJsonResponse(false, 'Invalid action'); } } // If admin is logged in, get data if ($auth->isLoggedIn()) { $admin = $auth->getCurrentAdmin(); // Get current tab $currentTab = isset($_GET['tab']) ? sanitize($_GET['tab']) : 'tickets'; // Get filters from URL $statusFilter = isset($_GET['status']) ? sanitize($_GET['status']) : null; $priorityFilter = isset($_GET['priority']) ? sanitize($_GET['priority']) : null; $dateFilter = isset($_GET['date_filter']) ? sanitize($_GET['date_filter']) : null; $page = isset($_GET['page']) ? max(1, intval($_GET['page'])) : 1; $limit = 25; $offset = ($page - 1) * $limit; // Get specific ticket if viewing one $viewTicketId = isset($_GET['ticket']) ? intval($_GET['ticket']) : null; $viewTicket = null; $ticketMessages = []; if ($viewTicketId) { $viewTicket = $auth->getTicketById($viewTicketId); if ($viewTicket) { $ticketMessages = $auth->getTicketMessages($viewTicketId, true); } } // Get specific redemption if viewing one $viewRedemptionId = isset($_GET['redemption']) ? intval($_GET['redemption']) : null; $viewRedemption = null; if ($viewRedemptionId) { $viewRedemption = $auth->getRedemptionById($viewRedemptionId); } // Get data based on current tab if ($currentTab === 'redemptions') { $redemptions = $auth->getAllRedemptions($statusFilter, $dateFilter, $limit, $offset); $redemptionStats = $auth->getRedemptionStats(); } else { $tickets = $auth->getAllTickets($statusFilter, $priorityFilter, $limit, $offset); $ticketStats = $auth->getTicketStats(); } $adminUsers = $auth->getAdminUsers(); } ?> <?php echo $auth->isLoggedIn() ? 'Admin Panel - Support & Redemption Management' : 'Admin Login'; ?> | Relevant Reflex

Admin Panel

isLoggedIn()): ?> Support & Redemption Management System Please log in to access the admin panel

isLoggedIn()): ?>
isLoggedIn()): ?>
Pending Amount

Ticket:

User:

Status:

Priority:

Created:

Conversation
Internal

No Tickets Found

No support tickets match your current filters.

|

Created: | messages


Redemption Request Details

Request ID:

User:

Amount:

Points: points

UPI ID:

Status:

Created:

Processed:

Processed by:

Admin Notes:
User Points Summary:
Current Balance: points | Total Earned: points | Total Redeemed: points
No Redemptions Found

No redemption requests match your current filters.

( points)

User:

UPI:

Created:

by
-------------------- END OF FILE -------------------- ### FILE 27: terms.php - Type: PHP - Size: 33.34 KB - Path: . - Name: terms.php ------------------------------------------------------------ Terms and Conditions - Relevant Reflex | Platform Usage Agreement
Last Updated: December 2024 | Effective Date: January 1, 2025
Welcome to Relevant Reflex!
These Terms and Conditions ("Terms") govern your use of our online survey platform and related services. Please read them carefully.

1Acceptance of Terms

By using Relevant Reflex's services, you acknowledge that you have read, understood, and agree to be bound by these Terms, as well as our Privacy Policy.

If you do not agree with any part of these terms, you must not use our services. Your continued use of the platform constitutes acceptance of any modifications to these Terms.

2Eligibility

2.1 Age Requirement

You must be at least 18 years old to use our services. By registering, you represent and warrant that you meet this age requirement.

2.2 Geographic Requirement

You must be a resident of India to participate in our surveys and receive rewards. This helps us provide relevant survey opportunities and comply with local regulations.

2.3 Account Limitations

You may only maintain one account with Relevant Reflex. Multiple accounts from the same individual are prohibited and may result in account suspension.

3Account Registration and Security

3.1 Account Responsibility

You are responsible for:

  • Maintaining the confidentiality of your account information
  • All activities that occur under your account
  • Notifying us immediately of any unauthorized use
  • Ensuring your login credentials are secure

3.2 Accurate Information

You agree to provide accurate and up-to-date information during registration and throughout your use of our services. False or misleading information may result in account termination.

3.3 Account Verification

You must verify your email address and may be required to provide additional verification for account security or compliance purposes.

4Survey Participation

4.1 Honest Responses

You agree to provide honest and thoughtful responses to surveys. Quality responses are essential for meaningful research.

4.2 Survey Qualification

We reserve the right to disqualify you from a survey if we detect:

  • Fraudulent or inconsistent responses
  • Use of automated tools or bots
  • Excessively fast completion times
  • Random or nonsensical answers

4.3 Survey Availability

Survey opportunities are based on your demographic profile and survey requirements. We cannot guarantee specific numbers or types of surveys.

Important: Completion of a survey does not guarantee reward if disqualified for quality reasons. We maintain strict quality standards to ensure valuable research data.

5Rewards and Payments

5.1 Reward Distribution

Rewards will be issued as per the terms specified for each survey. Typical processing times are:

  • Survey validation: 1-5 business days
  • Payment processing: 3-7 business days
  • Bank transfer: 2-3 additional business days

5.2 Reward Modifications

We reserve the right to modify, suspend, or terminate the reward system at any time with reasonable notice to members.

5.3 Reward Restrictions

Unless specified otherwise:

  • Rewards are non-transferable between accounts
  • Rewards cannot be exchanged for cash in all cases
  • Minimum payout thresholds may apply
  • Payment methods may be limited based on location

5.4 Tax Responsibilities

You are responsible for reporting and paying any applicable taxes on rewards received. We may provide necessary documentation for tax purposes.

6Intellectual Property

6.1 Platform Content

All content on our website, including text, graphics, logos, images, and software, is the property of Relevant Reflex or its licensors and is protected by copyright laws.

6.2 Usage Restrictions

You may not:

  • Use, reproduce, or distribute our content without express written permission
  • Modify or create derivative works from our platform
  • Reverse engineer any part of our services
  • Use our trademarks or branding without authorization

6.3 User-Generated Content

By providing survey responses and feedback, you grant us a non-exclusive, royalty-free license to use this information for research and platform improvement purposes.

7Prohibited Conduct

You agree NOT to engage in any of the following activities:

7.1 Technical Violations

  • Use automated means (bots, scripts) to access our services or complete surveys
  • Attempt to interfere with the proper functioning of our website
  • Circumvent any security measures or access controls
  • Use VPNs or proxy services to mask your location

7.2 Identity and Fraud

  • Impersonate any person or entity
  • Create multiple accounts
  • Provide false personal information
  • Share account credentials with others

7.3 Legal Violations

  • Engage in any activity that violates applicable law or regulation
  • Violate the rights of other users or third parties
  • Transmit harmful, threatening, or offensive content
  • Engage in harassment or discrimination
Enforcement: Violation of these terms may result in immediate account suspension or termination, forfeiture of rewards, and potential legal action.

8Termination

8.1 Termination by Us

We reserve the right to suspend or terminate your account at our discretion, without notice, for:

  • Violation of these Terms
  • Fraudulent activity
  • Extended inactivity (24+ months)
  • Legal or regulatory requirements

8.2 Termination by You

You may terminate your account at any time by:

  • Using the account deletion option in your settings
  • Contacting our support team
  • Sending a written request to support@relevantreflex.com

8.3 Effects of Termination

Upon termination:

  • Your access to the platform will be immediately revoked
  • Pending rewards may be forfeited (depending on circumstances)
  • Your personal data will be handled according to our Privacy Policy
  • Certain provisions of these Terms will survive termination

9Limitation of Liability

9.1 Service Disclaimer

Our services are provided "as is" without warranties of any kind. We do not guarantee:

  • Uninterrupted or error-free service
  • Specific survey availability or earnings
  • Compatibility with all devices or browsers
  • Accuracy of third-party content

9.2 Liability Limitations

Relevant Reflex is not liable for any indirect, incidental, special, or consequential damages, including:

  • Loss of profits or earnings
  • Business interruption
  • Data loss or corruption
  • Emotional distress

9.3 Maximum Liability

Our total liability for any claim arising from these Terms shall not exceed the amount paid to you in the past 12 months, or ₹1,000, whichever is greater.

10Indemnification

You agree to indemnify and hold Relevant Reflex harmless from any claims, losses, or damages arising from:

  • Your use of our services
  • Violation of these Terms
  • Violation of any law or regulation
  • Infringement of third-party rights
  • Your survey responses or other content

11Privacy Policy

Your privacy is important to us. Our Privacy Policy explains how we collect, use, and protect your information. By using our services, you also agree to our Privacy Policy.

Key privacy principles:

  • We never sell your personal data to third parties
  • Your survey responses are anonymized for research
  • You control your data and can request deletion
  • We use industry-standard security measures

12Changes to Terms

12.1 Modification Process

We may modify these Terms at any time. When we make changes, we will:

  • Update the "Last Modified" date
  • Notify active users via email
  • Provide a summary of significant changes
  • Allow reasonable time for review (minimum 30 days for material changes)

12.2 Acceptance of Changes

Continued use of our services after changes constitutes acceptance of the modified Terms. If you disagree with changes, you should terminate your account before they take effect.

13Governing Law and Jurisdiction

13.1 Applicable Law

These Terms are governed by the laws of India, without regard to conflict of law principles.

13.2 Jurisdiction

Any disputes shall be subject to the exclusive jurisdiction of the courts in Tamil Nadu, India.

13.3 Dispute Resolution

Before pursuing legal action, we encourage users to:

  • Contact our support team to resolve issues
  • Allow 30 days for resolution attempts
  • Consider mediation for complex disputes

14Contact Information

If you have questions about these Terms, please contact us:

General Support

support@relevantreflex.com
Response within 24 hours

Legal Inquiries

legal@relevantreflex.com
Response within 5 business days

Mailing Address

Relevant Reflex
Ethirmedu, NH 544
Tamilnadu - 638183
India

Thank you for using Relevant Reflex!
We appreciate your participation in our survey community and your commitment to providing quality responses.
-------------------- END OF FILE -------------------- ### FILE 28: ticket-guide.php - Type: PHP - Size: 32.5 KB - Path: . - Name: ticket-guide.php ------------------------------------------------------------ Support Ticket Guide - How It Works | Relevant Reflex

Getting Started

Our support ticket system is designed to provide you with efficient, trackable help for any issues or questions you may have. Each ticket gets a unique number and goes through a structured process to ensure nothing gets missed.

How to Create a Support Ticket
  1. Login to your account - Visit your dashboard
  2. Go to Support section - Click "Support" in the navigation
  3. Fill out the form - Provide subject and detailed description
  4. Choose priority - Select appropriate urgency level
  5. Submit ticket - You'll get a unique ticket number

Understanding Ticket Statuses

Every support ticket goes through different statuses as our team works to resolve your issue. Here's what each status means:

🟡 OPEN

What it means: Your ticket has been received and is waiting for our support team to review it.

What happens next: A support agent will review your issue and respond with initial guidance or questions.

Can you reply? ✅ Yes, you can add more information anytime.

🔵 PENDING

What it means: Our support team has responded and is waiting for your reply or action.

What happens next: Please check your email and dashboard for our response. We may need more information or be waiting for you to try a suggested solution.

Can you reply? ✅ Yes, please respond to keep the conversation going.

🟢 RESOLVED

What it means: Our team believes your issue has been solved, but we want to make sure!

What happens next: Please test the solution and let us know if it worked. If the issue persists, just reply and we'll reopen the ticket.

Can you reply? ✅ Yes, you can confirm the fix worked or report if issues continue.

🔴 CLOSED

What it means: Your issue has been completely resolved and the ticket is archived.

What happens next: Nothing! Your issue is solved. If you have a new problem, please create a new ticket.

Can you reply? ❌ No, closed tickets cannot be reopened. Please create a new ticket for new issues.

Priority Levels

When creating a ticket, choose the priority level that best matches your situation:

🟢 LOW General Questions
24-48 hours

Use for: How-to questions, feature requests, general inquiries

🟡 MEDIUM Standard Issues
12-24 hours

Use for: Account issues, survey problems, payment questions

🟠 HIGH Urgent Problems
4-8 hours

Use for: Cannot access account, missing payments, data issues

🔴 URGENT Critical Issues
1-2 hours

Use for: Security concerns, service outages, data loss

Typical Workflow

📧 Example: "I can't access my account"
Day 1 - You create ticket

🟡 OPEN "I can't log in to my account"

Day 1 - We respond (4 hours later)

🔵 PENDING "Can you try resetting your password? Click here..."

Day 2 - You reply

🔵 PENDING "I tried but didn't receive the reset email"

Day 2 - We investigate and fix

🟢 RESOLVED "Found the issue - email was blocked. Fixed it and reset your password to: [new password]"

Day 2 - You confirm

🟢 RESOLVED "Perfect! I can log in now. Thank you!"

Day 3 - We close ticket

🔴 CLOSED Issue resolved successfully.

Response Times

We strive to respond to all tickets promptly. Our target response times are:

🕐 Business Hours

Monday-Friday: 9:00 AM - 6:00 PM IST
Saturday: 10:00 AM - 4:00 PM IST
Sunday: Closed (emergency only)

🚀 Response Goals

Urgent: Within 2 hours
High: Within 8 hours
Medium: Within 24 hours
Low: Within 48 hours

Pro Tip

Response times are for first response. Complex issues may require multiple exchanges, but we'll keep you updated on progress throughout the resolution process.

Best Practices

✅ DO
  • Be specific - Include error messages, screenshots
  • One issue per ticket - Don't combine multiple problems
  • Choose correct priority - Be honest about urgency
  • Respond promptly - Reply to our questions quickly
  • Provide context - When did it start? What changed?
  • Be patient - Allow time for investigation
❌ DON'T
  • Create duplicate tickets - One ticket per issue
  • Mark everything urgent - Saves urgent for real emergencies
  • Leave out details - More info = faster resolution
  • Use inappropriate channels - Keep support in tickets
  • Get impatient - Quality takes time
  • Close tickets too early - Make sure it's really fixed

Good Ticket Examples

🎯 GOOD Example

Subject: Cannot complete survey ID #12345 - browser crashes

Priority: Medium

Description: "Hi, I'm trying to complete survey #12345 'Shopping Preferences' but on question 8 (the one about brands), my browser (Chrome v91 on Windows 10) crashes and closes. This has happened 3 times now. I've tried clearing my cache and using incognito mode, but same issue. I need to complete this survey by Friday to get the reward. Screenshots attached."

Why this is good: Specific survey ID, exact problem description, browser details, steps already tried, deadline mentioned, screenshots included.
❌ POOR Example

Subject: Survey not working

Priority: Urgent

Description: "Your surveys don't work. Fix it."

Why this is poor: No specific details, wrong priority level, no context, rude tone, impossible to diagnose.

Frequently Asked Questions

Q: Can I reply to a resolved ticket?

A: Yes! If the solution didn't work or you have follow-up questions, just reply to the resolved ticket. We'll reopen it and continue helping.

Q: What happens if I don't respond to a pending ticket?

A: We'll wait 7 days for your response. After that, we'll send a reminder. If there's no response after 14 days, we'll mark it as resolved.

Q: Can I change the priority of my ticket?

A: You can mention in a reply if urgency has changed, but our support team manages priority levels based on actual impact and urgency.

Q: How do I know when you reply to my ticket?

A: You'll receive an email notification and can also check your dashboard support section for updates.

Q: Can I call for support instead?

A: We primarily use tickets to ensure nothing gets lost and maintain quality records. For complex issues, our team may schedule a call as part of the resolution process.

-------------------- END OF FILE -------------------- ### FILE 29: update-ticket-status.php - Type: PHP - Size: 2.93 KB - Path: . - Name: update-ticket-status.php ------------------------------------------------------------ isLoggedIn()) { throw new Exception('Admin authentication required'); } // Only handle POST requests if ($_SERVER['REQUEST_METHOD'] !== 'POST') { throw new Exception('Only POST requests allowed'); } $admin = $auth->getCurrentAdmin(); $ticketId = isset($_POST['ticket_id']) ? intval($_POST['ticket_id']) : 0; $status = isset($_POST['status']) ? trim($_POST['status']) : ''; // Validate input if ($ticketId <= 0) { throw new Exception('Invalid ticket ID'); } if (empty($status)) { throw new Exception('Status is required'); } $validStatuses = ['open', 'pending', 'resolved', 'closed']; if (!in_array($status, $validStatuses)) { throw new Exception('Invalid status. Must be: ' . implode(', ', $validStatuses)); } // Database update $db = new Database(); $pdo = $db->getConnection(); // Get current ticket info $stmt = $pdo->prepare("SELECT id, ticket_number, status FROM support_tickets WHERE id = ?"); $stmt->execute([$ticketId]); $ticket = $stmt->fetch(); if (!$ticket) { throw new Exception('Ticket not found'); } // Update status $stmt = $pdo->prepare(" UPDATE support_tickets SET status = ?, resolved_at = CASE WHEN ? = 'resolved' THEN NOW() ELSE resolved_at END, updated_at = NOW() WHERE id = ? "); $result = $stmt->execute([$status, $status, $ticketId]); if (!$result || $stmt->rowCount() === 0) { throw new Exception('Failed to update ticket status'); } // Log the success logError('Ticket status updated successfully', [ 'ticket_id' => $ticketId, 'ticket_number' => $ticket['ticket_number'], 'old_status' => $ticket['status'], 'new_status' => $status, 'admin_id' => $admin['id'], 'admin_username' => $admin['username'] ]); // Return success echo json_encode([ 'success' => true, 'message' => 'Status updated successfully', 'ticket_id' => $ticketId, 'ticket_number' => $ticket['ticket_number'], 'old_status' => $ticket['status'], 'new_status' => $status, 'updated_by' => $admin['full_name'] ]); } catch (Exception $e) { // Return error echo json_encode([ 'success' => false, 'message' => $e->getMessage(), 'debug_info' => [ 'ticket_id' => $ticketId ?? 'not_provided', 'status' => $status ?? 'not_provided', 'admin_logged_in' => $auth->isLoggedIn(), 'request_method' => $_SERVER['REQUEST_METHOD'] ] ]); } ?> -------------------- END OF FILE -------------------- ### FILE 30: user-support.php - Type: PHP - Size: 17.8 KB - Path: . - Name: user-support.php ------------------------------------------------------------ redirectToLogin('Session expired. Please log in again.'); } // Initialize database try { $db = new Database(); $pdo = $db->getConnection(); } catch (Exception $e) { logError('Database connection failed in user-support.php: ' . $e->getMessage()); if ($_SERVER['REQUEST_METHOD'] === 'POST') { jsonResponse(false, 'System error. Please try again later.'); } else { die('System error. Please try again later.'); } } // Handle POST request - Create new ticket if ($_SERVER['REQUEST_METHOD'] === 'POST' && !isset($_GET['ticket'])) { $subject = isset($_POST['subject']) ? sanitize($_POST['subject']) : ''; $message = isset($_POST['message']) ? trim($_POST['message']) : ''; $priority = isset($_POST['priority']) ? sanitize($_POST['priority']) : 'medium'; // Validation if (empty($subject) || empty($message)) { jsonResponse(false, 'Subject and message are required.'); } if (strlen($subject) > 255) { jsonResponse(false, 'Subject must be 255 characters or less.'); } if (strlen($message) > 5000) { jsonResponse(false, 'Message must be 5000 characters or less.'); } if (!in_array($priority, ['low', 'medium', 'high', 'urgent'])) { $priority = 'medium'; } try { $pdo->beginTransaction(); // Generate unique ticket number $ticketNumber = 'TKT-' . date('Ymd') . '-' . strtoupper(substr(uniqid(), -4)); // Check if ticket number already exists (very unlikely but let's be safe) $stmt = $pdo->prepare("SELECT id FROM support_tickets WHERE ticket_number = ?"); $stmt->execute([$ticketNumber]); if ($stmt->fetch()) { // Generate a new one if it exists $ticketNumber = 'TKT-' . date('Ymd') . '-' . strtoupper(substr(uniqid(), -6)); } // Insert support ticket $stmt = $pdo->prepare(" INSERT INTO support_tickets (ticket_number, user_id, subject, status, priority) VALUES (?, ?, ?, 'open', ?) "); $stmt->execute([$ticketNumber, $user['id'], $subject, $priority]); $ticketId = $pdo->lastInsertId(); // Insert initial message $stmt = $pdo->prepare(" INSERT INTO support_messages (ticket_id, sender_type, sender_id, message) VALUES (?, 'user', ?, ?) "); $stmt->execute([$ticketId, $user['id'], $message]); $pdo->commit(); logError('Support ticket created', [ 'ticket_number' => $ticketNumber, 'user_id' => $user['id'], 'subject' => $subject, 'priority' => $priority ]); jsonResponse(true, 'Support ticket created successfully.', ['ticket_number' => $ticketNumber]); } catch (Exception $e) { $pdo->rollBack(); logError('Error creating support ticket', ['user_id' => $user['id'], 'error' => $e->getMessage()]); jsonResponse(false, 'Failed to create support ticket. Please try again.'); } } // Handle GET request - View specific ticket if (isset($_GET['ticket'])) { $ticketNumber = sanitize($_GET['ticket']); try { // Get ticket details $stmt = $pdo->prepare(" SELECT st.*, au.full_name as assigned_to_name FROM support_tickets st LEFT JOIN admin_users au ON st.assigned_to = au.id WHERE st.ticket_number = ? AND st.user_id = ? "); $stmt->execute([$ticketNumber, $user['id']]); $ticket = $stmt->fetch(); if (!$ticket) { header('Location: dashboard.php#support'); exit; } // Get all messages for this ticket $stmt = $pdo->prepare(" SELECT sm.*, CASE WHEN sm.sender_type = 'user' THEN u.email WHEN sm.sender_type = 'admin' THEN au.full_name END as sender_name FROM support_messages sm LEFT JOIN users u ON sm.sender_type = 'user' AND sm.sender_id = u.id LEFT JOIN admin_users au ON sm.sender_type = 'admin' AND sm.sender_id = au.id WHERE sm.ticket_id = ? AND sm.is_internal = 0 ORDER BY sm.created_at ASC "); $stmt->execute([$ticket['id']]); $messages = $stmt->fetchAll(); } catch (Exception $e) { logError('Error fetching ticket details', ['ticket_number' => $ticketNumber, 'error' => $e->getMessage()]); header('Location: dashboard.php#support'); exit; } } // Handle POST request for adding reply to existing ticket if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_GET['ticket'])) { $ticketNumber = sanitize($_GET['ticket']); $message = isset($_POST['reply']) ? trim($_POST['reply']) : ''; if (empty($message)) { jsonResponse(false, 'Reply message is required.'); } if (strlen($message) > 5000) { jsonResponse(false, 'Reply must be 5000 characters or less.'); } try { // Verify ticket belongs to user and is not closed $stmt = $pdo->prepare("SELECT id, status FROM support_tickets WHERE ticket_number = ? AND user_id = ?"); $stmt->execute([$ticketNumber, $user['id']]); $ticket = $stmt->fetch(); if (!$ticket) { jsonResponse(false, 'Ticket not found.'); } if ($ticket['status'] === 'closed') { jsonResponse(false, 'Cannot reply to a closed ticket.'); } // Insert reply $stmt = $pdo->prepare(" INSERT INTO support_messages (ticket_id, sender_type, sender_id, message) VALUES (?, 'user', ?, ?) "); $stmt->execute([$ticket['id'], $user['id'], $message]); // Update ticket status to 'open' if it was 'resolved' if ($ticket['status'] === 'resolved') { $stmt = $pdo->prepare("UPDATE support_tickets SET status = 'open' WHERE id = ?"); $stmt->execute([$ticket['id']]); } logError('Support ticket reply added', [ 'ticket_number' => $ticketNumber, 'user_id' => $user['id'] ]); jsonResponse(true, 'Reply added successfully.'); } catch (Exception $e) { logError('Error adding ticket reply', ['ticket_number' => $ticketNumber, 'error' => $e->getMessage()]); jsonResponse(false, 'Failed to add reply. Please try again.'); } } // If we're here, it means we're displaying a specific ticket ?> <?php echo isset($ticket) ? 'Support Ticket #' . $ticket['ticket_number'] : 'Support'; ?> - Relevant Reflex
Back to Dashboard

Support Ticket #

Support Center

We're here to help you with any questions or issues.

Ticket Details
Ticket Number:
Status:
Priority:
Timeline
Created:
Last Updated:
Assigned To:
You (Support Team)
Add Reply
Maximum 5000 characters
This ticket has been closed. If you need further assistance, please create a new ticket.

Invalid Request

The requested ticket could not be found or you don't have permission to view it.

Back to Support Center
-------------------- END OF FILE -------------------- ### FILE 31: verify.php - Type: PHP - Size: 11.35 KB - Path: . - Name: verify.php ------------------------------------------------------------ getConnection(); // Start transaction $pdo->beginTransaction(); // Find the verification token $stmt = $pdo->prepare(" SELECT ev.user_id, ev.expires_at, u.email, u.email_verified FROM email_verifications ev JOIN users u ON ev.user_id = u.id WHERE ev.token = ? AND ev.expires_at > NOW() "); $stmt->execute([$token]); $verification = $stmt->fetch(); if (!$verification) { // Check if token exists but is expired $stmt = $pdo->prepare(" SELECT ev.expires_at, u.email FROM email_verifications ev JOIN users u ON ev.user_id = u.id WHERE ev.token = ? "); $stmt->execute([$token]); $expiredToken = $stmt->fetch(); if ($expiredToken) { showVerificationPage(false, 'Verification Link Expired', 'This verification link has expired. Please register again to receive a new verification email.'); } else { showVerificationPage(false, 'Invalid Verification Link', 'This verification link is invalid or has already been used. If you need a new verification email, please register again.'); } } // Check if email is already verified if ($verification['email_verified']) { showVerificationPage(true, 'Email Already Verified', 'Your email has already been verified. You can now log in to your account.'); } // Update user status $stmt = $pdo->prepare(" UPDATE users SET email_verified = 1, status = 'active', updated_at = NOW() WHERE id = ? "); $stmt->execute([$verification['user_id']]); // Delete used verification token $stmt = $pdo->prepare("DELETE FROM email_verifications WHERE token = ?"); $stmt->execute([$token]); // Commit transaction $pdo->commit(); // Log successful verification logError('Email verification successful', [ 'user_id' => $verification['user_id'], 'email' => $verification['email'] ]); showVerificationPage(true, 'Email Verified Successfully!', 'Your email has been verified successfully. Your account is now active and you can start taking surveys.'); } catch (PDOException $e) { // Rollback transaction on error if ($pdo->inTransaction()) { $pdo->rollback(); } logError('Database error during email verification', [ 'error' => $e->getMessage(), 'token' => substr($token, 0, 10) . '...' // Log partial token for debugging ]); showVerificationPage(false, 'Verification Failed', 'We encountered a system error while verifying your email. Please try again later or contact support.'); } catch (Exception $e) { // Rollback transaction on error if ($pdo->inTransaction()) { $pdo->rollback(); } logError('General error during email verification', [ 'error' => $e->getMessage(), 'token' => substr($token, 0, 10) . '...' ]); showVerificationPage(false, 'Verification Failed', 'An unexpected error occurred. Please try again later or contact support.'); } function showVerificationPage($success, $title, $message) { $statusClass = $success ? 'success' : 'error'; $statusColor = $success ? '#28a745' : '#dc3545'; $iconClass = $success ? 'fa-check-circle' : 'fa-exclamation-triangle'; ?> <?php echo htmlspecialchars($title); ?> - Relevant Reflex
-------------------- END OF FILE -------------------- ### FILE 32: assets/css/bootstrap.min.css - Type: CSS - Size: 149.52 KB - Path: assets/css - Name: bootstrap.min.css ------------------------------------------------------------ @charset "UTF-8";/*! * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors * Copyright 2011-2020 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.3333333333%}.col-xxl-2{flex:0 0 auto;width:16.6666666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.3333333333%}.col-xxl-5{flex:0 0 auto;width:41.6666666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.3333333333%}.col-xxl-8{flex:0 0 auto;width:66.6666666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.3333333333%}.col-xxl-11{flex:0 0 auto;width:91.6666666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.3333333333%}.offset-xxl-2{margin-left:16.6666666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.3333333333%}.offset-xxl-5{margin-left:41.6666666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.3333333333%}.offset-xxl-8{margin-left:66.6666666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.3333333333%}.offset-xxl-11{margin-left:91.6666666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg),var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-check-input{transition:none}}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[style]{right:auto!important}.dropdown-menu-start{--bs-position:start;right:auto;left:0}.dropdown-menu-end{--bs-position:end;right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start;right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end;right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start;right:auto;left:0}.dropdown-menu-md-end{--bs-position:end;right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start;right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end;right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start;right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end;right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start;right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end;right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-collapse{display:flex!important}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;background-color:transparent;border:1px solid rgba(0,0,0,.125);border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button.collapsed{border-bottom-width:0}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item:first-of-type .accordion-button{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-width:1px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-collapse{border-bottom-width:1px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-collapse{border:solid rgba(0,0,0,.125);border-width:0 1px}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-button{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item:first-of-type .accordion-button{border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-width:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top],.bs-popover-top{margin-bottom:.5rem!important}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right],.bs-popover-end{margin-left:.5rem!important}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom],.bs-popover-bottom{margin-top:.5rem!important}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left],.bs-popover-start{margin-right:.5rem!important}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators li{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--aspect-ratio:100%}.ratio-4x3{--aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-0{border-width:0!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}.fs-sm-1{font-size:2.5rem!important}.fs-sm-2{font-size:2rem!important}.fs-sm-3{font-size:1.75rem!important}.fs-sm-4{font-size:1.5rem!important}.fs-md-1{font-size:2.5rem!important}.fs-md-2{font-size:2rem!important}.fs-md-3{font-size:1.75rem!important}.fs-md-4{font-size:1.5rem!important}.fs-lg-1{font-size:2.5rem!important}.fs-lg-2{font-size:2rem!important}.fs-lg-3{font-size:1.75rem!important}.fs-lg-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} /*# sourceMappingURL=bootstrap.min.css.map */ -------------------- END OF FILE -------------------- ### FILE 33: assets/css/custom.css - Type: CSS - Size: 17 B - Path: assets/css - Name: custom.css ------------------------------------------------------------ /* Custom Css */ -------------------- END OF FILE -------------------- ### FILE 34: assets/css/fontawesome.css - Type: CSS - Size: 71.9 KB - Path: assets/css - Name: fontawesome.css ------------------------------------------------------------ /*! * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */ .fa, .fas, .far, .fal, .fad, .fab { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; } .fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -.0667em; } .fa-xs { font-size: .75em; } .fa-sm { font-size: .875em; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: 2.5em; padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: -2em; position: absolute; text-align: center; width: 2em; line-height: inherit; } .fa-border { border: solid 0.08em #eee; border-radius: .1em; padding: .2em .25em .15em; } .fa-pull-left { float: left; } .fa-pull-right { float: right; } .fa.fa-pull-left, .fas.fa-pull-left, .far.fa-pull-left, .fal.fa-pull-left, .fab.fa-pull-left { margin-right: .3em; } .fa.fa-pull-right, .fas.fa-pull-right, .far.fa-pull-right, .fal.fa-pull-right, .fab.fa-pull-right { margin-left: .3em; } .fa-spin { -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; } .fa-pulse { -webkit-animation: fa-spin 1s infinite steps(8); animation: fa-spin 1s infinite steps(8); } @-webkit-keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes fa-spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .fa-rotate-90 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; -webkit-transform: rotate(90deg); transform: rotate(90deg); } .fa-rotate-180 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; -webkit-transform: rotate(180deg); transform: rotate(180deg); } .fa-rotate-270 { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; -webkit-transform: rotate(270deg); transform: rotate(270deg); } .fa-flip-horizontal { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; -webkit-transform: scale(-1, 1); transform: scale(-1, 1); } .fa-flip-vertical { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(1, -1); transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -webkit-transform: scale(-1, -1); transform: scale(-1, -1); } :root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical, :root .fa-flip-both { -webkit-filter: none; filter: none; } .fa-stack { display: inline-block; height: 2em; line-height: 2em; position: relative; vertical-align: middle; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { left: 0; position: absolute; text-align: center; width: 100%; } .fa-stack-1x { line-height: inherit; } .fa-stack-2x { font-size: 2em; } .fa-inverse { color: #fff; } /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */ .fa-500px:before { content: "\f26e"; } .fa-accessible-icon:before { content: "\f368"; } .fa-accusoft:before { content: "\f369"; } .fa-acquisitions-incorporated:before { content: "\f6af"; } .fa-ad:before { content: "\f641"; } .fa-address-book:before { content: "\f2b9"; } .fa-address-card:before { content: "\f2bb"; } .fa-adjust:before { content: "\f042"; } .fa-adn:before { content: "\f170"; } .fa-adversal:before { content: "\f36a"; } .fa-affiliatetheme:before { content: "\f36b"; } .fa-air-freshener:before { content: "\f5d0"; } .fa-airbnb:before { content: "\f834"; } .fa-algolia:before { content: "\f36c"; } .fa-align-center:before { content: "\f037"; } .fa-align-justify:before { content: "\f039"; } .fa-align-left:before { content: "\f036"; } .fa-align-right:before { content: "\f038"; } .fa-alipay:before { content: "\f642"; } .fa-allergies:before { content: "\f461"; } .fa-amazon:before { content: "\f270"; } .fa-amazon-pay:before { content: "\f42c"; } .fa-ambulance:before { content: "\f0f9"; } .fa-american-sign-language-interpreting:before { content: "\f2a3"; } .fa-amilia:before { content: "\f36d"; } .fa-anchor:before { content: "\f13d"; } .fa-android:before { content: "\f17b"; } .fa-angellist:before { content: "\f209"; } .fa-angle-double-down:before { content: "\f103"; } .fa-angle-double-left:before { content: "\f100"; } .fa-angle-double-right:before { content: "\f101"; } .fa-angle-double-up:before { content: "\f102"; } .fa-angle-down:before { content: "\f107"; } .fa-angle-left:before { content: "\f104"; } .fa-angle-right:before { content: "\f105"; } .fa-angle-up:before { content: "\f106"; } .fa-angry:before { content: "\f556"; } .fa-angrycreative:before { content: "\f36e"; } .fa-angular:before { content: "\f420"; } .fa-ankh:before { content: "\f644"; } .fa-app-store:before { content: "\f36f"; } .fa-app-store-ios:before { content: "\f370"; } .fa-apper:before { content: "\f371"; } .fa-apple:before { content: "\f179"; } .fa-apple-alt:before { content: "\f5d1"; } .fa-apple-pay:before { content: "\f415"; } .fa-archive:before { content: "\f187"; } .fa-archway:before { content: "\f557"; } .fa-arrow-alt-circle-down:before { content: "\f358"; } .fa-arrow-alt-circle-left:before { content: "\f359"; } .fa-arrow-alt-circle-right:before { content: "\f35a"; } .fa-arrow-alt-circle-up:before { content: "\f35b"; } .fa-arrow-circle-down:before { content: "\f0ab"; } .fa-arrow-circle-left:before { content: "\f0a8"; } .fa-arrow-circle-right:before { content: "\f0a9"; } .fa-arrow-circle-up:before { content: "\f0aa"; } .fa-arrow-down:before { content: "\f063"; } .fa-arrow-left:before { content: "\f060"; } .fa-arrow-right:before { content: "\f061"; } .fa-arrow-up:before { content: "\f062"; } .fa-arrows-alt:before { content: "\f0b2"; } .fa-arrows-alt-h:before { content: "\f337"; } .fa-arrows-alt-v:before { content: "\f338"; } .fa-artstation:before { content: "\f77a"; } .fa-assistive-listening-systems:before { content: "\f2a2"; } .fa-asterisk:before { content: "\f069"; } .fa-asymmetrik:before { content: "\f372"; } .fa-at:before { content: "\f1fa"; } .fa-atlas:before { content: "\f558"; } .fa-atlassian:before { content: "\f77b"; } .fa-atom:before { content: "\f5d2"; } .fa-audible:before { content: "\f373"; } .fa-audio-description:before { content: "\f29e"; } .fa-autoprefixer:before { content: "\f41c"; } .fa-avianex:before { content: "\f374"; } .fa-aviato:before { content: "\f421"; } .fa-award:before { content: "\f559"; } .fa-aws:before { content: "\f375"; } .fa-baby:before { content: "\f77c"; } .fa-baby-carriage:before { content: "\f77d"; } .fa-backspace:before { content: "\f55a"; } .fa-backward:before { content: "\f04a"; } .fa-bacon:before { content: "\f7e5"; } .fa-bacteria:before { content: "\e059"; } .fa-bacterium:before { content: "\e05a"; } .fa-bahai:before { content: "\f666"; } .fa-balance-scale:before { content: "\f24e"; } .fa-balance-scale-left:before { content: "\f515"; } .fa-balance-scale-right:before { content: "\f516"; } .fa-ban:before { content: "\f05e"; } .fa-band-aid:before { content: "\f462"; } .fa-bandcamp:before { content: "\f2d5"; } .fa-barcode:before { content: "\f02a"; } .fa-bars:before { content: "\f0c9"; } .fa-baseball-ball:before { content: "\f433"; } .fa-basketball-ball:before { content: "\f434"; } .fa-bath:before { content: "\f2cd"; } .fa-battery-empty:before { content: "\f244"; } .fa-battery-full:before { content: "\f240"; } .fa-battery-half:before { content: "\f242"; } .fa-battery-quarter:before { content: "\f243"; } .fa-battery-three-quarters:before { content: "\f241"; } .fa-battle-net:before { content: "\f835"; } .fa-bed:before { content: "\f236"; } .fa-beer:before { content: "\f0fc"; } .fa-behance:before { content: "\f1b4"; } .fa-behance-square:before { content: "\f1b5"; } .fa-bell:before { content: "\f0f3"; } .fa-bell-slash:before { content: "\f1f6"; } .fa-bezier-curve:before { content: "\f55b"; } .fa-bible:before { content: "\f647"; } .fa-bicycle:before { content: "\f206"; } .fa-biking:before { content: "\f84a"; } .fa-bimobject:before { content: "\f378"; } .fa-binoculars:before { content: "\f1e5"; } .fa-biohazard:before { content: "\f780"; } .fa-birthday-cake:before { content: "\f1fd"; } .fa-bitbucket:before { content: "\f171"; } .fa-bitcoin:before { content: "\f379"; } .fa-bity:before { content: "\f37a"; } .fa-black-tie:before { content: "\f27e"; } .fa-blackberry:before { content: "\f37b"; } .fa-blender:before { content: "\f517"; } .fa-blender-phone:before { content: "\f6b6"; } .fa-blind:before { content: "\f29d"; } .fa-blog:before { content: "\f781"; } .fa-blogger:before { content: "\f37c"; } .fa-blogger-b:before { content: "\f37d"; } .fa-bluetooth:before { content: "\f293"; } .fa-bluetooth-b:before { content: "\f294"; } .fa-bold:before { content: "\f032"; } .fa-bolt:before { content: "\f0e7"; } .fa-bomb:before { content: "\f1e2"; } .fa-bone:before { content: "\f5d7"; } .fa-bong:before { content: "\f55c"; } .fa-book:before { content: "\f02d"; } .fa-book-dead:before { content: "\f6b7"; } .fa-book-medical:before { content: "\f7e6"; } .fa-book-open:before { content: "\f518"; } .fa-book-reader:before { content: "\f5da"; } .fa-bookmark:before { content: "\f02e"; } .fa-bootstrap:before { content: "\f836"; } .fa-border-all:before { content: "\f84c"; } .fa-border-none:before { content: "\f850"; } .fa-border-style:before { content: "\f853"; } .fa-bowling-ball:before { content: "\f436"; } .fa-box:before { content: "\f466"; } .fa-box-open:before { content: "\f49e"; } .fa-box-tissue:before { content: "\e05b"; } .fa-boxes:before { content: "\f468"; } .fa-braille:before { content: "\f2a1"; } .fa-brain:before { content: "\f5dc"; } .fa-bread-slice:before { content: "\f7ec"; } .fa-briefcase:before { content: "\f0b1"; } .fa-briefcase-medical:before { content: "\f469"; } .fa-broadcast-tower:before { content: "\f519"; } .fa-broom:before { content: "\f51a"; } .fa-brush:before { content: "\f55d"; } .fa-btc:before { content: "\f15a"; } .fa-buffer:before { content: "\f837"; } .fa-bug:before { content: "\f188"; } .fa-building:before { content: "\f1ad"; } .fa-bullhorn:before { content: "\f0a1"; } .fa-bullseye:before { content: "\f140"; } .fa-burn:before { content: "\f46a"; } .fa-buromobelexperte:before { content: "\f37f"; } .fa-bus:before { content: "\f207"; } .fa-bus-alt:before { content: "\f55e"; } .fa-business-time:before { content: "\f64a"; } .fa-buy-n-large:before { content: "\f8a6"; } .fa-buysellads:before { content: "\f20d"; } .fa-calculator:before { content: "\f1ec"; } .fa-calendar:before { content: "\f133"; } .fa-calendar-alt:before { content: "\f073"; } .fa-calendar-check:before { content: "\f274"; } .fa-calendar-day:before { content: "\f783"; } .fa-calendar-minus:before { content: "\f272"; } .fa-calendar-plus:before { content: "\f271"; } .fa-calendar-times:before { content: "\f273"; } .fa-calendar-week:before { content: "\f784"; } .fa-camera:before { content: "\f030"; } .fa-camera-retro:before { content: "\f083"; } .fa-campground:before { content: "\f6bb"; } .fa-canadian-maple-leaf:before { content: "\f785"; } .fa-candy-cane:before { content: "\f786"; } .fa-cannabis:before { content: "\f55f"; } .fa-capsules:before { content: "\f46b"; } .fa-car:before { content: "\f1b9"; } .fa-car-alt:before { content: "\f5de"; } .fa-car-battery:before { content: "\f5df"; } .fa-car-crash:before { content: "\f5e1"; } .fa-car-side:before { content: "\f5e4"; } .fa-caravan:before { content: "\f8ff"; } .fa-caret-down:before { content: "\f0d7"; } .fa-caret-left:before { content: "\f0d9"; } .fa-caret-right:before { content: "\f0da"; } .fa-caret-square-down:before { content: "\f150"; } .fa-caret-square-left:before { content: "\f191"; } .fa-caret-square-right:before { content: "\f152"; } .fa-caret-square-up:before { content: "\f151"; } .fa-caret-up:before { content: "\f0d8"; } .fa-carrot:before { content: "\f787"; } .fa-cart-arrow-down:before { content: "\f218"; } .fa-cart-plus:before { content: "\f217"; } .fa-cash-register:before { content: "\f788"; } .fa-cat:before { content: "\f6be"; } .fa-cc-amazon-pay:before { content: "\f42d"; } .fa-cc-amex:before { content: "\f1f3"; } .fa-cc-apple-pay:before { content: "\f416"; } .fa-cc-diners-club:before { content: "\f24c"; } .fa-cc-discover:before { content: "\f1f2"; } .fa-cc-jcb:before { content: "\f24b"; } .fa-cc-mastercard:before { content: "\f1f1"; } .fa-cc-paypal:before { content: "\f1f4"; } .fa-cc-stripe:before { content: "\f1f5"; } .fa-cc-visa:before { content: "\f1f0"; } .fa-centercode:before { content: "\f380"; } .fa-centos:before { content: "\f789"; } .fa-certificate:before { content: "\f0a3"; } .fa-chair:before { content: "\f6c0"; } .fa-chalkboard:before { content: "\f51b"; } .fa-chalkboard-teacher:before { content: "\f51c"; } .fa-charging-station:before { content: "\f5e7"; } .fa-chart-area:before { content: "\f1fe"; } .fa-chart-bar:before { content: "\f080"; } .fa-chart-line:before { content: "\f201"; } .fa-chart-pie:before { content: "\f200"; } .fa-check:before { content: "\f00c"; } .fa-check-circle:before { content: "\f058"; } .fa-check-double:before { content: "\f560"; } .fa-check-square:before { content: "\f14a"; } .fa-cheese:before { content: "\f7ef"; } .fa-chess:before { content: "\f439"; } .fa-chess-bishop:before { content: "\f43a"; } .fa-chess-board:before { content: "\f43c"; } .fa-chess-king:before { content: "\f43f"; } .fa-chess-knight:before { content: "\f441"; } .fa-chess-pawn:before { content: "\f443"; } .fa-chess-queen:before { content: "\f445"; } .fa-chess-rook:before { content: "\f447"; } .fa-chevron-circle-down:before { content: "\f13a"; } .fa-chevron-circle-left:before { content: "\f137"; } .fa-chevron-circle-right:before { content: "\f138"; } .fa-chevron-circle-up:before { content: "\f139"; } .fa-chevron-down:before { content: "\f078"; } .fa-chevron-left:before { content: "\f053"; } .fa-chevron-right:before { content: "\f054"; } .fa-chevron-up:before { content: "\f077"; } .fa-child:before { content: "\f1ae"; } .fa-chrome:before { content: "\f268"; } .fa-chromecast:before { content: "\f838"; } .fa-church:before { content: "\f51d"; } .fa-circle:before { content: "\f111"; } .fa-circle-notch:before { content: "\f1ce"; } .fa-city:before { content: "\f64f"; } .fa-clinic-medical:before { content: "\f7f2"; } .fa-clipboard:before { content: "\f328"; } .fa-clipboard-check:before { content: "\f46c"; } .fa-clipboard-list:before { content: "\f46d"; } .fa-clock:before { content: "\f017"; } .fa-clone:before { content: "\f24d"; } .fa-closed-captioning:before { content: "\f20a"; } .fa-cloud:before { content: "\f0c2"; } .fa-cloud-download-alt:before { content: "\f381"; } .fa-cloud-meatball:before { content: "\f73b"; } .fa-cloud-moon:before { content: "\f6c3"; } .fa-cloud-moon-rain:before { content: "\f73c"; } .fa-cloud-rain:before { content: "\f73d"; } .fa-cloud-showers-heavy:before { content: "\f740"; } .fa-cloud-sun:before { content: "\f6c4"; } .fa-cloud-sun-rain:before { content: "\f743"; } .fa-cloud-upload-alt:before { content: "\f382"; } .fa-cloudflare:before { content: "\e07d"; } .fa-cloudscale:before { content: "\f383"; } .fa-cloudsmith:before { content: "\f384"; } .fa-cloudversify:before { content: "\f385"; } .fa-cocktail:before { content: "\f561"; } .fa-code:before { content: "\f121"; } .fa-code-branch:before { content: "\f126"; } .fa-codepen:before { content: "\f1cb"; } .fa-codiepie:before { content: "\f284"; } .fa-coffee:before { content: "\f0f4"; } .fa-cog:before { content: "\f013"; } .fa-cogs:before { content: "\f085"; } .fa-coins:before { content: "\f51e"; } .fa-columns:before { content: "\f0db"; } .fa-comment:before { content: "\f075"; } .fa-comment-alt:before { content: "\f27a"; } .fa-comment-dollar:before { content: "\f651"; } .fa-comment-dots:before { content: "\f4ad"; } .fa-comment-medical:before { content: "\f7f5"; } .fa-comment-slash:before { content: "\f4b3"; } .fa-comments:before { content: "\f086"; } .fa-comments-dollar:before { content: "\f653"; } .fa-compact-disc:before { content: "\f51f"; } .fa-compass:before { content: "\f14e"; } .fa-compress:before { content: "\f066"; } .fa-compress-alt:before { content: "\f422"; } .fa-compress-arrows-alt:before { content: "\f78c"; } .fa-concierge-bell:before { content: "\f562"; } .fa-confluence:before { content: "\f78d"; } .fa-connectdevelop:before { content: "\f20e"; } .fa-contao:before { content: "\f26d"; } .fa-cookie:before { content: "\f563"; } .fa-cookie-bite:before { content: "\f564"; } .fa-copy:before { content: "\f0c5"; } .fa-copyright:before { content: "\f1f9"; } .fa-cotton-bureau:before { content: "\f89e"; } .fa-couch:before { content: "\f4b8"; } .fa-cpanel:before { content: "\f388"; } .fa-creative-commons:before { content: "\f25e"; } .fa-creative-commons-by:before { content: "\f4e7"; } .fa-creative-commons-nc:before { content: "\f4e8"; } .fa-creative-commons-nc-eu:before { content: "\f4e9"; } .fa-creative-commons-nc-jp:before { content: "\f4ea"; } .fa-creative-commons-nd:before { content: "\f4eb"; } .fa-creative-commons-pd:before { content: "\f4ec"; } .fa-creative-commons-pd-alt:before { content: "\f4ed"; } .fa-creative-commons-remix:before { content: "\f4ee"; } .fa-creative-commons-sa:before { content: "\f4ef"; } .fa-creative-commons-sampling:before { content: "\f4f0"; } .fa-creative-commons-sampling-plus:before { content: "\f4f1"; } .fa-creative-commons-share:before { content: "\f4f2"; } .fa-creative-commons-zero:before { content: "\f4f3"; } .fa-credit-card:before { content: "\f09d"; } .fa-critical-role:before { content: "\f6c9"; } .fa-crop:before { content: "\f125"; } .fa-crop-alt:before { content: "\f565"; } .fa-cross:before { content: "\f654"; } .fa-crosshairs:before { content: "\f05b"; } .fa-crow:before { content: "\f520"; } .fa-crown:before { content: "\f521"; } .fa-crutch:before { content: "\f7f7"; } .fa-css3:before { content: "\f13c"; } .fa-css3-alt:before { content: "\f38b"; } .fa-cube:before { content: "\f1b2"; } .fa-cubes:before { content: "\f1b3"; } .fa-cut:before { content: "\f0c4"; } .fa-cuttlefish:before { content: "\f38c"; } .fa-d-and-d:before { content: "\f38d"; } .fa-d-and-d-beyond:before { content: "\f6ca"; } .fa-dailymotion:before { content: "\e052"; } .fa-dashcube:before { content: "\f210"; } .fa-database:before { content: "\f1c0"; } .fa-deaf:before { content: "\f2a4"; } .fa-deezer:before { content: "\e077"; } .fa-delicious:before { content: "\f1a5"; } .fa-democrat:before { content: "\f747"; } .fa-deploydog:before { content: "\f38e"; } .fa-deskpro:before { content: "\f38f"; } .fa-desktop:before { content: "\f108"; } .fa-dev:before { content: "\f6cc"; } .fa-deviantart:before { content: "\f1bd"; } .fa-dharmachakra:before { content: "\f655"; } .fa-dhl:before { content: "\f790"; } .fa-diagnoses:before { content: "\f470"; } .fa-diaspora:before { content: "\f791"; } .fa-dice:before { content: "\f522"; } .fa-dice-d20:before { content: "\f6cf"; } .fa-dice-d6:before { content: "\f6d1"; } .fa-dice-five:before { content: "\f523"; } .fa-dice-four:before { content: "\f524"; } .fa-dice-one:before { content: "\f525"; } .fa-dice-six:before { content: "\f526"; } .fa-dice-three:before { content: "\f527"; } .fa-dice-two:before { content: "\f528"; } .fa-digg:before { content: "\f1a6"; } .fa-digital-ocean:before { content: "\f391"; } .fa-digital-tachograph:before { content: "\f566"; } .fa-directions:before { content: "\f5eb"; } .fa-discord:before { content: "\f392"; } .fa-discourse:before { content: "\f393"; } .fa-disease:before { content: "\f7fa"; } .fa-divide:before { content: "\f529"; } .fa-dizzy:before { content: "\f567"; } .fa-dna:before { content: "\f471"; } .fa-dochub:before { content: "\f394"; } .fa-docker:before { content: "\f395"; } .fa-dog:before { content: "\f6d3"; } .fa-dollar-sign:before { content: "\f155"; } .fa-dolly:before { content: "\f472"; } .fa-dolly-flatbed:before { content: "\f474"; } .fa-donate:before { content: "\f4b9"; } .fa-door-closed:before { content: "\f52a"; } .fa-door-open:before { content: "\f52b"; } .fa-dot-circle:before { content: "\f192"; } .fa-dove:before { content: "\f4ba"; } .fa-download:before { content: "\f019"; } .fa-draft2digital:before { content: "\f396"; } .fa-drafting-compass:before { content: "\f568"; } .fa-dragon:before { content: "\f6d5"; } .fa-draw-polygon:before { content: "\f5ee"; } .fa-dribbble:before { content: "\f17d"; } .fa-dribbble-square:before { content: "\f397"; } .fa-dropbox:before { content: "\f16b"; } .fa-drum:before { content: "\f569"; } .fa-drum-steelpan:before { content: "\f56a"; } .fa-drumstick-bite:before { content: "\f6d7"; } .fa-drupal:before { content: "\f1a9"; } .fa-dumbbell:before { content: "\f44b"; } .fa-dumpster:before { content: "\f793"; } .fa-dumpster-fire:before { content: "\f794"; } .fa-dungeon:before { content: "\f6d9"; } .fa-dyalog:before { content: "\f399"; } .fa-earlybirds:before { content: "\f39a"; } .fa-ebay:before { content: "\f4f4"; } .fa-edge:before { content: "\f282"; } .fa-edge-legacy:before { content: "\e078"; } .fa-edit:before { content: "\f044"; } .fa-egg:before { content: "\f7fb"; } .fa-eject:before { content: "\f052"; } .fa-elementor:before { content: "\f430"; } .fa-ellipsis-h:before { content: "\f141"; } .fa-ellipsis-v:before { content: "\f142"; } .fa-ello:before { content: "\f5f1"; } .fa-ember:before { content: "\f423"; } .fa-empire:before { content: "\f1d1"; } .fa-envelope:before { content: "\f0e0"; } .fa-envelope-open:before { content: "\f2b6"; } .fa-envelope-open-text:before { content: "\f658"; } .fa-envelope-square:before { content: "\f199"; } .fa-envira:before { content: "\f299"; } .fa-equals:before { content: "\f52c"; } .fa-eraser:before { content: "\f12d"; } .fa-erlang:before { content: "\f39d"; } .fa-ethereum:before { content: "\f42e"; } .fa-ethernet:before { content: "\f796"; } .fa-etsy:before { content: "\f2d7"; } .fa-euro-sign:before { content: "\f153"; } .fa-evernote:before { content: "\f839"; } .fa-exchange-alt:before { content: "\f362"; } .fa-exclamation:before { content: "\f12a"; } .fa-exclamation-circle:before { content: "\f06a"; } .fa-exclamation-triangle:before { content: "\f071"; } .fa-expand:before { content: "\f065"; } .fa-expand-alt:before { content: "\f424"; } .fa-expand-arrows-alt:before { content: "\f31e"; } .fa-expeditedssl:before { content: "\f23e"; } .fa-external-link-alt:before { content: "\f35d"; } .fa-external-link-square-alt:before { content: "\f360"; } .fa-eye:before { content: "\f06e"; } .fa-eye-dropper:before { content: "\f1fb"; } .fa-eye-slash:before { content: "\f070"; } .fa-facebook:before { content: "\f09a"; } .fa-facebook-f:before { content: "\f39e"; } .fa-facebook-messenger:before { content: "\f39f"; } .fa-facebook-square:before { content: "\f082"; } .fa-fan:before { content: "\f863"; } .fa-fantasy-flight-games:before { content: "\f6dc"; } .fa-fast-backward:before { content: "\f049"; } .fa-fast-forward:before { content: "\f050"; } .fa-faucet:before { content: "\e005"; } .fa-fax:before { content: "\f1ac"; } .fa-feather:before { content: "\f52d"; } .fa-feather-alt:before { content: "\f56b"; } .fa-fedex:before { content: "\f797"; } .fa-fedora:before { content: "\f798"; } .fa-female:before { content: "\f182"; } .fa-fighter-jet:before { content: "\f0fb"; } .fa-figma:before { content: "\f799"; } .fa-file:before { content: "\f15b"; } .fa-file-alt:before { content: "\f15c"; } .fa-file-archive:before { content: "\f1c6"; } .fa-file-audio:before { content: "\f1c7"; } .fa-file-code:before { content: "\f1c9"; } .fa-file-contract:before { content: "\f56c"; } .fa-file-csv:before { content: "\f6dd"; } .fa-file-download:before { content: "\f56d"; } .fa-file-excel:before { content: "\f1c3"; } .fa-file-export:before { content: "\f56e"; } .fa-file-image:before { content: "\f1c5"; } .fa-file-import:before { content: "\f56f"; } .fa-file-invoice:before { content: "\f570"; } .fa-file-invoice-dollar:before { content: "\f571"; } .fa-file-medical:before { content: "\f477"; } .fa-file-medical-alt:before { content: "\f478"; } .fa-file-pdf:before { content: "\f1c1"; } .fa-file-powerpoint:before { content: "\f1c4"; } .fa-file-prescription:before { content: "\f572"; } .fa-file-signature:before { content: "\f573"; } .fa-file-upload:before { content: "\f574"; } .fa-file-video:before { content: "\f1c8"; } .fa-file-word:before { content: "\f1c2"; } .fa-fill:before { content: "\f575"; } .fa-fill-drip:before { content: "\f576"; } .fa-film:before { content: "\f008"; } .fa-filter:before { content: "\f0b0"; } .fa-fingerprint:before { content: "\f577"; } .fa-fire:before { content: "\f06d"; } .fa-fire-alt:before { content: "\f7e4"; } .fa-fire-extinguisher:before { content: "\f134"; } .fa-firefox:before { content: "\f269"; } .fa-firefox-browser:before { content: "\e007"; } .fa-first-aid:before { content: "\f479"; } .fa-first-order:before { content: "\f2b0"; } .fa-first-order-alt:before { content: "\f50a"; } .fa-firstdraft:before { content: "\f3a1"; } .fa-fish:before { content: "\f578"; } .fa-fist-raised:before { content: "\f6de"; } .fa-flag:before { content: "\f024"; } .fa-flag-checkered:before { content: "\f11e"; } .fa-flag-usa:before { content: "\f74d"; } .fa-flask:before { content: "\f0c3"; } .fa-flickr:before { content: "\f16e"; } .fa-flipboard:before { content: "\f44d"; } .fa-flushed:before { content: "\f579"; } .fa-fly:before { content: "\f417"; } .fa-folder:before { content: "\f07b"; } .fa-folder-minus:before { content: "\f65d"; } .fa-folder-open:before { content: "\f07c"; } .fa-folder-plus:before { content: "\f65e"; } .fa-font:before { content: "\f031"; } .fa-font-awesome:before { content: "\f2b4"; } .fa-font-awesome-alt:before { content: "\f35c"; } .fa-font-awesome-flag:before { content: "\f425"; } .fa-font-awesome-logo-full:before { content: "\f4e6"; } .fa-fonticons:before { content: "\f280"; } .fa-fonticons-fi:before { content: "\f3a2"; } .fa-football-ball:before { content: "\f44e"; } .fa-fort-awesome:before { content: "\f286"; } .fa-fort-awesome-alt:before { content: "\f3a3"; } .fa-forumbee:before { content: "\f211"; } .fa-forward:before { content: "\f04e"; } .fa-foursquare:before { content: "\f180"; } .fa-free-code-camp:before { content: "\f2c5"; } .fa-freebsd:before { content: "\f3a4"; } .fa-frog:before { content: "\f52e"; } .fa-frown:before { content: "\f119"; } .fa-frown-open:before { content: "\f57a"; } .fa-fulcrum:before { content: "\f50b"; } .fa-funnel-dollar:before { content: "\f662"; } .fa-futbol:before { content: "\f1e3"; } .fa-galactic-republic:before { content: "\f50c"; } .fa-galactic-senate:before { content: "\f50d"; } .fa-gamepad:before { content: "\f11b"; } .fa-gas-pump:before { content: "\f52f"; } .fa-gavel:before { content: "\f0e3"; } .fa-gem:before { content: "\f3a5"; } .fa-genderless:before { content: "\f22d"; } .fa-get-pocket:before { content: "\f265"; } .fa-gg:before { content: "\f260"; } .fa-gg-circle:before { content: "\f261"; } .fa-ghost:before { content: "\f6e2"; } .fa-gift:before { content: "\f06b"; } .fa-gifts:before { content: "\f79c"; } .fa-git:before { content: "\f1d3"; } .fa-git-alt:before { content: "\f841"; } .fa-git-square:before { content: "\f1d2"; } .fa-github:before { content: "\f09b"; } .fa-github-alt:before { content: "\f113"; } .fa-github-square:before { content: "\f092"; } .fa-gitkraken:before { content: "\f3a6"; } .fa-gitlab:before { content: "\f296"; } .fa-gitter:before { content: "\f426"; } .fa-glass-cheers:before { content: "\f79f"; } .fa-glass-martini:before { content: "\f000"; } .fa-glass-martini-alt:before { content: "\f57b"; } .fa-glass-whiskey:before { content: "\f7a0"; } .fa-glasses:before { content: "\f530"; } .fa-glide:before { content: "\f2a5"; } .fa-glide-g:before { content: "\f2a6"; } .fa-globe:before { content: "\f0ac"; } .fa-globe-africa:before { content: "\f57c"; } .fa-globe-americas:before { content: "\f57d"; } .fa-globe-asia:before { content: "\f57e"; } .fa-globe-europe:before { content: "\f7a2"; } .fa-gofore:before { content: "\f3a7"; } .fa-golf-ball:before { content: "\f450"; } .fa-goodreads:before { content: "\f3a8"; } .fa-goodreads-g:before { content: "\f3a9"; } .fa-google:before { content: "\f1a0"; } .fa-google-drive:before { content: "\f3aa"; } .fa-google-pay:before { content: "\e079"; } .fa-google-play:before { content: "\f3ab"; } .fa-google-plus:before { content: "\f2b3"; } .fa-google-plus-g:before { content: "\f0d5"; } .fa-google-plus-square:before { content: "\f0d4"; } .fa-google-wallet:before { content: "\f1ee"; } .fa-gopuram:before { content: "\f664"; } .fa-graduation-cap:before { content: "\f19d"; } .fa-gratipay:before { content: "\f184"; } .fa-grav:before { content: "\f2d6"; } .fa-greater-than:before { content: "\f531"; } .fa-greater-than-equal:before { content: "\f532"; } .fa-grimace:before { content: "\f57f"; } .fa-grin:before { content: "\f580"; } .fa-grin-alt:before { content: "\f581"; } .fa-grin-beam:before { content: "\f582"; } .fa-grin-beam-sweat:before { content: "\f583"; } .fa-grin-hearts:before { content: "\f584"; } .fa-grin-squint:before { content: "\f585"; } .fa-grin-squint-tears:before { content: "\f586"; } .fa-grin-stars:before { content: "\f587"; } .fa-grin-tears:before { content: "\f588"; } .fa-grin-tongue:before { content: "\f589"; } .fa-grin-tongue-squint:before { content: "\f58a"; } .fa-grin-tongue-wink:before { content: "\f58b"; } .fa-grin-wink:before { content: "\f58c"; } .fa-grip-horizontal:before { content: "\f58d"; } .fa-grip-lines:before { content: "\f7a4"; } .fa-grip-lines-vertical:before { content: "\f7a5"; } .fa-grip-vertical:before { content: "\f58e"; } .fa-gripfire:before { content: "\f3ac"; } .fa-grunt:before { content: "\f3ad"; } .fa-guilded:before { content: "\e07e"; } .fa-guitar:before { content: "\f7a6"; } .fa-gulp:before { content: "\f3ae"; } .fa-h-square:before { content: "\f0fd"; } .fa-hacker-news:before { content: "\f1d4"; } .fa-hacker-news-square:before { content: "\f3af"; } .fa-hackerrank:before { content: "\f5f7"; } .fa-hamburger:before { content: "\f805"; } .fa-hammer:before { content: "\f6e3"; } .fa-hamsa:before { content: "\f665"; } .fa-hand-holding:before { content: "\f4bd"; } .fa-hand-holding-heart:before { content: "\f4be"; } .fa-hand-holding-medical:before { content: "\e05c"; } .fa-hand-holding-usd:before { content: "\f4c0"; } .fa-hand-holding-water:before { content: "\f4c1"; } .fa-hand-lizard:before { content: "\f258"; } .fa-hand-middle-finger:before { content: "\f806"; } .fa-hand-paper:before { content: "\f256"; } .fa-hand-peace:before { content: "\f25b"; } .fa-hand-point-down:before { content: "\f0a7"; } .fa-hand-point-left:before { content: "\f0a5"; } .fa-hand-point-right:before { content: "\f0a4"; } .fa-hand-point-up:before { content: "\f0a6"; } .fa-hand-pointer:before { content: "\f25a"; } .fa-hand-rock:before { content: "\f255"; } .fa-hand-scissors:before { content: "\f257"; } .fa-hand-sparkles:before { content: "\e05d"; } .fa-hand-spock:before { content: "\f259"; } .fa-hands:before { content: "\f4c2"; } .fa-hands-helping:before { content: "\f4c4"; } .fa-hands-wash:before { content: "\e05e"; } .fa-handshake:before { content: "\f2b5"; } .fa-handshake-alt-slash:before { content: "\e05f"; } .fa-handshake-slash:before { content: "\e060"; } .fa-hanukiah:before { content: "\f6e6"; } .fa-hard-hat:before { content: "\f807"; } .fa-hashtag:before { content: "\f292"; } .fa-hat-cowboy:before { content: "\f8c0"; } .fa-hat-cowboy-side:before { content: "\f8c1"; } .fa-hat-wizard:before { content: "\f6e8"; } .fa-hdd:before { content: "\f0a0"; } .fa-head-side-cough:before { content: "\e061"; } .fa-head-side-cough-slash:before { content: "\e062"; } .fa-head-side-mask:before { content: "\e063"; } .fa-head-side-virus:before { content: "\e064"; } .fa-heading:before { content: "\f1dc"; } .fa-headphones:before { content: "\f025"; } .fa-headphones-alt:before { content: "\f58f"; } .fa-headset:before { content: "\f590"; } .fa-heart:before { content: "\f004"; } .fa-heart-broken:before { content: "\f7a9"; } .fa-heartbeat:before { content: "\f21e"; } .fa-helicopter:before { content: "\f533"; } .fa-highlighter:before { content: "\f591"; } .fa-hiking:before { content: "\f6ec"; } .fa-hippo:before { content: "\f6ed"; } .fa-hips:before { content: "\f452"; } .fa-hire-a-helper:before { content: "\f3b0"; } .fa-history:before { content: "\f1da"; } .fa-hive:before { content: "\e07f"; } .fa-hockey-puck:before { content: "\f453"; } .fa-holly-berry:before { content: "\f7aa"; } .fa-home:before { content: "\f015"; } .fa-hooli:before { content: "\f427"; } .fa-hornbill:before { content: "\f592"; } .fa-horse:before { content: "\f6f0"; } .fa-horse-head:before { content: "\f7ab"; } .fa-hospital:before { content: "\f0f8"; } .fa-hospital-alt:before { content: "\f47d"; } .fa-hospital-symbol:before { content: "\f47e"; } .fa-hospital-user:before { content: "\f80d"; } .fa-hot-tub:before { content: "\f593"; } .fa-hotdog:before { content: "\f80f"; } .fa-hotel:before { content: "\f594"; } .fa-hotjar:before { content: "\f3b1"; } .fa-hourglass:before { content: "\f254"; } .fa-hourglass-end:before { content: "\f253"; } .fa-hourglass-half:before { content: "\f252"; } .fa-hourglass-start:before { content: "\f251"; } .fa-house-damage:before { content: "\f6f1"; } .fa-house-user:before { content: "\e065"; } .fa-houzz:before { content: "\f27c"; } .fa-hryvnia:before { content: "\f6f2"; } .fa-html5:before { content: "\f13b"; } .fa-hubspot:before { content: "\f3b2"; } .fa-i-cursor:before { content: "\f246"; } .fa-ice-cream:before { content: "\f810"; } .fa-icicles:before { content: "\f7ad"; } .fa-icons:before { content: "\f86d"; } .fa-id-badge:before { content: "\f2c1"; } .fa-id-card:before { content: "\f2c2"; } .fa-id-card-alt:before { content: "\f47f"; } .fa-ideal:before { content: "\e013"; } .fa-igloo:before { content: "\f7ae"; } .fa-image:before { content: "\f03e"; } .fa-images:before { content: "\f302"; } .fa-imdb:before { content: "\f2d8"; } .fa-inbox:before { content: "\f01c"; } .fa-indent:before { content: "\f03c"; } .fa-industry:before { content: "\f275"; } .fa-infinity:before { content: "\f534"; } .fa-info:before { content: "\f129"; } .fa-info-circle:before { content: "\f05a"; } .fa-innosoft:before { content: "\e080"; } .fa-instagram:before { content: "\f16d"; } .fa-instagram-square:before { content: "\e055"; } .fa-instalod:before { content: "\e081"; } .fa-intercom:before { content: "\f7af"; } .fa-internet-explorer:before { content: "\f26b"; } .fa-invision:before { content: "\f7b0"; } .fa-ioxhost:before { content: "\f208"; } .fa-italic:before { content: "\f033"; } .fa-itch-io:before { content: "\f83a"; } .fa-itunes:before { content: "\f3b4"; } .fa-itunes-note:before { content: "\f3b5"; } .fa-java:before { content: "\f4e4"; } .fa-jedi:before { content: "\f669"; } .fa-jedi-order:before { content: "\f50e"; } .fa-jenkins:before { content: "\f3b6"; } .fa-jira:before { content: "\f7b1"; } .fa-joget:before { content: "\f3b7"; } .fa-joint:before { content: "\f595"; } .fa-joomla:before { content: "\f1aa"; } .fa-journal-whills:before { content: "\f66a"; } .fa-js:before { content: "\f3b8"; } .fa-js-square:before { content: "\f3b9"; } .fa-jsfiddle:before { content: "\f1cc"; } .fa-kaaba:before { content: "\f66b"; } .fa-kaggle:before { content: "\f5fa"; } .fa-key:before { content: "\f084"; } .fa-keybase:before { content: "\f4f5"; } .fa-keyboard:before { content: "\f11c"; } .fa-keycdn:before { content: "\f3ba"; } .fa-khanda:before { content: "\f66d"; } .fa-kickstarter:before { content: "\f3bb"; } .fa-kickstarter-k:before { content: "\f3bc"; } .fa-kiss:before { content: "\f596"; } .fa-kiss-beam:before { content: "\f597"; } .fa-kiss-wink-heart:before { content: "\f598"; } .fa-kiwi-bird:before { content: "\f535"; } .fa-korvue:before { content: "\f42f"; } .fa-landmark:before { content: "\f66f"; } .fa-language:before { content: "\f1ab"; } .fa-laptop:before { content: "\f109"; } .fa-laptop-code:before { content: "\f5fc"; } .fa-laptop-house:before { content: "\e066"; } .fa-laptop-medical:before { content: "\f812"; } .fa-laravel:before { content: "\f3bd"; } .fa-lastfm:before { content: "\f202"; } .fa-lastfm-square:before { content: "\f203"; } .fa-laugh:before { content: "\f599"; } .fa-laugh-beam:before { content: "\f59a"; } .fa-laugh-squint:before { content: "\f59b"; } .fa-laugh-wink:before { content: "\f59c"; } .fa-layer-group:before { content: "\f5fd"; } .fa-leaf:before { content: "\f06c"; } .fa-leanpub:before { content: "\f212"; } .fa-lemon:before { content: "\f094"; } .fa-less:before { content: "\f41d"; } .fa-less-than:before { content: "\f536"; } .fa-less-than-equal:before { content: "\f537"; } .fa-level-down-alt:before { content: "\f3be"; } .fa-level-up-alt:before { content: "\f3bf"; } .fa-life-ring:before { content: "\f1cd"; } .fa-lightbulb:before { content: "\f0eb"; } .fa-line:before { content: "\f3c0"; } .fa-link:before { content: "\f0c1"; } .fa-linkedin:before { content: "\f08c"; } .fa-linkedin-in:before { content: "\f0e1"; } .fa-linode:before { content: "\f2b8"; } .fa-linux:before { content: "\f17c"; } .fa-lira-sign:before { content: "\f195"; } .fa-list:before { content: "\f03a"; } .fa-list-alt:before { content: "\f022"; } .fa-list-ol:before { content: "\f0cb"; } .fa-list-ul:before { content: "\f0ca"; } .fa-location-arrow:before { content: "\f124"; } .fa-lock:before { content: "\f023"; } .fa-lock-open:before { content: "\f3c1"; } .fa-long-arrow-alt-down:before { content: "\f309"; } .fa-long-arrow-alt-left:before { content: "\f30a"; } .fa-long-arrow-alt-right:before { content: "\f30b"; } .fa-long-arrow-alt-up:before { content: "\f30c"; } .fa-low-vision:before { content: "\f2a8"; } .fa-luggage-cart:before { content: "\f59d"; } .fa-lungs:before { content: "\f604"; } .fa-lungs-virus:before { content: "\e067"; } .fa-lyft:before { content: "\f3c3"; } .fa-magento:before { content: "\f3c4"; } .fa-magic:before { content: "\f0d0"; } .fa-magnet:before { content: "\f076"; } .fa-mail-bulk:before { content: "\f674"; } .fa-mailchimp:before { content: "\f59e"; } .fa-male:before { content: "\f183"; } .fa-mandalorian:before { content: "\f50f"; } .fa-map:before { content: "\f279"; } .fa-map-marked:before { content: "\f59f"; } .fa-map-marked-alt:before { content: "\f5a0"; } .fa-map-marker:before { content: "\f041"; } .fa-map-marker-alt:before { content: "\f3c5"; } .fa-map-pin:before { content: "\f276"; } .fa-map-signs:before { content: "\f277"; } .fa-markdown:before { content: "\f60f"; } .fa-marker:before { content: "\f5a1"; } .fa-mars:before { content: "\f222"; } .fa-mars-double:before { content: "\f227"; } .fa-mars-stroke:before { content: "\f229"; } .fa-mars-stroke-h:before { content: "\f22b"; } .fa-mars-stroke-v:before { content: "\f22a"; } .fa-mask:before { content: "\f6fa"; } .fa-mastodon:before { content: "\f4f6"; } .fa-maxcdn:before { content: "\f136"; } .fa-mdb:before { content: "\f8ca"; } .fa-medal:before { content: "\f5a2"; } .fa-medapps:before { content: "\f3c6"; } .fa-medium:before { content: "\f23a"; } .fa-medium-m:before { content: "\f3c7"; } .fa-medkit:before { content: "\f0fa"; } .fa-medrt:before { content: "\f3c8"; } .fa-meetup:before { content: "\f2e0"; } .fa-megaport:before { content: "\f5a3"; } .fa-meh:before { content: "\f11a"; } .fa-meh-blank:before { content: "\f5a4"; } .fa-meh-rolling-eyes:before { content: "\f5a5"; } .fa-memory:before { content: "\f538"; } .fa-mendeley:before { content: "\f7b3"; } .fa-menorah:before { content: "\f676"; } .fa-mercury:before { content: "\f223"; } .fa-meteor:before { content: "\f753"; } .fa-microblog:before { content: "\e01a"; } .fa-microchip:before { content: "\f2db"; } .fa-microphone:before { content: "\f130"; } .fa-microphone-alt:before { content: "\f3c9"; } .fa-microphone-alt-slash:before { content: "\f539"; } .fa-microphone-slash:before { content: "\f131"; } .fa-microscope:before { content: "\f610"; } .fa-microsoft:before { content: "\f3ca"; } .fa-minus:before { content: "\f068"; } .fa-minus-circle:before { content: "\f056"; } .fa-minus-square:before { content: "\f146"; } .fa-mitten:before { content: "\f7b5"; } .fa-mix:before { content: "\f3cb"; } .fa-mixcloud:before { content: "\f289"; } .fa-mixer:before { content: "\e056"; } .fa-mizuni:before { content: "\f3cc"; } .fa-mobile:before { content: "\f10b"; } .fa-mobile-alt:before { content: "\f3cd"; } .fa-modx:before { content: "\f285"; } .fa-monero:before { content: "\f3d0"; } .fa-money-bill:before { content: "\f0d6"; } .fa-money-bill-alt:before { content: "\f3d1"; } .fa-money-bill-wave:before { content: "\f53a"; } .fa-money-bill-wave-alt:before { content: "\f53b"; } .fa-money-check:before { content: "\f53c"; } .fa-money-check-alt:before { content: "\f53d"; } .fa-monument:before { content: "\f5a6"; } .fa-moon:before { content: "\f186"; } .fa-mortar-pestle:before { content: "\f5a7"; } .fa-mosque:before { content: "\f678"; } .fa-motorcycle:before { content: "\f21c"; } .fa-mountain:before { content: "\f6fc"; } .fa-mouse:before { content: "\f8cc"; } .fa-mouse-pointer:before { content: "\f245"; } .fa-mug-hot:before { content: "\f7b6"; } .fa-music:before { content: "\f001"; } .fa-napster:before { content: "\f3d2"; } .fa-neos:before { content: "\f612"; } .fa-network-wired:before { content: "\f6ff"; } .fa-neuter:before { content: "\f22c"; } .fa-newspaper:before { content: "\f1ea"; } .fa-nimblr:before { content: "\f5a8"; } .fa-node:before { content: "\f419"; } .fa-node-js:before { content: "\f3d3"; } .fa-not-equal:before { content: "\f53e"; } .fa-notes-medical:before { content: "\f481"; } .fa-npm:before { content: "\f3d4"; } .fa-ns8:before { content: "\f3d5"; } .fa-nutritionix:before { content: "\f3d6"; } .fa-object-group:before { content: "\f247"; } .fa-object-ungroup:before { content: "\f248"; } .fa-octopus-deploy:before { content: "\e082"; } .fa-odnoklassniki:before { content: "\f263"; } .fa-odnoklassniki-square:before { content: "\f264"; } .fa-oil-can:before { content: "\f613"; } .fa-old-republic:before { content: "\f510"; } .fa-om:before { content: "\f679"; } .fa-opencart:before { content: "\f23d"; } .fa-openid:before { content: "\f19b"; } .fa-opera:before { content: "\f26a"; } .fa-optin-monster:before { content: "\f23c"; } .fa-orcid:before { content: "\f8d2"; } .fa-osi:before { content: "\f41a"; } .fa-otter:before { content: "\f700"; } .fa-outdent:before { content: "\f03b"; } .fa-page4:before { content: "\f3d7"; } .fa-pagelines:before { content: "\f18c"; } .fa-pager:before { content: "\f815"; } .fa-paint-brush:before { content: "\f1fc"; } .fa-paint-roller:before { content: "\f5aa"; } .fa-palette:before { content: "\f53f"; } .fa-palfed:before { content: "\f3d8"; } .fa-pallet:before { content: "\f482"; } .fa-paper-plane:before { content: "\f1d8"; } .fa-paperclip:before { content: "\f0c6"; } .fa-parachute-box:before { content: "\f4cd"; } .fa-paragraph:before { content: "\f1dd"; } .fa-parking:before { content: "\f540"; } .fa-passport:before { content: "\f5ab"; } .fa-pastafarianism:before { content: "\f67b"; } .fa-paste:before { content: "\f0ea"; } .fa-patreon:before { content: "\f3d9"; } .fa-pause:before { content: "\f04c"; } .fa-pause-circle:before { content: "\f28b"; } .fa-paw:before { content: "\f1b0"; } .fa-paypal:before { content: "\f1ed"; } .fa-peace:before { content: "\f67c"; } .fa-pen:before { content: "\f304"; } .fa-pen-alt:before { content: "\f305"; } .fa-pen-fancy:before { content: "\f5ac"; } .fa-pen-nib:before { content: "\f5ad"; } .fa-pen-square:before { content: "\f14b"; } .fa-pencil-alt:before { content: "\f303"; } .fa-pencil-ruler:before { content: "\f5ae"; } .fa-penny-arcade:before { content: "\f704"; } .fa-people-arrows:before { content: "\e068"; } .fa-people-carry:before { content: "\f4ce"; } .fa-pepper-hot:before { content: "\f816"; } .fa-perbyte:before { content: "\e083"; } .fa-percent:before { content: "\f295"; } .fa-percentage:before { content: "\f541"; } .fa-periscope:before { content: "\f3da"; } .fa-person-booth:before { content: "\f756"; } .fa-phabricator:before { content: "\f3db"; } .fa-phoenix-framework:before { content: "\f3dc"; } .fa-phoenix-squadron:before { content: "\f511"; } .fa-phone:before { content: "\f095"; } .fa-phone-alt:before { content: "\f879"; } .fa-phone-slash:before { content: "\f3dd"; } .fa-phone-square:before { content: "\f098"; } .fa-phone-square-alt:before { content: "\f87b"; } .fa-phone-volume:before { content: "\f2a0"; } .fa-photo-video:before { content: "\f87c"; } .fa-php:before { content: "\f457"; } .fa-pied-piper:before { content: "\f2ae"; } .fa-pied-piper-alt:before { content: "\f1a8"; } .fa-pied-piper-hat:before { content: "\f4e5"; } .fa-pied-piper-pp:before { content: "\f1a7"; } .fa-pied-piper-square:before { content: "\e01e"; } .fa-piggy-bank:before { content: "\f4d3"; } .fa-pills:before { content: "\f484"; } .fa-pinterest:before { content: "\f0d2"; } .fa-pinterest-p:before { content: "\f231"; } .fa-pinterest-square:before { content: "\f0d3"; } .fa-pizza-slice:before { content: "\f818"; } .fa-place-of-worship:before { content: "\f67f"; } .fa-plane:before { content: "\f072"; } .fa-plane-arrival:before { content: "\f5af"; } .fa-plane-departure:before { content: "\f5b0"; } .fa-plane-slash:before { content: "\e069"; } .fa-play:before { content: "\f04b"; } .fa-play-circle:before { content: "\f144"; } .fa-playstation:before { content: "\f3df"; } .fa-plug:before { content: "\f1e6"; } .fa-plus:before { content: "\f067"; } .fa-plus-circle:before { content: "\f055"; } .fa-plus-square:before { content: "\f0fe"; } .fa-podcast:before { content: "\f2ce"; } .fa-poll:before { content: "\f681"; } .fa-poll-h:before { content: "\f682"; } .fa-poo:before { content: "\f2fe"; } .fa-poo-storm:before { content: "\f75a"; } .fa-poop:before { content: "\f619"; } .fa-portrait:before { content: "\f3e0"; } .fa-pound-sign:before { content: "\f154"; } .fa-power-off:before { content: "\f011"; } .fa-pray:before { content: "\f683"; } .fa-praying-hands:before { content: "\f684"; } .fa-prescription:before { content: "\f5b1"; } .fa-prescription-bottle:before { content: "\f485"; } .fa-prescription-bottle-alt:before { content: "\f486"; } .fa-print:before { content: "\f02f"; } .fa-procedures:before { content: "\f487"; } .fa-product-hunt:before { content: "\f288"; } .fa-project-diagram:before { content: "\f542"; } .fa-pump-medical:before { content: "\e06a"; } .fa-pump-soap:before { content: "\e06b"; } .fa-pushed:before { content: "\f3e1"; } .fa-puzzle-piece:before { content: "\f12e"; } .fa-python:before { content: "\f3e2"; } .fa-qq:before { content: "\f1d6"; } .fa-qrcode:before { content: "\f029"; } .fa-question:before { content: "\f128"; } .fa-question-circle:before { content: "\f059"; } .fa-quidditch:before { content: "\f458"; } .fa-quinscape:before { content: "\f459"; } .fa-quora:before { content: "\f2c4"; } .fa-quote-left:before { content: "\f10d"; } .fa-quote-right:before { content: "\f10e"; } .fa-quran:before { content: "\f687"; } .fa-r-project:before { content: "\f4f7"; } .fa-radiation:before { content: "\f7b9"; } .fa-radiation-alt:before { content: "\f7ba"; } .fa-rainbow:before { content: "\f75b"; } .fa-random:before { content: "\f074"; } .fa-raspberry-pi:before { content: "\f7bb"; } .fa-ravelry:before { content: "\f2d9"; } .fa-react:before { content: "\f41b"; } .fa-reacteurope:before { content: "\f75d"; } .fa-readme:before { content: "\f4d5"; } .fa-rebel:before { content: "\f1d0"; } .fa-receipt:before { content: "\f543"; } .fa-record-vinyl:before { content: "\f8d9"; } .fa-recycle:before { content: "\f1b8"; } .fa-red-river:before { content: "\f3e3"; } .fa-reddit:before { content: "\f1a1"; } .fa-reddit-alien:before { content: "\f281"; } .fa-reddit-square:before { content: "\f1a2"; } .fa-redhat:before { content: "\f7bc"; } .fa-redo:before { content: "\f01e"; } .fa-redo-alt:before { content: "\f2f9"; } .fa-registered:before { content: "\f25d"; } .fa-remove-format:before { content: "\f87d"; } .fa-renren:before { content: "\f18b"; } .fa-reply:before { content: "\f3e5"; } .fa-reply-all:before { content: "\f122"; } .fa-replyd:before { content: "\f3e6"; } .fa-republican:before { content: "\f75e"; } .fa-researchgate:before { content: "\f4f8"; } .fa-resolving:before { content: "\f3e7"; } .fa-restroom:before { content: "\f7bd"; } .fa-retweet:before { content: "\f079"; } .fa-rev:before { content: "\f5b2"; } .fa-ribbon:before { content: "\f4d6"; } .fa-ring:before { content: "\f70b"; } .fa-road:before { content: "\f018"; } .fa-robot:before { content: "\f544"; } .fa-rocket:before { content: "\f135"; } .fa-rocketchat:before { content: "\f3e8"; } .fa-rockrms:before { content: "\f3e9"; } .fa-route:before { content: "\f4d7"; } .fa-rss:before { content: "\f09e"; } .fa-rss-square:before { content: "\f143"; } .fa-ruble-sign:before { content: "\f158"; } .fa-ruler:before { content: "\f545"; } .fa-ruler-combined:before { content: "\f546"; } .fa-ruler-horizontal:before { content: "\f547"; } .fa-ruler-vertical:before { content: "\f548"; } .fa-running:before { content: "\f70c"; } .fa-rupee-sign:before { content: "\f156"; } .fa-rust:before { content: "\e07a"; } .fa-sad-cry:before { content: "\f5b3"; } .fa-sad-tear:before { content: "\f5b4"; } .fa-safari:before { content: "\f267"; } .fa-salesforce:before { content: "\f83b"; } .fa-sass:before { content: "\f41e"; } .fa-satellite:before { content: "\f7bf"; } .fa-satellite-dish:before { content: "\f7c0"; } .fa-save:before { content: "\f0c7"; } .fa-schlix:before { content: "\f3ea"; } .fa-school:before { content: "\f549"; } .fa-screwdriver:before { content: "\f54a"; } .fa-scribd:before { content: "\f28a"; } .fa-scroll:before { content: "\f70e"; } .fa-sd-card:before { content: "\f7c2"; } .fa-search:before { content: "\f002"; } .fa-search-dollar:before { content: "\f688"; } .fa-search-location:before { content: "\f689"; } .fa-search-minus:before { content: "\f010"; } .fa-search-plus:before { content: "\f00e"; } .fa-searchengin:before { content: "\f3eb"; } .fa-seedling:before { content: "\f4d8"; } .fa-sellcast:before { content: "\f2da"; } .fa-sellsy:before { content: "\f213"; } .fa-server:before { content: "\f233"; } .fa-servicestack:before { content: "\f3ec"; } .fa-shapes:before { content: "\f61f"; } .fa-share:before { content: "\f064"; } .fa-share-alt:before { content: "\f1e0"; } .fa-share-alt-square:before { content: "\f1e1"; } .fa-share-square:before { content: "\f14d"; } .fa-shekel-sign:before { content: "\f20b"; } .fa-shield-alt:before { content: "\f3ed"; } .fa-shield-virus:before { content: "\e06c"; } .fa-ship:before { content: "\f21a"; } .fa-shipping-fast:before { content: "\f48b"; } .fa-shirtsinbulk:before { content: "\f214"; } .fa-shoe-prints:before { content: "\f54b"; } .fa-shopify:before { content: "\e057"; } .fa-shopping-bag:before { content: "\f290"; } .fa-shopping-basket:before { content: "\f291"; } .fa-shopping-cart:before { content: "\f07a"; } .fa-shopware:before { content: "\f5b5"; } .fa-shower:before { content: "\f2cc"; } .fa-shuttle-van:before { content: "\f5b6"; } .fa-sign:before { content: "\f4d9"; } .fa-sign-in-alt:before { content: "\f2f6"; } .fa-sign-language:before { content: "\f2a7"; } .fa-sign-out-alt:before { content: "\f2f5"; } .fa-signal:before { content: "\f012"; } .fa-signature:before { content: "\f5b7"; } .fa-sim-card:before { content: "\f7c4"; } .fa-simplybuilt:before { content: "\f215"; } .fa-sink:before { content: "\e06d"; } .fa-sistrix:before { content: "\f3ee"; } .fa-sitemap:before { content: "\f0e8"; } .fa-sith:before { content: "\f512"; } .fa-skating:before { content: "\f7c5"; } .fa-sketch:before { content: "\f7c6"; } .fa-skiing:before { content: "\f7c9"; } .fa-skiing-nordic:before { content: "\f7ca"; } .fa-skull:before { content: "\f54c"; } .fa-skull-crossbones:before { content: "\f714"; } .fa-skyatlas:before { content: "\f216"; } .fa-skype:before { content: "\f17e"; } .fa-slack:before { content: "\f198"; } .fa-slack-hash:before { content: "\f3ef"; } .fa-slash:before { content: "\f715"; } .fa-sleigh:before { content: "\f7cc"; } .fa-sliders-h:before { content: "\f1de"; } .fa-slideshare:before { content: "\f1e7"; } .fa-smile:before { content: "\f118"; } .fa-smile-beam:before { content: "\f5b8"; } .fa-smile-wink:before { content: "\f4da"; } .fa-smog:before { content: "\f75f"; } .fa-smoking:before { content: "\f48d"; } .fa-smoking-ban:before { content: "\f54d"; } .fa-sms:before { content: "\f7cd"; } .fa-snapchat:before { content: "\f2ab"; } .fa-snapchat-ghost:before { content: "\f2ac"; } .fa-snapchat-square:before { content: "\f2ad"; } .fa-snowboarding:before { content: "\f7ce"; } .fa-snowflake:before { content: "\f2dc"; } .fa-snowman:before { content: "\f7d0"; } .fa-snowplow:before { content: "\f7d2"; } .fa-soap:before { content: "\e06e"; } .fa-socks:before { content: "\f696"; } .fa-solar-panel:before { content: "\f5ba"; } .fa-sort:before { content: "\f0dc"; } .fa-sort-alpha-down:before { content: "\f15d"; } .fa-sort-alpha-down-alt:before { content: "\f881"; } .fa-sort-alpha-up:before { content: "\f15e"; } .fa-sort-alpha-up-alt:before { content: "\f882"; } .fa-sort-amount-down:before { content: "\f160"; } .fa-sort-amount-down-alt:before { content: "\f884"; } .fa-sort-amount-up:before { content: "\f161"; } .fa-sort-amount-up-alt:before { content: "\f885"; } .fa-sort-down:before { content: "\f0dd"; } .fa-sort-numeric-down:before { content: "\f162"; } .fa-sort-numeric-down-alt:before { content: "\f886"; } .fa-sort-numeric-up:before { content: "\f163"; } .fa-sort-numeric-up-alt:before { content: "\f887"; } .fa-sort-up:before { content: "\f0de"; } .fa-soundcloud:before { content: "\f1be"; } .fa-sourcetree:before { content: "\f7d3"; } .fa-spa:before { content: "\f5bb"; } .fa-space-shuttle:before { content: "\f197"; } .fa-speakap:before { content: "\f3f3"; } .fa-speaker-deck:before { content: "\f83c"; } .fa-spell-check:before { content: "\f891"; } .fa-spider:before { content: "\f717"; } .fa-spinner:before { content: "\f110"; } .fa-splotch:before { content: "\f5bc"; } .fa-spotify:before { content: "\f1bc"; } .fa-spray-can:before { content: "\f5bd"; } .fa-square:before { content: "\f0c8"; } .fa-square-full:before { content: "\f45c"; } .fa-square-root-alt:before { content: "\f698"; } .fa-squarespace:before { content: "\f5be"; } .fa-stack-exchange:before { content: "\f18d"; } .fa-stack-overflow:before { content: "\f16c"; } .fa-stackpath:before { content: "\f842"; } .fa-stamp:before { content: "\f5bf"; } .fa-star:before { content: "\f005"; } .fa-star-and-crescent:before { content: "\f699"; } .fa-star-half:before { content: "\f089"; } .fa-star-half-alt:before { content: "\f5c0"; } .fa-star-of-david:before { content: "\f69a"; } .fa-star-of-life:before { content: "\f621"; } .fa-staylinked:before { content: "\f3f5"; } .fa-steam:before { content: "\f1b6"; } .fa-steam-square:before { content: "\f1b7"; } .fa-steam-symbol:before { content: "\f3f6"; } .fa-step-backward:before { content: "\f048"; } .fa-step-forward:before { content: "\f051"; } .fa-stethoscope:before { content: "\f0f1"; } .fa-sticker-mule:before { content: "\f3f7"; } .fa-sticky-note:before { content: "\f249"; } .fa-stop:before { content: "\f04d"; } .fa-stop-circle:before { content: "\f28d"; } .fa-stopwatch:before { content: "\f2f2"; } .fa-stopwatch-20:before { content: "\e06f"; } .fa-store:before { content: "\f54e"; } .fa-store-alt:before { content: "\f54f"; } .fa-store-alt-slash:before { content: "\e070"; } .fa-store-slash:before { content: "\e071"; } .fa-strava:before { content: "\f428"; } .fa-stream:before { content: "\f550"; } .fa-street-view:before { content: "\f21d"; } .fa-strikethrough:before { content: "\f0cc"; } .fa-stripe:before { content: "\f429"; } .fa-stripe-s:before { content: "\f42a"; } .fa-stroopwafel:before { content: "\f551"; } .fa-studiovinari:before { content: "\f3f8"; } .fa-stumbleupon:before { content: "\f1a4"; } .fa-stumbleupon-circle:before { content: "\f1a3"; } .fa-subscript:before { content: "\f12c"; } .fa-subway:before { content: "\f239"; } .fa-suitcase:before { content: "\f0f2"; } .fa-suitcase-rolling:before { content: "\f5c1"; } .fa-sun:before { content: "\f185"; } .fa-superpowers:before { content: "\f2dd"; } .fa-superscript:before { content: "\f12b"; } .fa-supple:before { content: "\f3f9"; } .fa-surprise:before { content: "\f5c2"; } .fa-suse:before { content: "\f7d6"; } .fa-swatchbook:before { content: "\f5c3"; } .fa-swift:before { content: "\f8e1"; } .fa-swimmer:before { content: "\f5c4"; } .fa-swimming-pool:before { content: "\f5c5"; } .fa-symfony:before { content: "\f83d"; } .fa-synagogue:before { content: "\f69b"; } .fa-sync:before { content: "\f021"; } .fa-sync-alt:before { content: "\f2f1"; } .fa-syringe:before { content: "\f48e"; } .fa-table:before { content: "\f0ce"; } .fa-table-tennis:before { content: "\f45d"; } .fa-tablet:before { content: "\f10a"; } .fa-tablet-alt:before { content: "\f3fa"; } .fa-tablets:before { content: "\f490"; } .fa-tachometer-alt:before { content: "\f3fd"; } .fa-tag:before { content: "\f02b"; } .fa-tags:before { content: "\f02c"; } .fa-tape:before { content: "\f4db"; } .fa-tasks:before { content: "\f0ae"; } .fa-taxi:before { content: "\f1ba"; } .fa-teamspeak:before { content: "\f4f9"; } .fa-teeth:before { content: "\f62e"; } .fa-teeth-open:before { content: "\f62f"; } .fa-telegram:before { content: "\f2c6"; } .fa-telegram-plane:before { content: "\f3fe"; } .fa-temperature-high:before { content: "\f769"; } .fa-temperature-low:before { content: "\f76b"; } .fa-tencent-weibo:before { content: "\f1d5"; } .fa-tenge:before { content: "\f7d7"; } .fa-terminal:before { content: "\f120"; } .fa-text-height:before { content: "\f034"; } .fa-text-width:before { content: "\f035"; } .fa-th:before { content: "\f00a"; } .fa-th-large:before { content: "\f009"; } .fa-th-list:before { content: "\f00b"; } .fa-the-red-yeti:before { content: "\f69d"; } .fa-theater-masks:before { content: "\f630"; } .fa-themeco:before { content: "\f5c6"; } .fa-themeisle:before { content: "\f2b2"; } .fa-thermometer:before { content: "\f491"; } .fa-thermometer-empty:before { content: "\f2cb"; } .fa-thermometer-full:before { content: "\f2c7"; } .fa-thermometer-half:before { content: "\f2c9"; } .fa-thermometer-quarter:before { content: "\f2ca"; } .fa-thermometer-three-quarters:before { content: "\f2c8"; } .fa-think-peaks:before { content: "\f731"; } .fa-thumbs-down:before { content: "\f165"; } .fa-thumbs-up:before { content: "\f164"; } .fa-thumbtack:before { content: "\f08d"; } .fa-ticket-alt:before { content: "\f3ff"; } .fa-tiktok:before { content: "\e07b"; } .fa-times:before { content: "\f00d"; } .fa-times-circle:before { content: "\f057"; } .fa-tint:before { content: "\f043"; } .fa-tint-slash:before { content: "\f5c7"; } .fa-tired:before { content: "\f5c8"; } .fa-toggle-off:before { content: "\f204"; } .fa-toggle-on:before { content: "\f205"; } .fa-toilet:before { content: "\f7d8"; } .fa-toilet-paper:before { content: "\f71e"; } .fa-toilet-paper-slash:before { content: "\e072"; } .fa-toolbox:before { content: "\f552"; } .fa-tools:before { content: "\f7d9"; } .fa-tooth:before { content: "\f5c9"; } .fa-torah:before { content: "\f6a0"; } .fa-torii-gate:before { content: "\f6a1"; } .fa-tractor:before { content: "\f722"; } .fa-trade-federation:before { content: "\f513"; } .fa-trademark:before { content: "\f25c"; } .fa-traffic-light:before { content: "\f637"; } .fa-trailer:before { content: "\e041"; } .fa-train:before { content: "\f238"; } .fa-tram:before { content: "\f7da"; } .fa-transgender:before { content: "\f224"; } .fa-transgender-alt:before { content: "\f225"; } .fa-trash:before { content: "\f1f8"; } .fa-trash-alt:before { content: "\f2ed"; } .fa-trash-restore:before { content: "\f829"; } .fa-trash-restore-alt:before { content: "\f82a"; } .fa-tree:before { content: "\f1bb"; } .fa-trello:before { content: "\f181"; } .fa-tripadvisor:before { content: "\f262"; } .fa-trophy:before { content: "\f091"; } .fa-truck:before { content: "\f0d1"; } .fa-truck-loading:before { content: "\f4de"; } .fa-truck-monster:before { content: "\f63b"; } .fa-truck-moving:before { content: "\f4df"; } .fa-truck-pickup:before { content: "\f63c"; } .fa-tshirt:before { content: "\f553"; } .fa-tty:before { content: "\f1e4"; } .fa-tumblr:before { content: "\f173"; } .fa-tumblr-square:before { content: "\f174"; } .fa-tv:before { content: "\f26c"; } .fa-twitch:before { content: "\f1e8"; } .fa-twitter:before { content: "\f099"; } .fa-twitter-square:before { content: "\f081"; } .fa-typo3:before { content: "\f42b"; } .fa-uber:before { content: "\f402"; } .fa-ubuntu:before { content: "\f7df"; } .fa-uikit:before { content: "\f403"; } .fa-umbraco:before { content: "\f8e8"; } .fa-umbrella:before { content: "\f0e9"; } .fa-umbrella-beach:before { content: "\f5ca"; } .fa-uncharted:before { content: "\e084"; } .fa-underline:before { content: "\f0cd"; } .fa-undo:before { content: "\f0e2"; } .fa-undo-alt:before { content: "\f2ea"; } .fa-uniregistry:before { content: "\f404"; } .fa-unity:before { content: "\e049"; } .fa-universal-access:before { content: "\f29a"; } .fa-university:before { content: "\f19c"; } .fa-unlink:before { content: "\f127"; } .fa-unlock:before { content: "\f09c"; } .fa-unlock-alt:before { content: "\f13e"; } .fa-unsplash:before { content: "\e07c"; } .fa-untappd:before { content: "\f405"; } .fa-upload:before { content: "\f093"; } .fa-ups:before { content: "\f7e0"; } .fa-usb:before { content: "\f287"; } .fa-user:before { content: "\f007"; } .fa-user-alt:before { content: "\f406"; } .fa-user-alt-slash:before { content: "\f4fa"; } .fa-user-astronaut:before { content: "\f4fb"; } .fa-user-check:before { content: "\f4fc"; } .fa-user-circle:before { content: "\f2bd"; } .fa-user-clock:before { content: "\f4fd"; } .fa-user-cog:before { content: "\f4fe"; } .fa-user-edit:before { content: "\f4ff"; } .fa-user-friends:before { content: "\f500"; } .fa-user-graduate:before { content: "\f501"; } .fa-user-injured:before { content: "\f728"; } .fa-user-lock:before { content: "\f502"; } .fa-user-md:before { content: "\f0f0"; } .fa-user-minus:before { content: "\f503"; } .fa-user-ninja:before { content: "\f504"; } .fa-user-nurse:before { content: "\f82f"; } .fa-user-plus:before { content: "\f234"; } .fa-user-secret:before { content: "\f21b"; } .fa-user-shield:before { content: "\f505"; } .fa-user-slash:before { content: "\f506"; } .fa-user-tag:before { content: "\f507"; } .fa-user-tie:before { content: "\f508"; } .fa-user-times:before { content: "\f235"; } .fa-users:before { content: "\f0c0"; } .fa-users-cog:before { content: "\f509"; } .fa-users-slash:before { content: "\e073"; } .fa-usps:before { content: "\f7e1"; } .fa-ussunnah:before { content: "\f407"; } .fa-utensil-spoon:before { content: "\f2e5"; } .fa-utensils:before { content: "\f2e7"; } .fa-vaadin:before { content: "\f408"; } .fa-vector-square:before { content: "\f5cb"; } .fa-venus:before { content: "\f221"; } .fa-venus-double:before { content: "\f226"; } .fa-venus-mars:before { content: "\f228"; } .fa-vest:before { content: "\e085"; } .fa-vest-patches:before { content: "\e086"; } .fa-viacoin:before { content: "\f237"; } .fa-viadeo:before { content: "\f2a9"; } .fa-viadeo-square:before { content: "\f2aa"; } .fa-vial:before { content: "\f492"; } .fa-vials:before { content: "\f493"; } .fa-viber:before { content: "\f409"; } .fa-video:before { content: "\f03d"; } .fa-video-slash:before { content: "\f4e2"; } .fa-vihara:before { content: "\f6a7"; } .fa-vimeo:before { content: "\f40a"; } .fa-vimeo-square:before { content: "\f194"; } .fa-vimeo-v:before { content: "\f27d"; } .fa-vine:before { content: "\f1ca"; } .fa-virus:before { content: "\e074"; } .fa-virus-slash:before { content: "\e075"; } .fa-viruses:before { content: "\e076"; } .fa-vk:before { content: "\f189"; } .fa-vnv:before { content: "\f40b"; } .fa-voicemail:before { content: "\f897"; } .fa-volleyball-ball:before { content: "\f45f"; } .fa-volume-down:before { content: "\f027"; } .fa-volume-mute:before { content: "\f6a9"; } .fa-volume-off:before { content: "\f026"; } .fa-volume-up:before { content: "\f028"; } .fa-vote-yea:before { content: "\f772"; } .fa-vr-cardboard:before { content: "\f729"; } .fa-vuejs:before { content: "\f41f"; } .fa-walking:before { content: "\f554"; } .fa-wallet:before { content: "\f555"; } .fa-warehouse:before { content: "\f494"; } .fa-watchman-monitoring:before { content: "\e087"; } .fa-water:before { content: "\f773"; } .fa-wave-square:before { content: "\f83e"; } .fa-waze:before { content: "\f83f"; } .fa-weebly:before { content: "\f5cc"; } .fa-weibo:before { content: "\f18a"; } .fa-weight:before { content: "\f496"; } .fa-weight-hanging:before { content: "\f5cd"; } .fa-weixin:before { content: "\f1d7"; } .fa-whatsapp:before { content: "\f232"; } .fa-whatsapp-square:before { content: "\f40c"; } .fa-wheelchair:before { content: "\f193"; } .fa-whmcs:before { content: "\f40d"; } .fa-wifi:before { content: "\f1eb"; } .fa-wikipedia-w:before { content: "\f266"; } .fa-wind:before { content: "\f72e"; } .fa-window-close:before { content: "\f410"; } .fa-window-maximize:before { content: "\f2d0"; } .fa-window-minimize:before { content: "\f2d1"; } .fa-window-restore:before { content: "\f2d2"; } .fa-windows:before { content: "\f17a"; } .fa-wine-bottle:before { content: "\f72f"; } .fa-wine-glass:before { content: "\f4e3"; } .fa-wine-glass-alt:before { content: "\f5ce"; } .fa-wix:before { content: "\f5cf"; } .fa-wizards-of-the-coast:before { content: "\f730"; } .fa-wodu:before { content: "\e088"; } .fa-wolf-pack-battalion:before { content: "\f514"; } .fa-won-sign:before { content: "\f159"; } .fa-wordpress:before { content: "\f19a"; } .fa-wordpress-simple:before { content: "\f411"; } .fa-wpbeginner:before { content: "\f297"; } .fa-wpexplorer:before { content: "\f2de"; } .fa-wpforms:before { content: "\f298"; } .fa-wpressr:before { content: "\f3e4"; } .fa-wrench:before { content: "\f0ad"; } .fa-x-ray:before { content: "\f497"; } .fa-xbox:before { content: "\f412"; } .fa-xing:before { content: "\f168"; } .fa-xing-square:before { content: "\f169"; } .fa-y-combinator:before { content: "\f23b"; } .fa-yahoo:before { content: "\f19e"; } .fa-yammer:before { content: "\f840"; } .fa-yandex:before { content: "\f413"; } .fa-yandex-international:before { content: "\f414"; } .fa-yarn:before { content: "\f7e3"; } .fa-yelp:before { content: "\f1e9"; } .fa-yen-sign:before { content: "\f157"; } .fa-yin-yang:before { content: "\f6ad"; } .fa-yoast:before { content: "\f2b1"; } .fa-youtube:before { content: "\f167"; } .fa-youtube-square:before { content: "\f431"; } .fa-zhihu:before { content: "\f63f"; } .sr-only { border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .sr-only-focusable:active, .sr-only-focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } @font-face { font-family: 'Font Awesome 5 Brands'; font-style: normal; font-weight: 400; font-display: block; src: url("../webfonts/fa-brands-400.eot"); src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } .fab { font-family: 'Font Awesome 5 Brands'; font-weight: 400; } @font-face { font-family: 'Font Awesome 5 Free'; font-style: normal; font-weight: 400; font-display: block; src: url("../webfonts/fa-regular-400.eot"); src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } .far { font-family: 'Font Awesome 5 Free'; font-weight: 400; } @font-face { font-family: 'Font Awesome 5 Free'; font-style: normal; font-weight: 900; font-display: block; src: url("../webfonts/fa-solid-900.eot"); src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } .fa, .fas { font-family: 'Font Awesome 5 Free'; font-weight: 900; } -------------------- END OF FILE -------------------- ### FILE 35: assets/css/fontawesome.min.css - Type: CSS - Size: 57.96 KB - Path: assets/css - Name: fontawesome.min.css ------------------------------------------------------------ /*! * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa-fw,.fa-li{text-align:center}.fab,.far{font-weight:400}.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:'Font Awesome 5 Brands'}.fa,.far,.fas{font-family:'Font Awesome 5 Free'}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-weight:900} -------------------- END OF FILE -------------------- ### FILE 36: assets/css/slick-theme.css - Type: CSS - Size: 3.12 KB - Path: assets/css - Name: slick-theme.css ------------------------------------------------------------ @charset 'UTF-8'; /* Slider */ .slick-loading .slick-list { background: #fff url('../img/ajax-loader.gif') center center no-repeat; } /* Icons */ @font-face { font-family: 'slick'; font-weight: normal; font-style: normal; src: url('../webfonts/slick.eot'); src: url('../webfonts/slick.eot?#iefix') format('embedded-opentype'), url('../webfonts/slick.woff') format('woff'), url('../webfonts/slick.ttf') format('truetype'), url('../webfonts/slick.svg#slick') format('svg'); } /* Arrows */ .slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 20px; height: 20px; padding: 0; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: none; background: transparent; } .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; } .slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; } .slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; } .slick-prev:before, .slick-next:before { font-family: 'slick'; font-size: 20px; line-height: 1; opacity: .75; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .slick-prev { left: -25px; } [dir='rtl'] .slick-prev { right: -25px; left: auto; } .slick-prev:before { content: '←'; } [dir='rtl'] .slick-prev:before { content: '→'; } .slick-next { right: -25px; } [dir='rtl'] .slick-next { right: auto; left: -25px; } .slick-next:before { content: '→'; } [dir='rtl'] .slick-next:before { content: '←'; } /* Dots */ .slick-dotted.slick-slider { margin-bottom: 30px; } .slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; } .slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; } .slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; } .slick-dots li button:hover, .slick-dots li button:focus { outline: none; } .slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; } .slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .slick-dots li.slick-active button:before { opacity: .75; color: black; } -------------------- END OF FILE -------------------- ### FILE 37: assets/css/slick-theme.min.css - Type: CSS - Size: 2.28 KB - Path: assets/css - Name: slick-theme.min.css ------------------------------------------------------------ @charset 'UTF-8';.slick-dots,.slick-next,.slick-prev{position:absolute;display:block;padding:0}.slick-dots li button:before,.slick-next:before,.slick-prev:before{font-family:slick;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-loading .slick-list{background:url(../img/ajax-loader.gif) center center no-repeat #fff}@font-face{font-family:slick;font-weight:400;font-style:normal;src:url(../webfonts/slick.eot);src:url(../webfonts/slick.eot?#iefix) format('embedded-opentype'),url(../webfonts/slick.woff) format('woff'),url(../webfonts/slick.ttf) format('truetype'),url(../webfonts/slick.svg#slick) format('svg')}.slick-next,.slick-prev{font-size:0;line-height:0;top:50%;width:20px;height:20px;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0}.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{font-size:20px;line-height:1;opacity:.75;color:#fff}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←'}.slick-next:before,[dir=rtl] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}[dir=rtl] .slick-next:before{content:'←'}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{bottom:-25px;width:100%;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000}.slick-dots li.slick-active button:before{opacity:.75;color:#000} -------------------- END OF FILE -------------------- ### FILE 38: assets/css/slick.min.css - Type: CSS - Size: 1.34 KB - Path: assets/css - Name: slick.min.css ------------------------------------------------------------ .slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none} /*# sourceMappingURL=slick.min.css.map */ -------------------- END OF FILE -------------------- ### FILE 39: assets/css/templatemo.css - Type: CSS - Size: 5.34 KB - Path: assets/css - Name: templatemo.css ------------------------------------------------------------ /* TemplateMo 559 Zay Shop https://templatemo.com/tm-559-zay-shop --------------------------------------------- Table of contents ------------------------------------------------ 1. Typography 2. General 3. Nav 4. Hero Carousel 5. Accordion 6. Shop 7. Product 8. Carousel Hero 9. Carousel Brand 10. Services 11. Contact map 12. Footer 13. Small devices (landscape phones, 576px and up) 14. Medium devices (tablets, 768px and up) 15. Large devices (desktops, 992px and up) 16. Extra large devices (large desktops, 1200px and up) --------------------------------------------- */ /* Typography */ body, ul, li, p, a, label, input, div { font-family: 'Roboto', sans-serif; font-size: 18px !important; font-weight: 300 !important; } .h1 { font-family: 'Roboto', sans-serif; font-size: 48px !important; font-weight: 200 !important; } .h2 { font-family: 'Roboto', sans-serif; font-size: 30px !important; font-weight: 300; } .h3 { font-family: 'Roboto', sans-serif; font-size: 22px !important; } /* General */ .logo { font-weight: 500 !important;} .text-warning { color: #ede861 !important;} .text-muted { color: #bcbcbc !important;} .text-success { color: #59ab6e !important;} .text-light { color: #cfd6e1 !important;} .bg-dark { background-color: #212934 !important;} .bg-light { background-color: #e9eef5 !important;} .bg-black { background-color: #1d242d !important;} .bg-success { background-color: #59ab6e !important;} .btn-success { background-color: #59ab6e !important; border-color: #56ae6c !important; } .pagination .page-link:hover {color: #000;} .pagination .page-link:hover, .pagination .page-link.active { background-color: #69bb7e; color: #fff; } /* Nav */ #templatemo_nav_top { min-height: 40px;} #templatemo_nav_top * { font-size: .9em !important;} #templatemo_main_nav a { color: #212934;} #templatemo_main_nav a:hover { color: #69bb7e;} #templatemo_main_nav .navbar .nav-icon { margin-right: 20px;} /* Hero Carousel */ #template-mo-zay-hero-carousel { background: #f2cc8e !important;} /* Accordion */ .templatemo-accordion a { color: #000;} .templatemo-accordion a:hover { color: #333d4a;} /* Shop */ .shop-top-menu a:hover { color: #69bb7e !important;} /* Product */ .product-wap { box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.10);} .product-wap .product-color-dot.color-dot-red { background:#f71515;} .product-wap .product-color-dot.color-dot-blue { background:#6db4fe;} .product-wap .product-color-dot.color-dot-black { background:#000000;} .product-wap .product-color-dot.color-dot-light { background:#e0e0e0;} .product-wap .product-color-dot.color-dot-green { background:#0bff7e;} .card.product-wap .card .product-overlay { background: rgba(0,0,0,.2); visibility: hidden; opacity: 0; transition: .3s; } .card.product-wap:hover .card .product-overlay { visibility: visible; opacity: 1; } .card.product-wap a { color: #000;} #carousel-related-product .slick-slide:focus { outline: none !important;} #carousel-related-product .slick-dots li button:before { font-size: 15px; margin-top: 20px; } /* Brand */ .brand-img { filter: grayscale(100%); opacity: 0.5; transition: .5s; } .brand-img:hover { filter: grayscale(0%); opacity: 1; } /* Carousel Hero */ #template-mo-zay-hero-carousel .carousel-indicators li { margin-top: -50px; background-color: #59ab6e; } #template-mo-zay-hero-carousel .carousel-control-next i, #template-mo-zay-hero-carousel .carousel-control-prev i { color: #59ab6e !important; font-size: 2.8em !important; } /* Carousel Brand */ .tempaltemo-carousel .h1 { font-size: .5em !important; color: #000 !important; } /* Services */ .services-icon-wap {transition: .3s;} .services-icon-wap:hover, .services-icon-wap:hover i {color: #fff;} .services-icon-wap:hover {background: #69bb7e;} /* Contact map */ .leaflet-control a, .leaflet-control { font-size: 10px !important;} .form-control { border: 1px solid #e8e8e8;} /* Footer */ #tempaltemo_footer a { color: #dcdde1;} #tempaltemo_footer a:hover { color: #68bb7d;} #tempaltemo_footer ul.footer-link-list li { padding-top: 10px;} #tempaltemo_footer ul.footer-icons li { width: 2.6em; height: 2.6em; line-height: 2.6em; } #tempaltemo_footer ul.footer-icons li:hover { background-color: #cfd6e1; transition: .5s; } #tempaltemo_footer ul.footer-icons li:hover i { color: #212934; transition: .5s; } #tempaltemo_footer .border-light { border-color: #2d343f !important;} /* // Extra small devices (portrait phones, less than 576px) // No media query since this is the default in Bootstrap */ /* Small devices (landscape phones, 576px and up)*/ .product-wap .h3, .product-wap li, .product-wap i, .product-wap p { font-size: 12px !important; } .product-wap .product-color-dot { width: 6px; height: 6px; } @media (min-width: 576px) { .tempaltemo-carousel .h1 { font-size: 1em !important;} } /*// Medium devices (tablets, 768px and up)*/ @media (min-width: 768px) { #templatemo_main_nav .navbar-nav {max-width: 450px;} } /* Large devices (desktops, 992px and up)*/ @media (min-width: 992px) { #templatemo_main_nav .navbar-nav {max-width: 550px;} #template-mo-zay-hero-carousel .carousel-item {min-height: 30rem !important;} .product-wap .h3, .product-wap li, .product-wap i, .product-wap p {font-size: 18px !important;} .product-wap .product-color-dot { width: 12px; height: 12px; } } /* Extra large devices (large desktops, 1200px and up)*/ @media (min-width: 1200px) {} -------------------- END OF FILE -------------------- ### FILE 40: assets/css/templatemo.min.css - Type: CSS - Size: 3.57 KB - Path: assets/css - Name: templatemo.min.css ------------------------------------------------------------ .h1,.h2,.h3,a,body,div,input,label,li,p,ul{font-family:Roboto,sans-serif}a,body,div,input,label,li,p,ul{font-size:18px!important;font-weight:300!important}.h1{font-size:48px!important;font-weight:200!important}.h2{font-size:30px!important;font-weight:300}.h3{font-size:22px!important}.logo{font-weight:500!important}.text-warning{color:#ede861!important}.text-muted{color:#bcbcbc!important}.text-success{color:#59ab6e!important}.text-light{color:#cfd6e1!important}.bg-dark{background-color:#212934!important}.bg-light{background-color:#e9eef5!important}.bg-black{background-color:#1d242d!important}.bg-success,.btn-success{background-color:#59ab6e!important}.btn-success{border-color:#56ae6c!important}.pagination .page-link.active,.pagination .page-link:hover{background-color:#69bb7e;color:#fff}#templatemo_nav_top{min-height:40px}#templatemo_nav_top *{font-size:.9em!important}#templatemo_main_nav a{color:#212934}#templatemo_main_nav a:hover{color:#69bb7e}#templatemo_main_nav .navbar .nav-icon{margin-right:20px}#template-mo-zay-hero-carousel{background:#efefef!important}.templatemo-accordion a{color:#000}.templatemo-accordion a:hover{color:#333d4a}.shop-top-menu a:hover{color:#69bb7e!important}.product-wap{box-shadow:0 5px 10px 0 rgba(0,0,0,.1)}.product-wap .product-color-dot.color-dot-red{background:#f71515}.product-wap .product-color-dot.color-dot-blue{background:#6db4fe}.product-wap .product-color-dot.color-dot-black{background:#000}.product-wap .product-color-dot.color-dot-light{background:#e0e0e0}.product-wap .product-color-dot.color-dot-green{background:#0bff7e}.card.product-wap .card .product-overlay{background:rgba(0,0,0,.2);visibility:hidden;opacity:0;transition:.3s}.card.product-wap:hover .card .product-overlay{visibility:visible;opacity:1}.card.product-wap a{color:#000}#carousel-related-product .slick-slide:focus{outline:0!important}#carousel-related-product .slick-dots li button:before{font-size:15px;margin-top:20px}.brand-img{filter:grayscale(100%);opacity:.5;transition:.5s}.brand-img:hover{filter:grayscale(0);opacity:1}#template-mo-zay-hero-carousel .carousel-indicators li{margin-top:-50px;background-color:#59ab6e}#template-mo-zay-hero-carousel .carousel-control-next i,#template-mo-zay-hero-carousel .carousel-control-prev i{color:#59ab6e!important;font-size:2.8em!important}.tempaltemo-carousel .h1{font-size:.5em!important;color:#000!important}.services-icon-wap{transition:.3s}.services-icon-wap:hover,.services-icon-wap:hover i{color:#fff}.services-icon-wap:hover{background:#69bb7e}.leaflet-control,.leaflet-control a{font-size:10px!important}.form-control{border:1px solid #e8e8e8}#tempaltemo_footer a{color:#dcdde1}#tempaltemo_footer a:hover{color:#68bb7d}#tempaltemo_footer ul.footer-link-list li{padding-top:10px}#tempaltemo_footer ul.footer-icons li{width:2.6em;height:2.6em;line-height:2.6em}#tempaltemo_footer ul.footer-icons li:hover{background-color:#cfd6e1;transition:.5s}#tempaltemo_footer ul.footer-icons li:hover i{color:#212934;transition:.5s}#tempaltemo_footer .border-light{border-color:#2d343f!important}.product-wap .h3,.product-wap i,.product-wap li,.product-wap p{font-size:12px!important}.product-wap .product-color-dot{width:6px;height:6px}@media (min-width:576px){.tempaltemo-carousel .h1{font-size:1em!important}}@media (min-width:768px){#templatemo_main_nav .navbar-nav{max-width:450px}}@media (min-width:992px){#templatemo_main_nav .navbar-nav{max-width:550px}#template-mo-zay-hero-carousel .carousel-item{min-height:30rem!important}.product-wap .h3,.product-wap i,.product-wap li,.product-wap p{font-size:18px!important}.product-wap .product-color-dot{width:12px;height:12px}} -------------------- END OF FILE -------------------- ### FILE 41: assets/img/about-hero.svg - Type: SVG - Size: 45.2 KB - Path: assets/img - Name: about-hero.svg ------------------------------------------------------------ [IMAGE FILE: SVG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 42: assets/img/ajax-loader.gif - Type: GIF - Size: 4.04 KB - Path: assets/img - Name: ajax-loader.gif ------------------------------------------------------------ [IMAGE FILE: GIF - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 43: assets/img/apple-icon.png - Type: PNG - Size: 3.92 KB - Path: assets/img - Name: apple-icon.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 44: assets/img/banner_img_01.jpg - Type: JPG - Size: 62.43 KB - Path: assets/img - Name: banner_img_01.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 45: assets/img/banner_img_01.png - Type: PNG - Size: 1007.44 KB - Path: assets/img - Name: banner_img_01.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 46: assets/img/banner_img_02.jpg - Type: JPG - Size: 58.41 KB - Path: assets/img - Name: banner_img_02.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 47: assets/img/banner_img_03.jpg - Type: JPG - Size: 57.97 KB - Path: assets/img - Name: banner_img_03.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 48: assets/img/brand_01.png - Type: PNG - Size: 47.05 KB - Path: assets/img - Name: brand_01.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 49: assets/img/brand_02.png - Type: PNG - Size: 13.86 KB - Path: assets/img - Name: brand_02.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 50: assets/img/brand_03.png - Type: PNG - Size: 76.83 KB - Path: assets/img - Name: brand_03.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 51: assets/img/brand_04.png - Type: PNG - Size: 93.36 KB - Path: assets/img - Name: brand_04.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 52: assets/img/category_img_01.jpg - Type: JPG - Size: 152.3 KB - Path: assets/img - Name: category_img_01.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 53: assets/img/category_img_02.jpg - Type: JPG - Size: 78.61 KB - Path: assets/img - Name: category_img_02.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 54: assets/img/category_img_03.jpg - Type: JPG - Size: 97.9 KB - Path: assets/img - Name: category_img_03.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 55: assets/img/favicon.ico - Type: ICO - Size: 1.12 KB - Path: assets/img - Name: favicon.ico ------------------------------------------------------------ [BINARY/UNKNOWN FILE: ICO - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 56: assets/img/favicon.png - Type: PNG - Size: 1.64 KB - Path: assets/img - Name: favicon.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 57: assets/img/feature_prod_01.jpg - Type: JPG - Size: 40.7 KB - Path: assets/img - Name: feature_prod_01.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 58: assets/img/feature_prod_02.jpg - Type: JPG - Size: 33.52 KB - Path: assets/img - Name: feature_prod_02.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 59: assets/img/feature_prod_03.jpg - Type: JPG - Size: 43.67 KB - Path: assets/img - Name: feature_prod_03.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 60: assets/img/krea logo - ppt.png - Type: PNG - Size: 433.39 KB - Path: assets/img - Name: krea logo - ppt.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 61: assets/img/product_single_01.jpg - Type: JPG - Size: 72.29 KB - Path: assets/img - Name: product_single_01.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 62: assets/img/product_single_02.jpg - Type: JPG - Size: 80.15 KB - Path: assets/img - Name: product_single_02.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 63: assets/img/product_single_03.jpg - Type: JPG - Size: 59.2 KB - Path: assets/img - Name: product_single_03.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 64: assets/img/product_single_04.jpg - Type: JPG - Size: 66.41 KB - Path: assets/img - Name: product_single_04.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 65: assets/img/product_single_05.jpg - Type: JPG - Size: 57.42 KB - Path: assets/img - Name: product_single_05.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 66: assets/img/product_single_06.jpg - Type: JPG - Size: 62.92 KB - Path: assets/img - Name: product_single_06.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 67: assets/img/product_single_07.jpg - Type: JPG - Size: 79.13 KB - Path: assets/img - Name: product_single_07.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 68: assets/img/product_single_08.jpg - Type: JPG - Size: 69.82 KB - Path: assets/img - Name: product_single_08.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 69: assets/img/product_single_09.jpg - Type: JPG - Size: 77.94 KB - Path: assets/img - Name: product_single_09.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 70: assets/img/product_single_10.jpg - Type: JPG - Size: 50.34 KB - Path: assets/img - Name: product_single_10.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 71: assets/img/shop_01.jpg - Type: JPG - Size: 128.46 KB - Path: assets/img - Name: shop_01.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 72: assets/img/shop_02.jpg - Type: JPG - Size: 180.01 KB - Path: assets/img - Name: shop_02.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 73: assets/img/shop_03.jpg - Type: JPG - Size: 123.12 KB - Path: assets/img - Name: shop_03.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 74: assets/img/shop_04.jpg - Type: JPG - Size: 156.28 KB - Path: assets/img - Name: shop_04.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 75: assets/img/shop_05.jpg - Type: JPG - Size: 91.2 KB - Path: assets/img - Name: shop_05.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 76: assets/img/shop_06.jpg - Type: JPG - Size: 115.03 KB - Path: assets/img - Name: shop_06.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 77: assets/img/shop_07.jpg - Type: JPG - Size: 233.8 KB - Path: assets/img - Name: shop_07.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 78: assets/img/shop_08.jpg - Type: JPG - Size: 134.31 KB - Path: assets/img - Name: shop_08.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 79: assets/img/shop_09.jpg - Type: JPG - Size: 162.44 KB - Path: assets/img - Name: shop_09.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 80: assets/img/shop_10.jpg - Type: JPG - Size: 155.8 KB - Path: assets/img - Name: shop_10.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 81: assets/img/shop_11.jpg - Type: JPG - Size: 138.95 KB - Path: assets/img - Name: shop_11.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 82: assets/js/bootstrap.bundle.min.js - Type: JS - Size: 78.93 KB - Path: assets/js - Name: bootstrap.bundle.min.js ------------------------------------------------------------ /*! * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n0,i._pointerEvent=Boolean(window.PointerEvent),i._addEventListeners(),i}i(o,t);var r=o.prototype;return r.next=function(){this._isSliding||this._slide("next")},r.nextWhenVisible=function(){!document.hidden&&g(this._element)&&this.next()},r.prev=function(){this._isSliding||this._slide("prev")},r.pause=function(t){t||(this._isPaused=!0),q.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(f(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},r.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},r.to=function(t){var e=this;this._activeElement=q.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)H.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},r.dispose=function(){t.prototype.dispose.call(this),H.off(this._element,V),this._items=null,this._config=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},r._getConfig=function(t){return t=n({},X,t),p(z,t,$),t},r._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},r._addEventListeners=function(){var t=this;this._config.keyboard&&H.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(H.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),H.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},r._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&G[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&G[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};q.find(".carousel-item img",this._element).forEach((function(t){H.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(H.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),H.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(H.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),H.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),H.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},r._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},r._getItemIndex=function(t){return this._items=t&&t.parentNode?q.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},r._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},r._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(q.findOne(".active.carousel-item",this._element));return H.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},r._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=q.find(".active",this._indicatorsElement),n=0;n0)for(var i=0;i=0}function wt(t){return((ht(t)?t.ownerDocument:t.document)||window.document).documentElement}function Et(t){return"html"===ft(t)?t:t.assignedSlot||t.parentNode||t.host||wt(t)}function Tt(t){if(!pt(t)||"fixed"===bt(t).position)return null;var e=t.offsetParent;if(e){var n=wt(e);if("body"===ft(e)&&"static"===bt(e).position&&"static"!==bt(n).position)return n}return e}function kt(t){for(var e=dt(t),n=Tt(t);n&&yt(n)&&"static"===bt(n).position;)n=Tt(n);return n&&"body"===ft(n)&&"static"===bt(n).position?e:n||function(t){for(var e=Et(t);pt(e)&&["html","body"].indexOf(ft(e))<0;){var n=bt(e);if("none"!==n.transform||"none"!==n.perspective||n.willChange&&"auto"!==n.willChange)return e;e=e.parentNode}return null}(t)||e}function Ot(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Lt(t,e,n){return Math.max(t,Math.min(e,n))}function At(t){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),t)}function Ct(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}var Dt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,n=t.state,i=t.name,o=n.elements.arrow,r=n.modifiersData.popperOffsets,s=mt(n.placement),a=Ot(s),l=[st,rt].indexOf(s)>=0?"height":"width";if(o&&r){var c=n.modifiersData[i+"#persistent"].padding,u=vt(o),f="y"===a?it:st,d="y"===a?ot:rt,h=n.rects.reference[l]+n.rects.reference[a]-r[a]-n.rects.popper[l],p=r[a]-n.rects.reference[a],g=kt(o),m=g?"y"===a?g.clientHeight||0:g.clientWidth||0:0,v=h/2-p/2,_=c[f],b=m-u[l]-c[d],y=m/2-u[l]/2+v,w=Lt(_,y,b),E=a;n.modifiersData[i]=((e={})[E]=w,e.centerOffset=w-y,e)}},effect:function(t){var e=t.state,n=t.options,i=t.name,o=n.element,r=void 0===o?"[data-popper-arrow]":o,s=n.padding,a=void 0===s?0:s;null!=r&&("string"!=typeof r||(r=e.elements.popper.querySelector(r)))&&_t(e.elements.popper,r)&&(e.elements.arrow=r,e.modifiersData[i+"#persistent"]={padding:At("number"!=typeof a?a:Ct(a,at))})},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},xt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function St(t){var e,n=t.popper,i=t.popperRect,o=t.placement,r=t.offsets,s=t.position,a=t.gpuAcceleration,l=t.adaptive,c=function(t){var e=t.x,n=t.y,i=window.devicePixelRatio||1;return{x:Math.round(e*i)/i||0,y:Math.round(n*i)/i||0}}(r),u=c.x,f=c.y,d=r.hasOwnProperty("x"),h=r.hasOwnProperty("y"),p=st,g=it,m=window;if(l){var v=kt(n);v===dt(n)&&(v=wt(n)),o===it&&(g=ot,f-=v.clientHeight-i.height,f*=a?1:-1),o===st&&(p=rt,u-=v.clientWidth-i.width,u*=a?1:-1)}var _,b=Object.assign({position:s},l&&xt);return a?Object.assign(Object.assign({},b),{},((_={})[g]=h?"0":"",_[p]=d?"0":"",_.transform=(m.devicePixelRatio||1)<2?"translate("+u+"px, "+f+"px)":"translate3d("+u+"px, "+f+"px, 0)",_)):Object.assign(Object.assign({},b),{},((e={})[g]=h?f+"px":"",e[p]=d?u+"px":"",e.transform="",e))}var jt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,n=t.options,i=n.gpuAcceleration,o=void 0===i||i,r=n.adaptive,s=void 0===r||r,a={placement:mt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign(Object.assign({},e.styles.popper),St(Object.assign(Object.assign({},a),{},{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign(Object.assign({},e.styles.arrow),St(Object.assign(Object.assign({},a),{},{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1})))),e.attributes.popper=Object.assign(Object.assign({},e.attributes.popper),{},{"data-popper-placement":e.placement})},data:{}},Nt={passive:!0};var It={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,n=t.instance,i=t.options,o=i.scroll,r=void 0===o||o,s=i.resize,a=void 0===s||s,l=dt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&c.forEach((function(t){t.addEventListener("scroll",n.update,Nt)})),a&&l.addEventListener("resize",n.update,Nt),function(){r&&c.forEach((function(t){t.removeEventListener("scroll",n.update,Nt)})),a&&l.removeEventListener("resize",n.update,Nt)}},data:{}},Pt={left:"right",right:"left",bottom:"top",top:"bottom"};function Mt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Pt[t]}))}var Bt={start:"end",end:"start"};function Ht(t){return t.replace(/start|end/g,(function(t){return Bt[t]}))}function Rt(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function Wt(t){var e=dt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Kt(t){return Rt(wt(t)).left+Wt(t).scrollLeft}function Qt(t){var e=bt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+i)}function Ut(t,e){void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(ft(e))>=0?e.ownerDocument.body:pt(e)&&Qt(e)?e:t(Et(e))}(t),i="body"===ft(n),o=dt(n),r=i?[o].concat(o.visualViewport||[],Qt(n)?n:[]):n,s=e.concat(r);return i?s:s.concat(Ut(Et(r)))}function Ft(t){return Object.assign(Object.assign({},t),{},{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Yt(t,e){return"viewport"===e?Ft(function(t){var e=dt(t),n=wt(t),i=e.visualViewport,o=n.clientWidth,r=n.clientHeight,s=0,a=0;return i&&(o=i.width,r=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=i.offsetLeft,a=i.offsetTop)),{width:o,height:r,x:s+Kt(t),y:a}}(t)):pt(e)?function(t){var e=Rt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Ft(function(t){var e=wt(t),n=Wt(t),i=t.ownerDocument.body,o=Math.max(e.scrollWidth,e.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=Math.max(e.scrollHeight,e.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-n.scrollLeft+Kt(t),a=-n.scrollTop;return"rtl"===bt(i||e).direction&&(s+=Math.max(e.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:s,y:a}}(wt(t)))}function qt(t,e,n){var i="clippingParents"===e?function(t){var e=Ut(Et(t)),n=["absolute","fixed"].indexOf(bt(t).position)>=0&&pt(t)?kt(t):t;return ht(n)?e.filter((function(t){return ht(t)&&_t(t,n)&&"body"!==ft(t)})):[]}(t):[].concat(e),o=[].concat(i,[n]),r=o[0],s=o.reduce((function(e,n){var i=Yt(t,n);return e.top=Math.max(i.top,e.top),e.right=Math.min(i.right,e.right),e.bottom=Math.min(i.bottom,e.bottom),e.left=Math.max(i.left,e.left),e}),Yt(t,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function zt(t){return t.split("-")[1]}function Vt(t){var e,n=t.reference,i=t.element,o=t.placement,r=o?mt(o):null,s=o?zt(o):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(r){case it:e={x:a,y:n.y-i.height};break;case ot:e={x:a,y:n.y+n.height};break;case rt:e={x:n.x+n.width,y:l};break;case st:e={x:n.x-i.width,y:l};break;default:e={x:n.x,y:n.y}}var c=r?Ot(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case"start":e[c]=Math.floor(e[c])-Math.floor(n[u]/2-i[u]/2);break;case"end":e[c]=Math.floor(e[c])+Math.ceil(n[u]/2-i[u]/2)}}return e}function Xt(t,e){void 0===e&&(e={});var n=e,i=n.placement,o=void 0===i?t.placement:i,r=n.boundary,s=void 0===r?"clippingParents":r,a=n.rootBoundary,l=void 0===a?"viewport":a,c=n.elementContext,u=void 0===c?"popper":c,f=n.altBoundary,d=void 0!==f&&f,h=n.padding,p=void 0===h?0:h,g=At("number"!=typeof p?p:Ct(p,at)),m="popper"===u?"reference":"popper",v=t.elements.reference,_=t.rects.popper,b=t.elements[d?m:u],y=qt(ht(b)?b:b.contextElement||wt(t.elements.popper),s,l),w=Rt(v),E=Vt({reference:w,element:_,strategy:"absolute",placement:o}),T=Ft(Object.assign(Object.assign({},_),E)),k="popper"===u?T:w,O={top:y.top-k.top+g.top,bottom:k.bottom-y.bottom+g.bottom,left:y.left-k.left+g.left,right:k.right-y.right+g.right},L=t.modifiersData.offset;if("popper"===u&&L){var A=L[o];Object.keys(O).forEach((function(t){var e=[rt,ot].indexOf(t)>=0?1:-1,n=[it,ot].indexOf(t)>=0?"y":"x";O[t]+=A[n]*e}))}return O}function $t(t,e){void 0===e&&(e={});var n=e,i=n.placement,o=n.boundary,r=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?ct:l,u=zt(i),f=u?a?lt:lt.filter((function(t){return zt(t)===u})):at,d=f.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=f);var h=d.reduce((function(e,n){return e[n]=Xt(t,{placement:n,boundary:o,rootBoundary:r,padding:s})[mt(n)],e}),{});return Object.keys(h).sort((function(t,e){return h[t]-h[e]}))}var Gt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,i=t.name;if(!e.modifiersData[i]._skip){for(var o=n.mainAxis,r=void 0===o||o,s=n.altAxis,a=void 0===s||s,l=n.fallbackPlacements,c=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,h=n.flipVariations,p=void 0===h||h,g=n.allowedAutoPlacements,m=e.options.placement,v=mt(m),_=l||(v===m||!p?[Mt(m)]:function(t){if("auto"===mt(t))return[];var e=Mt(t);return[Ht(t),e,Ht(e)]}(m)),b=[m].concat(_).reduce((function(t,n){return t.concat("auto"===mt(n)?$t(e,{placement:n,boundary:u,rootBoundary:f,padding:c,flipVariations:p,allowedAutoPlacements:g}):n)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,T=!0,k=b[0],O=0;O=0,x=D?"width":"height",S=Xt(e,{placement:L,boundary:u,rootBoundary:f,altBoundary:d,padding:c}),j=D?C?rt:st:C?ot:it;y[x]>w[x]&&(j=Mt(j));var N=Mt(j),I=[];if(r&&I.push(S[A]<=0),a&&I.push(S[j]<=0,S[N]<=0),I.every((function(t){return t}))){k=L,T=!1;break}E.set(L,I)}if(T)for(var P=function(t){var e=b.find((function(e){var n=E.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return k=e,"break"},M=p?3:1;M>0;M--){if("break"===P(M))break}e.placement!==k&&(e.modifiersData[i]._skip=!0,e.placement=k,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Zt(t,e,n){return void 0===n&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function Jt(t){return[it,rt,ot,st].some((function(e){return t[e]>=0}))}var te={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,n=t.name,i=e.rects.reference,o=e.rects.popper,r=e.modifiersData.preventOverflow,s=Xt(e,{elementContext:"reference"}),a=Xt(e,{altBoundary:!0}),l=Zt(s,i),c=Zt(a,o,r),u=Jt(l),f=Jt(c);e.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:f},e.attributes.popper=Object.assign(Object.assign({},e.attributes.popper),{},{"data-popper-reference-hidden":u,"data-popper-escaped":f})}};var ee={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,i=t.name,o=n.offset,r=void 0===o?[0,0]:o,s=ct.reduce((function(t,n){return t[n]=function(t,e,n){var i=mt(t),o=[st,it].indexOf(i)>=0?-1:1,r="function"==typeof n?n(Object.assign(Object.assign({},e),{},{placement:t})):n,s=r[0],a=r[1];return s=s||0,a=(a||0)*o,[st,rt].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(n,e.rects,r),t}),{}),a=s[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[i]=s}};var ne={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,n=t.name;e.modifiersData[n]=Vt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};var ie={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,i=t.name,o=n.mainAxis,r=void 0===o||o,s=n.altAxis,a=void 0!==s&&s,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,h=void 0===d||d,p=n.tetherOffset,g=void 0===p?0:p,m=Xt(e,{boundary:l,rootBoundary:c,padding:f,altBoundary:u}),v=mt(e.placement),_=zt(e.placement),b=!_,y=Ot(v),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,T=e.rects.reference,k=e.rects.popper,O="function"==typeof g?g(Object.assign(Object.assign({},e.rects),{},{placement:e.placement})):g,L={x:0,y:0};if(E){if(r){var A="y"===y?it:st,C="y"===y?ot:rt,D="y"===y?"height":"width",x=E[y],S=E[y]+m[A],j=E[y]-m[C],N=h?-k[D]/2:0,I="start"===_?T[D]:k[D],P="start"===_?-k[D]:-T[D],M=e.elements.arrow,B=h&&M?vt(M):{width:0,height:0},H=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=H[A],W=H[C],K=Lt(0,T[D],B[D]),Q=b?T[D]/2-N-K-R-O:I-K-R-O,U=b?-T[D]/2+N+K+W+O:P+K+W+O,F=e.elements.arrow&&kt(e.elements.arrow),Y=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,q=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,z=E[y]+Q-q-Y,V=E[y]+U-q,X=Lt(h?Math.min(S,z):S,x,h?Math.max(j,V):j);E[y]=X,L[y]=X-x}if(a){var $="x"===y?it:st,G="x"===y?ot:rt,Z=E[w],J=Lt(Z+m[$],Z,Z-m[G]);E[w]=J,L[w]=J-Z}e.modifiersData[i]=L}},requiresIfExists:["offset"]};function oe(t,e,n){void 0===n&&(n=!1);var i,o,r=wt(e),s=Rt(t),a=pt(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!n)&&(("body"!==ft(e)||Qt(r))&&(l=(i=e)!==dt(i)&&pt(i)?{scrollLeft:(o=i).scrollLeft,scrollTop:o.scrollTop}:Wt(i)),pt(e)?((c=Rt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=Kt(r))),{x:s.left+l.scrollLeft-c.x,y:s.top+l.scrollTop-c.y,width:s.width,height:s.height}}function re(t){var e=new Map,n=new Set,i=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||function t(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(i){if(!n.has(i)){var o=e.get(i);o&&t(o)}})),i.push(o)}(t)})),i}var se={placement:"bottom",modifiers:[],strategy:"absolute"};function ae(){for(var t=arguments.length,e=new Array(t),n=0;n0&&r--,"ArrowDown"===t.key&&rdocument.documentElement.clientHeight;e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var n=u(this._dialog);H.off(this._element,"transitionend"),H.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static"),e||(H.one(t._element,"transitionend",(function(){t._element.style.overflowY=""})),h(t._element,n))})),h(this._element,n),this._element.focus()}},r._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;(!this._isBodyOverflowing&&t&&!y||this._isBodyOverflowing&&!t&&y)&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),(this._isBodyOverflowing&&!t&&!y||!this._isBodyOverflowing&&t&&y)&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},r._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},r._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",container:!1,fallbackPlacements:null,boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:xe,popperConfig:null},He={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Re=function(t){function o(e,n){var i;if(void 0===de)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");return(i=t.call(this,e)||this)._isEnabled=!0,i._timeout=0,i._hoverState="",i._activeTrigger={},i._popper=null,i.config=i._getConfig(n),i.tip=null,i._setListeners(),i}i(o,t);var r=o.prototype;return r.enable=function(){this._isEnabled=!0},r.disable=function(){this._isEnabled=!1},r.toggleEnabled=function(){this._isEnabled=!this._isEnabled},r.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=T(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},r.dispose=function(){clearTimeout(this._timeout),H.off(this._element,this.constructor.EVENT_KEY),H.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.config=null,this.tip=null,t.prototype.dispose.call(this)},r.show=function(){var t=this;if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=H.trigger(this._element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this._element),i=null===n?this._element.ownerDocument.documentElement.contains(this._element):n.contains(this._element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=s(this.constructor.NAME);o.setAttribute("id",r),this._element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add("fade");var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this._element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var c=this._getContainer();E(o,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||c.appendChild(o),H.trigger(this._element,this.constructor.Event.INSERTED),this._popper=fe(this._element,o,this._getPopperConfig(l)),o.classList.add("show");var f,d,p="function"==typeof this.config.customClass?this.config.customClass():this.config.customClass;if(p)(f=o.classList).add.apply(f,p.split(" "));if("ontouchstart"in document.documentElement)(d=[]).concat.apply(d,document.body.children).forEach((function(t){H.on(t,"mouseover",(function(){}))}));var g=function(){var e=t._hoverState;t._hoverState=null,H.trigger(t._element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var m=u(this.tip);H.one(this.tip,"transitionend",g),h(this.tip,m)}else g()}},r.hide=function(){var t=this;if(this._popper){var e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t._element.removeAttribute("aria-describedby"),H.trigger(t._element,t.constructor.Event.HIDDEN),t._popper&&(t._popper.destroy(),t._popper=null)};if(!H.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return H.off(t,"mouseover",m)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=u(e);H.one(e,"transitionend",n),h(e,o)}else n();this._hoverState=""}}},r.update=function(){null!==this._popper&&this._popper.update()},r.isWithContent=function(){return Boolean(this.getTitle())},r.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},r.setContent=function(){var t=this.getTipElement();this.setElementContent(q.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},r.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&d(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Se(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},r.getTitle=function(){var t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this._element):this.config.title),t},r.updateAttachment=function(t){return"right"===t?"end":"left"===t?"start":t},r._getPopperConfig=function(t){var e=this,i={name:"flip",options:{altBoundary:!0}};return this.config.fallbackPlacements&&(i.options.fallbackPlacements=this.config.fallbackPlacements),n({},{placement:t,modifiers:[i,{name:"preventOverflow",options:{rootBoundary:this.config.boundary}},{name:"arrow",options:{element:"."+this.constructor.NAME+"-arrow"}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:function(t){return e._handlePopperPlacementChange(t)}}],onFirstUpdate:function(t){t.options.placement!==t.placement&&e._handlePopperPlacementChange(t)}},this.config.popperConfig)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))},r._getContainer=function(){return!1===this.config.container?document.body:d(this.config.container)?this.config.container:q.findOne(this.config.container)},r._getAttachment=function(t){return Me[t.toUpperCase()]},r._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)H.on(t._element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;H.on(t._element,n,t.config.selector,(function(e){return t._enter(e)})),H.on(t._element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t._element&&t.hide()},H.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=n({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},r._fixTitle=function(){var t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))},r._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},r._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),E(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},r._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},r._getConfig=function(t){var e=Y.getDataAttributes(this._element);return Object.keys(e).forEach((function(t){Ie.has(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=n({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),p(je,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.allowList,t.sanitizeFn)),t},r._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Ne);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},r._handlePopperPlacementChange=function(t){var e=t.state;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))},o.jQueryInterface=function(t){return this.each((function(){var e=T(this,"bs.tooltip"),n="object"==typeof t&&t;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},e(o,null,[{key:"Default",get:function(){return Be}},{key:"NAME",get:function(){return je}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return He}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Pe}}]),o}(R);b((function(){var t=_();if(t){var e=t.fn[je];t.fn[je]=Re.jQueryInterface,t.fn[je].Constructor=Re,t.fn[je].noConflict=function(){return t.fn[je]=e,Re.jQueryInterface}}}));var We="popover",Ke=new RegExp("(^|\\s)bs-popover\\S+","g"),Qe=n({},Re.Default,{placement:"right",trigger:"click",content:"",template:''}),Ue=n({},Re.DefaultType,{content:"(string|element|function)"}),Fe={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Ye=function(t){function n(){return t.apply(this,arguments)||this}i(n,t);var o=n.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.setContent=function(){var t=this.getTipElement();this.setElementContent(q.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this._element)),this.setElementContent(q.findOne(".popover-body",t),e),t.classList.remove("fade","show")},o._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))},o._getContent=function(){return this._element.getAttribute("data-bs-content")||this.config.content},o._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Ke);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n.jQueryInterface=function(t){return this.each((function(){var e=T(this,"bs.popover"),i="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new n(this,i),E(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},e(n,null,[{key:"Default",get:function(){return Qe}},{key:"NAME",get:function(){return We}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Fe}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Ue}}]),n}(Re);b((function(){var t=_();if(t){var e=t.fn[We];t.fn[We]=Ye.jQueryInterface,t.fn[We].Constructor=Ye,t.fn[We].noConflict=function(){return t.fn[We]=e,Ye.jQueryInterface}}}));var qe="scrollspy",ze={offset:10,method:"auto",target:""},Ve={offset:"number",method:"string",target:"(string|element)"},Xe=function(t){function o(e,n){var i;return(i=t.call(this,e)||this)._scrollElement="BODY"===e.tagName?window:e,i._config=i._getConfig(n),i._selector=i._config.target+" .nav-link, "+i._config.target+" .list-group-item, "+i._config.target+" .dropdown-item",i._offsets=[],i._targets=[],i._activeTarget=null,i._scrollHeight=0,H.on(i._scrollElement,"scroll.bs.scrollspy",(function(t){return i._process(t)})),i.refresh(),i._process(),i}i(o,t);var r=o.prototype;return r.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),q.find(this._selector).map((function(t){var e=l(t),o=e?q.findOne(e):null;if(o){var r=o.getBoundingClientRect();if(r.width||r.height)return[Y[n](o).top+i,e]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},r.dispose=function(){t.prototype.dispose.call(this),H.off(this._scrollElement,".bs.scrollspy"),this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},r._getConfig=function(t){if("string"!=typeof(t=n({},ze,"object"==typeof t&&t?t:{})).target&&d(t.target)){var e=t.target.id;e||(e=s(qe),t.target.id=e),t.target="#"+e}return p(qe,t,Ve),t},r._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},r._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},r._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},r._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t li > .active":".active";e=(e=q.find(o,i))[e.length-1]}var r=null;if(e&&(r=H.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(H.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){H.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),H.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},o._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?q.children(e,".active"):q.find(":scope > li > .active",e))[0],r=n&&o&&o.classList.contains("fade"),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=u(o);o.classList.remove("show"),H.one(o,"transitionend",s),h(o,a)}else s()},o._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=q.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),v(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&q.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},n.jQueryInterface=function(t){return this.each((function(){var e=T(this,"bs.tab")||new n(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},e(n,null,[{key:"DATA_KEY",get:function(){return"bs.tab"}}]),n}(R);H.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){t.preventDefault(),(T(this,"bs.tab")||new $e(this)).show()})),b((function(){var t=_();if(t){var e=t.fn.tab;t.fn.tab=$e.jQueryInterface,t.fn.tab.Constructor=$e,t.fn.tab.noConflict=function(){return t.fn.tab=e,$e.jQueryInterface}}}));var Ge={animation:"boolean",autohide:"boolean",delay:"number"},Ze={animation:!0,autohide:!0,delay:5e3},Je=function(t){function o(e,n){var i;return(i=t.call(this,e)||this)._config=i._getConfig(n),i._timeout=null,i._setListeners(),i}i(o,t);var r=o.prototype;return r.show=function(){var t=this;if(!H.trigger(this._element,"show.bs.toast").defaultPrevented){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),H.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),v(this._element),this._element.classList.add("showing"),this._config.animation){var n=u(this._element);H.one(this._element,"transitionend",e),h(this._element,n)}else e()}},r.hide=function(){var t=this;if(this._element.classList.contains("show")&&!H.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),H.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=u(this._element);H.one(this._element,"transitionend",e),h(this._element,n)}else e()}},r.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),H.off(this._element,"click.dismiss.bs.toast"),t.prototype.dispose.call(this),this._config=null},r._getConfig=function(t){return t=n({},Ze,Y.getDataAttributes(this._element),"object"==typeof t&&t?t:{}),p("toast",t,this.constructor.DefaultType),t},r._setListeners=function(){var t=this;H.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',(function(){return t.hide()}))},r._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},o.jQueryInterface=function(t){return this.each((function(){var e=T(this,"bs.toast");if(e||(e=new o(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t](this)}}))},e(o,null,[{key:"DefaultType",get:function(){return Ge}},{key:"Default",get:function(){return Ze}},{key:"DATA_KEY",get:function(){return"bs.toast"}}]),o}(R);return b((function(){var t=_();if(t){var e=t.fn.toast;t.fn.toast=Je.jQueryInterface,t.fn.toast.Constructor=Je,t.fn.toast.noConflict=function(){return t.fn.toast=e,Je.jQueryInterface}}})),{Alert:K,Button:Q,Carousel:Z,Collapse:nt,Dropdown:Te,Modal:Le,Popover:Ye,ScrollSpy:Xe,Tab:$e,Toast:Je,Tooltip:Re}})); //# sourceMappingURL=bootstrap.bundle.min.js.map -------------------- END OF FILE -------------------- ### FILE 83: assets/js/custom.js - Type: JS - Size: 0 B - Path: assets/js - Name: custom.js ------------------------------------------------------------ -------------------- END OF FILE -------------------- ### FILE 84: assets/js/jquery-1.11.0.min.js - Type: JS - Size: 94.12 KB - Path: assets/js - Name: jquery-1.11.0.min.js ------------------------------------------------------------ /*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f }}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("