New stella design

This commit is contained in:
edsea
2025-08-06 05:09:22 +02:00
parent 24c3640f05
commit 8ec1ba9756
70 changed files with 1808 additions and 481 deletions

View File

@@ -1,39 +1,73 @@
# Enable the RewriteEngine
# Enable RewriteEngine
RewriteEngine On
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect URLs without trailing slashes (except index.php) to URLs with trailing slashes
RewriteCond %{REQUEST_URI} !/index.php$
RewriteRule ^([^/]+)$ /$1/ [L,R=301]
# Add trailing slash to URLs (except files and directories)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.+)$ $1/ [L,R=301]
# 404
# Handle 404 errors
ErrorDocument 404 /404
# Rewrite any single-word URL with a trailing slash like /about/ to index.php?page=about
# Rewrite pretty URLs to index.php?page=
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ index.php?page=$1 [L,QSA]
# Enable GZip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css text/javascript application/javascript
AddOutputFilterByType DEFLATE application/x-javascript application/json
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/javascript application/json
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE application/font-woff application/font-woff2
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/svg+xml image/webp
</IfModule>
# Enable browser caching for static assets
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/font-woff2 "access plus 1 year"
</IfModule>
# Prevent hotlinking (allow empty referrers and local/dev environments)
<IfModule mod_rewrite.c>
# Allow empty referrers (direct requests, private browsing)
# Allow stellaamor.com, local dev, and localhost
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?stellaamor\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http?://stellaamor\.local [NC]
RewriteCond %{HTTP_REFERER} !^http?://127\.0\.0\.1 [NC]
RewriteCond %{HTTP_REFERER} !^http?://localhost [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg|webp|css|js|woff|woff2)$ - [NC,F,L]
</IfModule>
# Security headers
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "DENY"
Header set X-XSS-Protection "1; mode=block"
</IfModule>
# Prevent directory listing
Options -Indexes
# BEGIN cPanel-generated php ini directives, do not edit
# Manual editing of this file may result in unexpected behavior.
# To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
# For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)
<IfModule php8_module>
php_value output_buffering Off
</IfModule>
<IfModule lsapi_module>
php_value output_buffering Off
</IfModule>
# END cPanel-generated php ini directives, do not edit
# END cPanel-generated php ini directives, do not edit

12
home/.htaccess Normal file
View File

@@ -0,0 +1,12 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

View File

@@ -0,0 +1 @@
@import url(https://fonts.googleapis.com/css2?family=Niconne&family=Poly:ital@0;1&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap);#app{font-family:Poppins,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#353535}nav{padding:30px}nav a{font-weight:700;color:#fff}nav a.router-link-exact-active{color:#42b983}.font-niconne{font-family:Niconne,cursive;font-family:Poly,serif}.poppins,body{font-family:Poppins,sans-serif}img{max-width:100%}.main{padding-top:60px}@media(min-width:960px){.main{padding-top:70px}}*{text-align:left}.app-main{margin-top:60px;position:relative;min-height:calc(100vh - 60px)}.top-bar{z-index:10;position:fixed}.loadingScreen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffc9;display:flex;justify-content:center;align-items:center;z-index:9}.resetRow{justify-content:flex-end;padding:8px}.filterDrawer{background-color:#fff;z-index:9;height:calc(100% - 60px);padding-top:50px}.filter-header{font-size:18px;font-weight:300;padding-left:5px;padding-bottom:5px;padding-top:20px}.filter-label{font-size:12px;padding-left:15px;margin-bottom:10px;margin-top:10px;display:block}.filter-span{color:#747474;display:block;text-wrap:wrap}.filter-titles{font-size:14px;color:#6d6b6b;font-weight:400;padding-bottom:5px}.list-actions{position:fixed;height:60px;bottom:0;width:100%;padding:0 15px;background:#fff}.filter{padding-bottom:70px}.v-input--selection-controls .v-input__slot>.v-label{font-size:12px}.v-list--dense .v-l,.v-list-item--dense{min-height:30px}.user-age{padding-left:5px;font-size:14px;color:#999}.user-info{color:#666}.user-info ul{list-style:none;padding:0;margin:0}.banner{background-size:cover;background-position:50%;height:350px;background-color:#f7f7f7}.profile-card{margin-top:-100px}.user-info{text-align:center;padding:20px}.user-info h2{margin-bottom:10px}.user-info p{margin:0}.lightbox-arrow{position:absolute;top:50%;width:36px!important;height:36px!important;transform:translateY(-50%);color:#fff!important;background-color:rgba(0,0,0,.5)!important;border-radius:50%!important;box-shadow:0 2px 4px rgba(0,0,0,.3)!important;min-width:unset!important}.lightbox-arrow.left{left:10px}.lightbox-arrow.right{right:10px}.removeImage{top:3px;right:3px;width:18px!important;height:18px!important}.removeImage,.removeImage2{position:absolute;padding:5px!important;color:#e5e5e5!important;background-color:rgba(0,0,0,.5)!important;border-radius:50%!important;box-shadow:0 2px 4px rgba(0,0,0,.3)!important;min-width:unset!important}.removeImage2{top:10px;right:10px;width:30px!important;height:30px!important}.unreadMessages{color:#1976d2!important}.equal-height-row{display:flex;flex-wrap:wrap}.equal-height-card{flex:1 0 auto;display:flex;flex-direction:column}.userInfoListClass{list-style-type:none;padding:0;margin:0;display:flex;flex-wrap:wrap}.userInfoListClass li{width:calc(50% - 20px);margin:10px;padding:15px;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);background-color:#fff;transition:background-color .3s ease}.userInfoListClass li:hover{background-color:#f0f0f0}.userInfoListClass li h4{margin-top:0;margin-bottom:10px;font-size:14px;font-weight:400;color:#979797}.userInfoListClass li p{margin-bottom:5px;font-size:12px;color:#919191;line-height:1.4}@media(max-width:768px){.userInfoListClass li{width:calc(100% - 20px)}}.fixedToolbar[data-v-4464b245]{position:fixed;top:0;width:100%}.chat-messages[data-v-4464b245]{padding-top:65px;overflow-y:auto;display:flex;flex-direction:column;height:100%}.chat-message[data-v-4464b245]{margin:10px;padding:10px;border-radius:10px;width:80%}.message-header[data-v-4464b245]{display:flex;align-items:center}.avatar[data-v-4464b245]{width:40px;height:40px;border-radius:50%;margin-right:10px}.username[data-v-4464b245]{font-weight:700;margin-right:10px;cursor:pointer}.message-content[data-v-4464b245]{word-wrap:break-word}.outgoing[data-v-4464b245]{align-self:flex-end;background-color:#2196f3;color:#fff}.incoming[data-v-4464b245]{align-self:flex-start;background-color:#f5f5f5}.sendButton[data-v-4464b245]{display:flex;align-items:center;justify-content:flex-end}.chat-container[data-v-4464b245]{display:flex;flex-direction:column;min-height:100%;justify-content:space-between}.conversation-row[data-v-4464b245]{background-color:#6492f938;padding:10px;margin-bottom:20px;border-radius:12px;cursor:pointer}.conversationTime[data-v-4464b245]{font-size:12px;color:#a3a3a3;right:5px;position:absolute}.conversationUsername[data-v-4464b245]{display:inline;font-weight:500;padding-bottom:5px}.conversation-box[data-v-4464b245]{position:relative}

File diff suppressed because one or more lines are too long

BIN
home/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
home/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

BIN
home/img/logo2.9f656f3d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

5
home/index.html Normal file
View File

@@ -0,0 +1,5 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"><title>Stella Amor | Discover Your Dream Date Today</title><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" crossorigin="anonymous"/><link rel="canonical" href="https://stellaamor.com"><link rel="icon" type="image/x-icon" href="favicon.ico"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="Discover endless possibilities for meaningful connections at Stella Amor, the innovative dating platform designed to cater to every preference. With our comprehensive filtering system, finding your perfect match has never been easier. Explore a diverse community and unlock your path to love and companionship today"><meta property="og:title" content="Stella Amor | Discover Your Dream Date Today"><meta property="og:description" content="Discover endless possibilities for meaningful connections at Stella Amor, the innovative dating platform designed to cater to every preference. With our comprehensive filtering system, finding your perfect match has never been easier. Explore a diverse community and unlock your path to love and companionship today"><meta property="og:image" content="https://api.stellaamor.com/static/logo2.png"><meta property="og:url" content="https://stellaamor.com"><meta property="og:type" content="website"><meta name="twitter:title" content="Stella Amor | Discover Your Dream Date Today"><meta name="twitter:description" content="Discover endless possibilities for meaningful connections at Stella Amor, the innovative dating platform designed to cater to every preference. With our comprehensive filtering system, finding your perfect match has never been easier. Explore a diverse community and unlock your path to love and companionship today"><meta name="twitter:image" content="https://api.stellaamor.com/static/logo2.png"><meta name="twitter:card" content="summary_large_image"><meta name="author" content="Stella Amor"><meta name="keywords" content="Dating"><meta name="robots" content="index,follow"><meta httpequiv="expires" content="0"><meta httpequiv="pragma" content="no-cache"><script defer="defer" src="/home/js/chunk-vendors.644485be.js"></script><script defer="defer" src="/home/js/app.eb118890.js"></script><link href="/home/css/chunk-vendors.0ee1ee54.css" rel="stylesheet"><link href="/home/css/app.5360f6f2.css" rel="stylesheet"></head><script async src="https://www.googletagmanager.com/gtag/js?id=G-486MZV8H9M"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-486MZV8H9M');</script><body><noscript><strong>We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

5
home/index.html.bck Normal file
View File

@@ -0,0 +1,5 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"><title>Stella Amor | Discover Your Dream Date Today</title><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" crossorigin="anonymous"/><link rel="canonical" href="https://stellaamor.com"><link rel="icon" type="image/x-icon" href="favicon.ico"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="Discover endless possibilities for meaningful connections at Stella Amor, the innovative dating platform designed to cater to every preference. With our comprehensive filtering system, finding your perfect match has never been easier. Explore a diverse community and unlock your path to love and companionship today"><meta property="og:title" content="Stella Amor | Discover Your Dream Date Today"><meta property="og:description" content="Discover endless possibilities for meaningful connections at Stella Amor, the innovative dating platform designed to cater to every preference. With our comprehensive filtering system, finding your perfect match has never been easier. Explore a diverse community and unlock your path to love and companionship today"><meta property="og:image" content="https://api.stellaamor.com/static/logo2.png"><meta property="og:url" content="https://stellaamor.com"><meta property="og:type" content="website"><meta name="twitter:title" content="Stella Amor | Discover Your Dream Date Today"><meta name="twitter:description" content="Discover endless possibilities for meaningful connections at Stella Amor, the innovative dating platform designed to cater to every preference. With our comprehensive filtering system, finding your perfect match has never been easier. Explore a diverse community and unlock your path to love and companionship today"><meta name="twitter:image" content="https://api.stellaamor.com/static/logo2.png"><meta name="twitter:card" content="summary_large_image"><meta name="author" content="Stella Amor"><meta name="keywords" content="Dating"><meta name="robots" content="index,follow"><meta httpequiv="expires" content="0"><meta httpequiv="pragma" content="no-cache"><script defer="defer" src="/js/chunk-vendors.644485be.js"></script><script defer="defer" src="/js/app.eb118890.js"></script><link href="/css/chunk-vendors.0ee1ee54.css" rel="stylesheet"><link href="/css/app.5360f6f2.css" rel="stylesheet"></head><script async src="https://www.googletagmanager.com/gtag/js?id=G-486MZV8H9M"></script><script>window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-486MZV8H9M');</script><body><noscript><strong>We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

2
home/js/app.eb118890.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
home/rss/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

3
robots.txt Normal file
View File

@@ -0,0 +1,3 @@
User-agent: *
Disallow: /404
Sitemap: https://stellaamor.com/sitemap.xml

View File

@@ -30,6 +30,7 @@ body {
a {
all: inherit;
cursor: pointer;
}
h1, h2, h3, h4, h5, h6 {

File diff suppressed because one or more lines are too long

View File

@@ -27,6 +27,7 @@ body {
a{
all: inherit;
cursor: pointer;
}
h1, h2, h3, h4, h5, h6{

View File

@@ -41,6 +41,8 @@ header nav {
display: flex;
flex-direction: column;
position: absolute;
opacity: 0;
transition: all 0.3s;
}
header nav.open {
top: 99%;
@@ -50,6 +52,8 @@ header nav {
background-color: #fff;
height: auto;
z-index: -1;
opacity: 1;
transition: all 0.3s;
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12);
}
header nav.open a {
@@ -76,13 +80,13 @@ header nav .menu-item::after {
left: 0;
height: 2px;
width: 100%;
background: #B54418;
background: #aa0b3d;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s;
}
header nav .menu-item:hover {
color: #B54418;
color: #aa0b3d;
cursor: pointer;
}
header nav .menu-item:hover::after {
@@ -107,6 +111,9 @@ header .mobile-toggler {
opacity: 0;
animation: slideUp 1s ease-in-out forwards;
}
.home-banner.no-height {
height: auto !important;
}
@media (max-width: 768px) {
.home-banner {
height: 100vh;
@@ -228,6 +235,12 @@ header .mobile-toggler {
background-position: center center;
background-size: cover;
}
.display-banner.kissing-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("/rss/img/couple-kissing.jpg");
padding: 180px 0px;
background-position: center center;
background-size: cover;
}
.display-banner.moving-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("/rss/img/couple.jpg");
background-position: center 40%;
@@ -406,9 +419,9 @@ section .bolder {
}
.section-animation {
opacity: 0; /* Start hidden */
transform: translateY(50px); /* Slide up from 50px below */
transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Smooth transition */
opacity: 0;
transform: translateY(50px);
transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.section-animation.visible {
@@ -416,7 +429,86 @@ section .bolder {
transform: translateY(0);
}
/* Accessibility for reduced motion */
.user-container {
width: 100%;
height: calc(100vh - 110px);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
}
@media (max-width: 768px) {
.user-container {
height: auto;
padding: 20px 0px;
}
}
@media (max-width: 768px) {
.user-container.alt .user-card {
display: flex;
flex-direction: column-reverse;
}
}
.user-container .user-card {
border-radius: 12px;
background-color: rgba(255, 255, 255, 0.9058823529);
display: flex;
width: 100%;
flex-direction: row;
}
@media (max-width: 768px) {
.user-container .user-card {
flex-direction: column;
height: auto;
}
}
.user-container .user-card .form {
background-color: #FFF;
padding: 20px 0px;
flex: 40%;
max-width: 40%;
display: flex;
align-items: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
border-radius: 12px;
}
@media (max-width: 768px) {
.user-container .user-card .form {
flex: 100%;
max-width: 100%;
border-radius: 12px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
}
.user-container .user-card .form .user-form {
padding: 10px 15px;
width: 100%;
}
.user-container .user-card .text-col {
flex: 60%;
max-width: 60%;
padding: 30px 20px;
}
@media (max-width: 768px) {
.user-container .user-card .text-col {
flex: 100%;
max-width: 100%;
}
}
.user-container .user-card .text-col .logo {
display: flex;
flex-direction: row;
justify-content: center;
}
.user-container .user-card .text-col .logo img {
width: 180px;
}
.user-container .user-card .text-col .text {
margin-top: 20px;
}
@media (prefers-reduced-motion: reduce) {
.section-animation {
opacity: 1;

View File

@@ -1 +1 @@
{"version":3,"sources":["variables.scss","theme.scss","theme.css"],"names":[],"mappings":"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","file":"theme.css"}
{"version":3,"sources":["variables.scss","theme.scss","theme.css"],"names":[],"mappings":"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","file":"theme.css"}

View File

@@ -1,107 +1,114 @@
@import 'variables';
header {
display: flex;
justify-content: space-between;
padding: 0.7rem 2rem;
background-color: #ffffff;
align-items: center;
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12);
position: relative;
z-index: 999;
font-family: "Nunito", sans-serif;
background-color: #fff;
@media(max-width:768px) {
// height: 48px;
}
.logo {
width: 100px;
display: flex;
justify-content: space-between;
padding: 0.7rem 2rem;
background-color: #ffffff;
align-items: center;
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12);
position: relative;
z-index: 999;
font-family: "Nunito", sans-serif;
cursor: pointer;
background-color: #fff;
@media(max-width:768px){
// height: 48px;
img {
width: 100%;
height: 100%;
}
}
.logo {
width: 100px;
display: flex;
z-index: 999;
cursor: pointer;
nav {
display: flex;
position: relative;
z-index: -1;
@media(max-width:768px) {
top: -200%;
display: flex;
flex-direction: column;
position: absolute;
opacity: 0;
transition: all 0.3s;
&.open {
top: 99%;
left: 0;
width: 100%;
transition: all 0.3s;
// padding: 5px 10px;
background-color: #fff;
img {
width: 100%;
height: 100%;
}
}
nav {
display: flex;
position: relative;
height: auto;
z-index: -1;
opacity: 1;
transition: all 0.3s;
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12);
@media(max-width:768px){
top: -200%;
display: flex;
flex-direction: column;
position: absolute;
&.open{
top: 99%;
left: 0;
width: 100%;
transition: all 0.3s;
// padding: 5px 10px;
background-color: #fff;
height: auto;
z-index: -1;
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12);
a{
padding: 7px 10px;
font-size: 16px;
}
}
a {
padding: 7px 10px;
font-size: 16px;
}
.menu-item {
color: #000000;
font-weight: 500;
margin-right: 15px;
display: inline-block;
position: relative;
transition: color 0.3s;
font-size: 16px;
&.active {
font-weight: bold;
// color: #your-brand-color;
}
&::after {
content: "";
position: absolute;
top: 120%;
left: 0;
height: 2px;
width: 100%;
background: #B54418;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s;
}
&:hover {
color: #B54418;
cursor: pointer;
}
&:hover::after {
transform: scaleX(1);
}
}
}
.mobile-toggler{
background-color: #fff;
border: none;
font-size: 18px;
@media(min-width: 769px){
display: none;
}
}
.menu-item {
color: #000000;
font-weight: 500;
margin-right: 15px;
display: inline-block;
position: relative;
transition: color 0.3s;
font-size: 16px;
&.active {
font-weight: bold;
// color: #your-brand-color;
}
&::after {
content: "";
position: absolute;
top: 120%;
left: 0;
height: 2px;
width: 100%;
background: #{map-get($colors, primary)};
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s;
}
&:hover {
color: #{map-get($colors, primary)};
cursor: pointer;
}
&:hover::after {
transform: scaleX(1);
}
}
}
.mobile-toggler {
background-color: #fff;
border: none;
font-size: 18px;
@media(min-width: 769px) {
display: none;
}
}
}
.home-banner {
@@ -111,11 +118,13 @@ header {
background-color: #{map-get($colors, white)};
opacity: 0;
animation: slideUp 1s ease-in-out forwards;
// animation-delay: 0.2s;
// animation-delay: 0.2s;
&.no-height{
height: auto !important;
}
@media(max-width:768px){
@media(max-width:768px) {
height: 100vh;
}
@@ -125,20 +134,20 @@ header {
align-items: center;
width: 100%;
.container {
height: 100%;
height: 100%;
}
.inner-row {
display: flex;
justify-content: space-between;
align-items: stretch;
height: 100%;
@media(max-width:768px){
flex-direction: column;
}
display: flex;
justify-content: space-between;
align-items: stretch;
height: 100%;
@media(max-width:768px) {
flex-direction: column;
}
}
.image-col {
@@ -147,7 +156,7 @@ header {
flex-direction: column;
justify-content: center;
img{
img {
border-radius: 12px;
box-shadow: #{map-get($shadows, 3)};
}
@@ -160,44 +169,47 @@ header {
justify-content: center;
gap: 10px;
@media(max-width: 768px){
@media(max-width: 768px) {
flex: 0 0 100%;
max-width: 100%;
text-align: center;
z-index: 9;
}
.title{
.title {
font-weight: 800;
font-size: 3.7rem;
line-height: 1.2;
font-family: $font-family-base;
@media(max-width:768px){
font-size: 3.2rem;
@media(max-width:768px) {
font-size: 3.2rem;
}
}
.lead{
.lead {
font-size: 1.6rem;
font-weight: 400;
@media(max-width:768px){
font-size: 1.3rem;
@media(max-width:768px) {
font-size: 1.3rem;
}
}
.cta-btn{
.cta-btn {
padding: 10px;
font-size: 1.4rem;
}
.login-text{
.login-text {
display: inline-flex;
gap: 5px;
font-weight: 400;
.login-link{
font-weight: 500;
text-decoration: underline;
cursor: pointer;
.login-link {
font-weight: 500;
text-decoration: underline;
cursor: pointer;
}
}
}
@@ -209,7 +221,7 @@ header {
justify-content: center;
height: 100%;
@media(max-width: 768px){
@media(max-width: 768px) {
position: absolute;
top: 0;
left: 0;
@@ -234,100 +246,110 @@ header {
// Banners
.display-banner {
width: 100%;
padding: 120px 0px;
width: 100%;
padding: 120px 0px;
&.wedding-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
url('/rss/img/wedding.jpg');
padding: 180px 0px;
background-position: center center;
background-size: cover;
}
&.wedding-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
url('/rss/img/wedding.jpg');
padding: 180px 0px;
background-position: center center;
background-size: cover;
}
&.moving-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
url('/rss/img/couple.jpg');
background-position: center 40%;
background-size: cover;
padding: 180px 0px;
}
&.kissing-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
url('/rss/img/couple-kissing.jpg');
padding: 180px 0px;
background-position: center center;
background-size: cover;
}
&.moving-banner {
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
url('/rss/img/couple.jpg');
background-position: center 40%;
background-size: cover;
padding: 180px 0px;
}
}
// Footer
footer {
background-color: #{map-get($colors, 'dark')};
color: #fff;
display: flex;
padding: 25px 0px;
font-size: 14px;
font-weight: 300;
background-color: #{map-get($colors, 'dark')};
color: #fff;
display: flex;
padding: 25px 0px;
font-size: 14px;
font-weight: 300;
.logo {
width: 125px;
cursor: pointer;
}
.logo {
width: 125px;
cursor: pointer;
}
ul {
list-style: none;
}
ul {
list-style: none;
}
}
.features-section {
h2 {
font-size: map-get($font-sizes, xl);
color: map-get($colors, dark);
}
h2 {
font-size: map-get($font-sizes, xl);
color: map-get($colors, dark);
}
.theme-card {
border-radius: map-get($border-radius-sizes, md);
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
.theme-card {
border-radius: map-get($border-radius-sizes, md);
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
.card-header {
padding: #{map-get($spacing, "2")};
text-align: center;
.card-header {
padding: #{map-get($spacing, "2")};
text-align: center;
img {
width: 125px;
height: 125px;
border-radius: 50%;
box-shadow: map-get($shadows, 2);
object-fit: cover;
margin: 0 auto;
img {
width: 125px;
height: 125px;
border-radius: 50%;
box-shadow: map-get($shadows, 2);
object-fit: cover;
margin: 0 auto;
&.object-left{
object-position: left center;
}
&.object-center{
object-position: center center;
}
&.object-bottom{
object-position: bottom center;
}
}
&.object-left {
object-position: left center;
}
.card-body {
padding: #{map-get($spacing, "3")};
text-align: center;
&.object-center {
object-position: center center;
}
&.object-bottom {
object-position: bottom center;
}
}
}
.card-body {
padding: #{map-get($spacing, "3")};
text-align: center;
}
}
}
// Fix before release
// Theme fonts
.styled-title{
font-family: "Nunito", sans-serif;
.styled-title {
font-family: "Nunito", sans-serif;
&.fw-900{
font-weight: 900;
}
&.fw-900 {
font-weight: 900;
}
&.fw-600{
font-weight: 600;
}
&.fw-600 {
font-weight: 600;
}
}
@@ -370,9 +392,11 @@ footer {
.filter-card {
margin-bottom: 1.5rem;
}
.filter-icon {
font-size: 2rem;
}
.filter-title {
font-size: 1.1rem;
}
@@ -387,75 +411,76 @@ footer {
// Images
// Rounded col images
.rounded-col-image{
height: 450px;
width: 450px;
.rounded-col-image {
height: 450px;
width: 450px;
border-radius: 50%;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
position: relative;
@media(max-width:1200px) {
width: 300px;
height: 300px;
}
@media(max-width:920px) {
width: 225px;
height: 225px;
}
&:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
position: relative;
-webkit-box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1);
-moz-box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1);
box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1);
z-index: 1;
pointer-events: none;
@media(max-width:1200px){
width: 300px;
height:300px;
}
}
@media(max-width:920px){
width:225px;
height: 225px;
}
&:before{
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
-webkit-box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1);
-moz-box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1);
box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1);
z-index: 1;
pointer-events: none;
}
img{
object-fit: cover;
object-position: right;
width: 100%;
height: 100%;
}
img {
object-fit: cover;
object-position: right;
width: 100%;
height: 100%;
}
}
section{
h2{
font-size: 1.8rem;
font-weight: 500;
}
h3{
font-size: 1.6rem;
font-weight: 500;
}
section {
h2 {
font-size: 1.8rem;
font-weight: 500;
}
p{
font-size: 1.2rem;
h3 {
font-size: 1.6rem;
font-weight: 500;
}
p {
font-size: 1.2rem;
font-weight: 400;
line-height: 1.4;
}
}
.bolder{
font-weight: 600;
}
.bolder {
font-weight: 600;
}
}
.section-animation {
opacity: 0; /* Start hidden */
transform: translateY(50px); /* Slide up from 50px below */
transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Smooth transition */
opacity: 0;
transform: translateY(50px);
transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.section-animation.visible {
@@ -463,7 +488,101 @@ section{
transform: translateY(0);
}
/* Accessibility for reduced motion */
.user-container {
width: 100%;
height: calc(100vh - 110px);
// background-image: url('/rss/img/happy-kissing.jpg');
background-position: center;
background-repeat: no-repeat;
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
@media(max-width: 768px) {
height: auto;
padding: 20px 0px;
}
&.alt {
// background-image: url('/rss/img/happy-kissing-2.jpg') !important;
.user-card {
@media(max-width: 768px) {
display: flex;
flex-direction: column-reverse;
}
}
}
.user-card {
border-radius: 12px;
background-color: #ffffffe7;
// box-shadow: #{map-get($shadows, 3)};
display: flex;
// min-height: 60vh;
// height: 60vh;
width: 100%;
flex-direction: row;
// overflow: hidden;
@media(max-width: 768px) {
flex-direction: column;
height: auto;
}
.form {
background-color: #FFF;
padding: 20px 0px;
// height: 100%;
flex: 40%;
max-width: 40%;
display: flex;
align-items: center;
box-shadow: #{map-get($shadows, 3)};
border-radius: 12px;
@media(max-width: 768px) {
flex: 100%;
max-width: 100%;
border-radius: 12px;
box-shadow: #{map-get($shadows, 2)};
}
.user-form {
padding: 10px 15px;
width: 100%;
}
}
.text-col {
flex: 60%;
max-width: 60%;
padding: 30px 20px;
@media(max-width: 768px) {
flex: 100%;
max-width: 100%;
}
.logo {
display: flex;
flex-direction: row;
justify-content: center;
img {
width: 180px;
}
}
.text {
margin-top: 20px;
}
}
}
}
@media (prefers-reduced-motion: reduce) {
.section-animation {
opacity: 1;
@@ -477,6 +596,7 @@ section{
transform: translateY(50px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;

BIN
rss/img/app-code.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
rss/img/app-date.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
rss/img/app-search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
rss/img/church.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

BIN
rss/img/couple-elder.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

BIN
rss/img/couple-ice.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

BIN
rss/img/couple-kissing.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
rss/img/favicon/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -0,0 +1,21 @@
{
"name": "MyWebSite",
"short_name": "MySite",
"icons": [
{
"src": "/rss/favicon/web-app-manifest-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/rss/favicon/web-app-manifest-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

BIN
rss/img/happy-kissing-2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

BIN
rss/img/happy-kissing.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

BIN
rss/img/man-browsing.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

BIN
rss/img/people-couple.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

BIN
rss/img/stella.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 KiB

BIN
rss/img/sweden.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

BIN
rss/img/yacht2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 KiB

View File

@@ -0,0 +1,82 @@
document.addEventListener('DOMContentLoaded', async (v) =>{
await isAuth();
const loginForm = document.getElementById('loginForm');
loginForm.addEventListener('submit', async (e) =>{
e.preventDefault();
await login();
})
})
// Async login function in vanilla JS
async function login() {
// Set login running state
const loginRunning = true;
const loginError = false;
document.getElementById('loginError').innerText = '';
document.getElementById('loginError').classList.add('d-none');
// Get form data
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const postFields = {
userData: {
username: username,
password: password
},
action: 'login'
};
try {
// Send request
const response = await fetch('https://api.stellaamor.com/users.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
credentials: 'include',
body: JSON.stringify(postFields)
});
const data = await response.json();
if (data.status === 'fail') {
loginError = true;
document.getElementById('loginError').innerText = data.message;
document.getElementById('loginError').classList.remove('d-none');
loginRunning = false;
} else {
loginRunning = false;
setTimeout(() => {
window.location.href = '/home';
document.getElementById('username').value = '';
document.getElementById('password').value = '';
document.getElementById('loginError').innerText = '';
loginRunning = false;
}, 1500);
}
} catch (error) {
console.error('Login error:', error);
loginError = true;
loginRunning = false;
}
}
async function isAuth() {
try {
const response = await fetch('https://api.stellaamor.com/users.php?isAuth=true', {
method: 'GET',
credentials: 'include'
});
const data = await response.json();
if (data.status === true) {
window.location.href = '/home';
} else {
return false;
}
} catch (error) {
return false;
}
}

View File

@@ -79,4 +79,24 @@ document.addEventListener('DOMContentLoaded', () =>{
document.getElementById('menu-toggler').addEventListener('pointerdown', () =>{
document.getElementById('mainMenu').classList.toggle('open');
})
const sections = document.querySelectorAll('section');
const observer = new IntersectionObserver(
(entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
observer.unobserve(entry.target);
}
});
}, {
threshold: 0.05,
rootMargin: '0px 0px -50px 0px'
}
);
sections.forEach(section => {
section.classList.add('section-animation');
observer.observe(section);
});
});

View File

@@ -1,21 +0,0 @@
document.addEventListener('DOMContentLoaded', async () =>{
await getParams();
})
async function getParams() {
const queryString = window.location.search;
const params = new URLSearchParams(queryString);
const paramsObject = {};
for (const key of params.keys()) {
if (key.endsWith('[]')) {
const cleanKey = key.replace('[]', '');
paramsObject[cleanKey] = params.getAll(key);
} else {
paramsObject[key] = params.get(key);
}
}
return paramsObject;
}

100
rss/js/register.js Normal file
View File

@@ -0,0 +1,100 @@
document.addEventListener('DOMContentLoaded', async (v) => {
const countries = await fetchCountries();
// Handlers
const countrySelector = document.getElementById('userCountry');
for(country of countries){
countrySelector.innerHTML += `<option value="${country.text}">${country.text}</option>`;
}
const signupForm = document.getElementById('signupForm');
signupForm.addEventListener('submit', (e) => {
e.preventDefault();
document.getElementById('errors').innerText = '';
document.getElementById('errors').classList.add('d-none');
// Extract form data
const username = signupForm.querySelector('#username').value;
const dob = signupForm.querySelector('#u_dob').value;
const country = signupForm.querySelector('#userCountry').value;
const gender = signupForm.querySelector('#gender').value;
const email = signupForm.querySelector('#email').value;
const password = signupForm.querySelector('#password').value;
const password2 = signupForm.querySelector('#password2').value;
const tosInput = signupForm.querySelector('#tos');
const tos = tosInput.checked;
// Remove errors
document.getElementById('errors').innerText = null;
let userData = {
username: username,
country: country,
gender: gender,
email: email,
dob: dob,
password: password,
password2: password2,
acceptTerms: tos
};
let action = 'signup';
let formData = JSON.stringify({
action: action,
userData: userData
});
// Send request
fetch('https://api.stellaamor.com/users.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: formData
})
.then(response => {
if(response && response.length){
return response.json();
}else{
return null;
}
})
.then(msg => {
console.log(msg);
// document.getElementById('spinner').classList.remove('show');
if (msg && msg.status === 'fail') {
document.getElementById('errors').innerText = msg.message;
document.getElementById('errors').classList.remove('d-none');
} else {
setTimeout(() => {
window.location.href = '/signin';
}, 2000);
}
})
.catch(error => {
console.error('Error during signup:', error);
document.getElementById('errors').innerText = 'An error occurred. Please try again later.';
});
});
// Call init functions
});
async function fetchCountries() {
try {
const response = await fetch('https://restcountries.com/v3.1/all?fields=name');
const data = await response.json();
const countries = data.map(country => ({
text: country.name.common,
val: country.cca2,
})).sort((a, b) => a.text.localeCompare(b.text));
return countries;
} catch (error) {
console.error('Error fetching countries:', error);
return [];
}
}

View File

@@ -1,8 +1,9 @@
{
"title": "Not found",
"long_desc": "Page or property was not found",
"short_desc": "Page or property was not found",
"title": "404 - Page Not Found",
"long_desc": "Oops! The page youre looking for isnt here. Join Stella Amors free HBTQ-friendly dating platform with advanced filters for kinks, wealth, and lifestyle instead!",
"short_desc": "404 error. Try our free HBTQ-friendly dating filters!",
"template": "404",
"restricted": false,
"redirect_login": false
"redirect_login": false,
"robots": "noindex"
}

View File

@@ -0,0 +1,9 @@
{
"title": "About Our Dating Mission",
"long_desc": "Learn about Stella Amors HBTQ-friendly dating platform. Free advanced filters for kinks, wealth, and lifestyle help you find love. Contact support@stellaamor.com!",
"short_desc": "About Stella Amors free HBTQ-friendly dating mission.",
"template": "about-us",
"restricted": false,
"redirect_login": false,
"robots": "index, follow"
}

View File

@@ -1,8 +1,9 @@
{
"title": "Create account",
"long_desc": "Testing the description!",
"short_desc": "Test desc",
"title": "Join Free Dating Now",
"long_desc": "Create your free Stella Amor account today! Join our HBTQ-friendly platform with advanced filters for kinks, wealth, and lifestyle to find your perfect match.",
"short_desc": "Create a free HBTQ-friendly dating account.",
"template": "create-account",
"restricted": false,
"redirect_login": true
"redirect_login": false,
"robots": "noindex, follow"
}

9
rss/json/pages/faq.json Normal file
View File

@@ -0,0 +1,9 @@
{
"title": "Dating FAQs",
"long_desc": "Find answers to questions about Stella Amors free HBTQ-friendly dating platform, advanced filters for kinks and lifestyle, and privacy.",
"short_desc": "FAQs for free HBTQ-friendly dating.",
"template": "faq",
"restricted": false,
"redirect_login": false,
"robots": "index, follow"
}

View File

@@ -0,0 +1,9 @@
{
"title": "Advanced Dating Filters",
"long_desc": "Explore Stella Amors free HBTQ-friendly dating filters for kinks, wealth, lifestyle, and faith. Find your perfect match with precision and ease!",
"short_desc": "Free HBTQ-friendly filters for kinks, wealth, and lifestyle.",
"template": "filters",
"restricted": false,
"redirect_login": false,
"robots": "index, follow"
}

View File

@@ -0,0 +1,9 @@
{
"title": "How It Works: Free Dating Guide",
"long_desc": "Learn how Stella Amors HBTQ-friendly platform works. Use free advanced filters for kinks, wealth, and lifestyle to find your perfect match in three easy steps!",
"short_desc": "Guide to free HBTQ-friendly dating with advanced filters.",
"template": "how-it-works",
"restricted": false,
"redirect_login": false,
"robots": "index, follow"
}

View File

@@ -1,8 +1,9 @@
{
"title": "Home",
"long_desc": "Testing the description!",
"short_desc": "Test desc",
"title": "Free Dating with Advanced Filters",
"long_desc": "Join Stella Amor for free online dating with advanced filters for kinks, wealth, lifestyle, and faith. Our HBTQ-friendly platform helps you find your perfect match effortlessly!",
"short_desc": "Free HBTQ-friendly dating with filters for kinks and lifestyle.",
"template": "index",
"restricted": false,
"redirect_login": false
"redirect_login": false,
"robots": "index, follow"
}

View File

@@ -1,8 +1,9 @@
{
"title": "Login",
"long_desc": "Testing the description!",
"short_desc": "Test desc",
"title": "Sign In to Free Dating",
"long_desc": "Log in to Stella Amors free HBTQ-friendly dating platform. Access advanced filters for kinks, wealth, and lifestyle to find your perfect match today!",
"short_desc": "Sign in to free HBTQ-friendly dating with advanced filters.",
"template": "login",
"restricted": false,
"redirect_login": true
"redirect_login": true,
"robots": "noindex, follow"
}

View File

@@ -0,0 +1,9 @@
{
"title": "Join Free Dating",
"long_desc": "Sign up for Stella Amors free HBTQ-friendly dating platform. Use advanced filters for kinks, wealth, and lifestyle to start finding your perfect match today!",
"short_desc": "Join free HBTQ-friendly dating with advanced filters.",
"template": "register",
"restricted": false,
"redirect_login": false,
"robots": "noindex, follow"
}

View File

@@ -0,0 +1,9 @@
{
"title": "Love Stories: Find Your Match",
"long_desc": "Discover Stella Amors success stories from HBTQ-friendly dating. Users found love with free filters for kinks, wealth, and lifestyle. Join free today!",
"short_desc": "HBTQ-friendly love stories with free dating filters.",
"template": "success-stories",
"restricted": false,
"redirect_login": false,
"robots": "index, follow"
}

View File

@@ -1,7 +1,7 @@
<?php
global $pageInfo;
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/rss/js/' . $pageInfo['template'] .'.js')){
echo '<script src="/rss/js/' . $pageInfo['template'] .'.js"></script>';
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/rss/js/' . $pageInfo['template'] . '.js')) {
echo '<script src="/rss/js/' . $pageInfo['template'] . '.js"></script>';
}
?>
@@ -14,13 +14,16 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/rss/js/' . $pageInfo['template'] .
<div class="col-sm-12 col-md-3">
<h4>Links</h4>
<ul>
<li>Home</li>
<?php foreach ($links as $label => $url): ?>
<li class="mb-2"><a href="<?php echo $url; ?>" class="menu-item<?php echo $label === $currentPage ? ' active" aria-current="page' : ''; ?>"><?php echo htmlspecialchars($label, ENT_QUOTES, 'UTF-8'); ?></a></li>
<?php endforeach; ?>
</ul>
</div>
<div class="col-sm-12 col-md-3">
<h4>Contact</h4>
<ul>
<li>Info</li>
<li><a href="mailto:info@stellaamor.com">info@stellaamor.com</a></li>
<li><a href="mailto:support@stellaamor.com">support@stellaamor.com</a></li>
</ul>
</div>
</div>

View File

@@ -1,12 +1,34 @@
<?php
$menu = array(
$page = isset($_GET['page']) ? basename($_GET['page']) : 'index';
$jsonFile = $_SERVER['DOCUMENT_ROOT'] . "/rss/json/pages/{$page}.json";
$pageData = file_exists($jsonFile) ? json_decode(file_get_contents($jsonFile), true) : [
'title' => 'Stella Amor',
'long_desc' => 'Free online dating with advanced filters for lifestyle, finance, kinks, and more.',
'robots' => 'index, follow'
];
// Set default values
$siteUrl = 'https://stellaamor.com';
$pageUrl = $page === 'index' ? $siteUrl . '/' : $siteUrl . '/' . $page . '/';
$title = $pageData['title'] ?? 'Stella Amor';
$description = $pageData['long_desc'] ?? 'Free online dating with advanced filters for lifestyle, finance, kinks, and more.';
$keywords = 'free dating, online dating, match filters, financial compatibility, kink-friendly dating, lifestyle matching';
$robots = $pageData['robots'] ?? 'index, follow';
$menu = [
'Home' => '/',
'Create account' => '/create-account',
'Login' => '/login',
'About us' => '/about-us',
);
$pageTitle = htmlspecialchars($pageTitle ?? 'Stella Amor | Free Dating with Ultimate Match Filters', ENT_QUOTES, 'UTF-8');
$pageDescription = htmlspecialchars($pageDescription ?? 'Free dating! Ultimate filters for wealth, kinks, fetishes, & passions. Meet your perfect match now!', ENT_QUOTES, 'UTF-8');
'Create account' => '/register/',
'Login' => '/login/',
'About us' => '/about-us/'
];
$links = [
'Our Filters' => '/filters/',
'Success Stories' => '/success-stories/',
'How It Works' => '/how-it-works/',
'FAQ' => '/faq/',
'About us' => '/about-us/'
];
$currentPage = $page === 'index' ? 'Home' : ucwords(str_replace('-', ' ', $page));
?>
<!DOCTYPE html>
<html lang="en">
@@ -14,31 +36,29 @@ $pageDescription = htmlspecialchars($pageDescription ?? 'Free dating! Ultimate f
<!-- Defaults -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $pageTitle; ?></title>
<meta name="description" content="<?php echo $pageDescription; ?>">
<title>Stella Amor | <?php echo htmlspecialchars($pageData['title'], ENT_QUOTES, 'UTF-8'); ?></title>
<meta name="description" content="<?php echo htmlspecialchars($description, ENT_QUOTES, 'UTF-8'); ?>">
<meta name="author" content="Stella Amor">
<meta name="keywords" content="free dating, online dating, match filters, finance, kinks, fetishes, lifestyle dating">
<link rel="canonical" href="https://stellaamor.com<?php echo isset($_GET['page']) ? '/' . htmlspecialchars(basename($_GET['page']), ENT_QUOTES, 'UTF-8') : ''; ?>">
<!-- Robots -->
<meta name="robots" content="index, follow">
<meta name="keywords" content="<?php echo htmlspecialchars($keywords, ENT_QUOTES, 'UTF-8'); ?>">
<meta name="robots" content="<?php echo htmlspecialchars($robots, ENT_QUOTES, 'UTF-8'); ?>">
<link rel="canonical" href="<?php echo htmlspecialchars($pageUrl, ENT_QUOTES, 'UTF-8'); ?>">
<!-- Open Graph -->
<meta property="og:title" content="<?php echo $pageTitle; ?>">
<meta property="og:description" content="<?php echo $pageDescription; ?>">
<meta property="og:title" content="<?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:description" content="<?php echo htmlspecialchars($description, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:type" content="website">
<meta property="og:url" content="https://stellaamor.com<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:image" content="https://stellaamor.com/rss/img/logo.png">
<meta property="og:url" content="<?php echo htmlspecialchars($pageUrl, ENT_QUOTES, 'UTF-8'); ?>">
<meta property="og:image" content="<?php echo $siteUrl; ?>/rss/img/stella.png">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="<?php echo $pageTitle; ?>">
<meta name="twitter:description" content="<?php echo $pageDescription; ?>">
<meta name="twitter:image" content="https://stellaamor.com/rss/img/logo.png">
<meta name="twitter:title" content="<?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?>">
<meta name="twitter:description" content="<?php echo htmlspecialchars($description, ENT_QUOTES, 'UTF-8'); ?>">
<meta name="twitter:image" content="<?php echo $siteUrl; ?>/rss/img/stella.png">
<!-- Favicon -->
<link rel="icon" href="/rss/img/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="/rss/img/apple-touch-icon.png">
<link rel="icon" href="/rss/img/favicon/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="/rss/img/favicon/apple-touch-icon.png">
<!-- Stylesheets -->
<link rel="preload" href="/rss/css/main.css" as="style">
@@ -53,11 +73,15 @@ $pageDescription = htmlspecialchars($pageDescription ?? 'Free dating! Ultimate f
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Stella Amor",
"url": "https://stellaamor.com",
"logo": "https://stellaamor.com/rss/img/logo.png",
"description": "Stella Amor: Free online dating with advanced filters for lifestyle, finance, kinks, and more. Find your perfect match today."
"@type": "WebPage",
"name": "<?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?>",
"url": "<?php echo htmlspecialchars($pageUrl, ENT_QUOTES, 'UTF-8'); ?>",
"description": "<?php echo htmlspecialchars($description, ENT_QUOTES, 'UTF-8'); ?>",
"isPartOf": {
"@type": "WebSite",
"name": "Stella Amor",
"url": "<?php echo $siteUrl; ?>/"
}
}
</script>
</head>
@@ -65,18 +89,15 @@ $pageDescription = htmlspecialchars($pageDescription ?? 'Free dating! Ultimate f
<header>
<div class="logo">
<a href="/">
<img src="/rss/img/logo.png" alt="Stella Amor Logo" width="150" height="50">
<img src="/rss/img/logo.png" alt="Stella Amor Logo" width="150" height="50" loading="lazy">
</a>
</div>
<button class="mobile-toggler" aria-label="Toggle navigation" id="menu-toggler">☰</button>
<nav id="mainMenu">
<?php
$currentPage = $_SERVER['REQUEST_URI'];
foreach($menu as $name => $link):
$isActive = ($currentPage === $link) ? 'active' : '';
$ariaCurrent = ($currentPage === $link) ? ' aria-current="page"' : '';
?>
<a href="<?php echo $link; ?>" class="menu-item <?php echo $isActive; ?>"<?php echo $ariaCurrent; ?>><?php echo $name; ?></a>
<?php foreach ($menu as $label => $url): ?>
<a href="<?php echo $url; ?>" class="menu-item<?php echo $label === $currentPage ? ' active" aria-current="page' : ''; ?>">
<?php echo htmlspecialchars($label, ENT_QUOTES, 'UTF-8'); ?>
</a>
<?php endforeach; ?>
</nav>
</header>

View File

@@ -1 +1,15 @@
<h2>This page was not found</h2>
<main>
<div class="home-banner">
<div class="home-banner-inner">
<div class="container">
<div class="d-flex justify-center align-center">
<div class="text-col">
<h1 class="title mb-3">Oops! <span class="text-primary">Page Not Found</span></h1>
<p class="lead mb-3">Looks like this page got lost in the search for love. Dont worry—lets get you back to finding your perfect match!</p>
<a href="/" class="mb-3 btn btn-dark cta-btn">Back to home</a>
</div>
</div>
</div>
</div>
</div>
</main>

View File

@@ -0,0 +1,199 @@
<main>
<div class="home-banner">
<div class="home-banner-inner">
<div class="container">
<div class="inner-row">
<div class="text-col">
<h1 class="title mb-3">About <span class="text-primary">Stella Amor</span></h1>
<p class="lead mb-3">Were redefining online dating with the worlds most advanced filters, free access, and a passion for helping you find your perfect match. A new Nordic Product</p>
<a href="/register/" class="mb-3 btn btn-dark cta-btn">Join Free Today</a>
</div>
<div class="image-col">
<div class="image-wrapper">
<img src="/rss/img/sweden.jpg" alt="Stella Amor team vision" loading="lazy" class="img-w-100 img-rounded-lg shadow-2">
</div>
</div>
</div>
</div>
</div>
</div>
<section class="mission-section py-4 bg-white">
<div class="container my-5">
<h2 class="mb-4 text-center">Our Mission</h2>
<div class="row align-items-center">
<div class="col-12 col-md-7 flex-column justify-center">
<h3 class="h3 mb-3">Empowering Love with Choice</h3>
<p class="text">At Stella Amor, we believe everyone deserves to find love on their terms. Thats why we created the worlds largest dating filters, letting you match based on finance, kinks, lifestyle, religion, and more. Our free trial and affordable subscriptions ($9.99/month, no binding periods) make personalized dating accessible to all.</p>
<p class="text">Were here to break the mold of generic dating apps, offering a platform where picky singles and professionals can find exactly what theyre looking for, without judgment or limitations.</p>
<div class="d-flex mt-3">
<a href="/register" class="btn btn-dark">Start Your Journey</a>
</div>
</div>
<div class="col-12 col-md-5">
<div class="rounded-col-image">
<img src="/rss/img/couple-elder.jpg" alt="Stella Amors mission for love" loading="lazy">
</div>
</div>
</div>
</div>
</section>
<section class="features-section py-4 bg-accent-white">
<div class="container my-5">
<h2 class="mb-4 text-center">Why Choose Stella Amor?</h2>
<div class="row g-4">
<div class="col-12 col-md-4">
<div class="theme-card primary card-hover">
<div class="card-header theme-header">
<img src="/rss/img/app-search.png" alt="Advanced filters icon" class="rounded-image object-center" loading="lazy">
</div>
<div class="card-body">
<h3 class="h3 fw-light">Unmatched Filters</h3>
<p class="text">From wealth to kinks to family values, our filters let you find exactly who youre looking for.</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card primary card-hover">
<div class="card-header theme-header">
<img src="/rss/img/app-code.png" alt="User-friendly app icon" class="rounded-image object-center" loading="lazy">
</div>
<div class="card-body">
<h3 class="h3 fw-light">User-Friendly App</h3>
<p class="text">Our fast, reliable app works on all devices, making your dating experience seamless.</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card secondary card-hover">
<div class="card-header theme-header">
<img src="/rss/img/app-date.png" alt="Free trial icon" class="rounded-image object-center" loading="lazy">
</div>
<div class="card-body">
<h3 class="h3 fw-light">Free to Start</h3>
<p class="text">Enjoy a full month free with no credit card required, and affordable plans after that.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section>
<div class="container my-5" id="tos">
<div class="row">
<div class="col-md-6 col-s-12">
<h1>Terms of Use</h1>
<p>These Terms of Use govern your use of Stella Amor. They may change, so review periodically. Contact support@stellaamor.com for questions, with responses within 48 hours.</p>
<h2>1. User Conduct</h2>
<ul>
<li>Respect all users, including HBTQ individuals, at all times. Harassment, hate speech, or abusive behavior will result in account suspension.</li>
<li>Do not impersonate others or create fake profiles to mislead users.</li>
<li>Sharing private user information outside the platform is strictly prohibited.</li>
<li>Spamming, phishing, or malicious activities lead to account termination.</li>
</ul>
<h2>2. Profile Usage</h2>
<ul>
<li>Keep your account credentials secure to protect your privacy.</li>
<li>Uploaded content must not violate copyright, trademark, or privacy laws.</li>
</ul>
<h2>3. Privacy and Data Usage</h2>
<ul>
<li>We prioritize privacy and wont share your data without consent, except as legally required.</li>
<li>By using Stella Amor, you agree to our Privacy Policys data practices.</li>
</ul>
<h2>4. Reporting Issues</h2>
<ul>
<li>Report security vulnerabilities or bugs to support@stellaamor.com immediately, without exploitation.</li>
<li>Report inappropriate behavior or content via platform tools or support@stellaamor.com.</li>
</ul>
<h2>5. Liability</h2>
<ul>
<li>Were not responsible for user actions outside the platform.</li>
<li>Use Stella Amor at your own risk; we dont guarantee match success.</li>
</ul>
<h2>6. Account Termination</h2>
<ul>
<li>We may terminate accounts violating these terms or engaging in prohibited conduct.</li>
<li>Users can terminate accounts anytime via settings.</li>
</ul>
<h2>7. Amendments</h2>
<ul>
<li>Terms may be updated periodically. Continued use signifies acceptance of changes.</li>
<li>No refunds are offered unless required by law. Try our 30-day free trial before subscribing.</li>
<li>No refunds for terminated accounts.</li>
<li>Post-trial subscription is 99 SEK/month, supporting constant platform updates.</li>
</ul>
<h1>Privacy Policy</h1>
<p>Your privacy is our priority at Stella Amor. This policy explains how we collect, use, and protect your data. Contact support@stellaamor.com for concerns, with responses within 48 hours.</p>
<h2>1. Information We Collect</h2>
<ul>
<li><strong>Personal Information:</strong> Name, email, date of birth, and profile details (e.g., kinks, lifestyle) are collected during account creation.</li>
<li><strong>Usage Data:</strong> We track interactions like searches, messages, and matches to improve your experience.</li>
<li><strong>Device Information:</strong> IP address, browser type, and device details may be collected for security.</li>
</ul>
<h2>2. How We Use Your Information</h2>
<ul>
<li>Enhance platform functionality and user experience with constant updates.</li>
<li>Personalize matches for kinks, wealth, or HBTQ-friendly preferences.</li>
<li>Communicate updates, notifications, or support via support@stellaamor.com.</li>
<li>Monitor and improve security to prevent fraud and abuse.</li>
</ul>
<h2>3. Sharing Your Information</h2>
<ul>
<li>We dont sell your data to third parties.</li>
<li>Data may be shared with trusted partners under confidentiality agreements to operate the platform.</li>
<li>Information may be disclosed as required by law or to protect user safety.</li>
</ul>
<h2>4. Data Retention</h2>
<ul>
<li>Data is retained while your account is active or as needed for services.</li>
<li>Data may be kept to comply with legal obligations or resolve disputes.</li>
</ul>
<h2>5. Your Rights</h2>
<ul>
<li>Opt out of marketing communications via account preferences.</li>
<li>Contact support@stellaamor.com with data concerns; we respond within 48 hours.</li>
</ul>
<h2>6. Security</h2>
<ul>
<li>Industry-standard measures protect your data from unauthorized access.</li>
<li>No online service is fully secure; use Stella Amor at your own risk.</li>
</ul>
<h2>7. Changes to This Privacy Policy</h2>
<ul>
<li>We update this policy periodically to meet new requirements. Changes are communicated via platform or email.</li>
<li>Continued use indicates acceptance of updates.</li>
</ul>
</div>
</div>
</div>
</section>
<section class="cta-section py-4 bg-accent-white">
<div class="container">
<div class="flex-column justify-center align-center text-center">
<h2 class="mb-3">Ready to Find Your Perfect Match?</h2>
<p class="text mb-3">Join Stella Amor today and explore love with the worlds most advanced dating filters. No credit card needed!</p>
<a href="/register" class="btn btn-dark cta-btn">Get Started Free</a>
</div>
</div>
</section>
</main>

72
rss/php/templates/faq.php Normal file
View File

@@ -0,0 +1,72 @@
<main>
<div class="home-banner no-height">
<div class="home-banner-inner">
<div class="container">
<div class="d-flex justify-center align-center">
<div class="text-col">
<h1 class="title mb-3">Frequently Asked <span class="text-primary">Questions</span></h1>
<p class="lead mb-3">Everything you need to know about Stella Amors free dating platform and advanced filters.</p>
</div>
</div>
</div>
</div>
</div>
<section class="faq-section py-4 bg-white">
<div class="container">
<h2 class="mb-4 text-center">Your Questions, Answered</h2>
<div>
<h3 class="h3 fw-light">Is Stella Amor really free?</h3>
<p class="text">Yes! Get a 30-day free trial with full access to all features, no credit card needed. For only $9.99 (99 SEK) monthly after, find your perfect match with our unique filters.</p>
<h3 class="h3 fw-light">How private are my dating filters?</h3>
<p class="text">Your preferences, like kinks or financial goals, are encrypted for matchmaking only. Stella Amors secure platform ensures your data stays private, delivering a safe, confidential dating experience.</p>
<h3 class="h3 fw-light">Can I cancel my subscription?</h3>
<p class="text">Yes! Cancel anytime via “Manage Subscription” with no binding periods. Choose immediate cancellation or end at the payment periods close to control your membership seamlessly.</p>
<h3 class="h3 fw-light">What makes Stella Amors filters unique?</h3>
<p class="text">Unlike other free dating platforms, Stella Amor offers precise filters for wealth, kinks, lifestyle, faith, and hobbies, helping you connect with singles who truly match your values.</p>
<h3 class="h3 fw-light">Is Stella Amor safe for kink-friendly dating?</h3>
<p class="text">Absolutely! Explore kinks and fetishes in a secure, inclusive space. Our encrypted filters keep preferences private, connecting you with singles who share your desires safely.</p>
<h3 class="h3 fw-light">How do I find matches with specific interests?</h3>
<p class="text">Filter by hobbies like travel, gaming, or fitness to connect with singles who share your passions. Stella Amors lifestyle matching sparks tailored, meaningful relationships on our platform.</p>
<h3 class="h3 fw-light">Can I filter for financial compatibility?</h3>
<p class="text">Yes! Filter by income, net worth, or savings goals to find singles with shared financial dreams, from wealth-building to a luxurious lifestyle, on our free platform.</p>
<h3 class="h3 fw-light">Is Stella Amor inclusive for all daters?</h3>
<p class="text">Yes! We welcome everyone with filters for faith, kinks, or lifestyle. Join our inclusive, judgment-free community to connect with singles who share your unique values.</p>
<h3 class="h3 fw-light">How does Stella Amor ensure safe online dating?</h3>
<p class="text">We prioritize safety with encrypted data, secure matchmaking, and robust privacy controls. Filter confidently for kinks or hobbies while Stella Amor protects your personal information.</p>
<h3 class="h3 fw-light">Can I match based on physical preferences?</h3>
<p class="text">Yes! Filter by body type, height, or features like eye color to find singles matching your physical preferences, creating tailored connections on our free platform.</p>
<h3 class="h3 fw-light">How do I connect with career-driven singles?</h3>
<p class="text">Use career filters to match with professionals sharing your ambitions or living arrangements. Find singles aligned with your job goals on Stella Amors tailored platform.</p>
<h3 class="h3 fw-light">Can I try Stella Amor without committing?</h3>
<p class="text">Yes! Enjoy a 30-day free trial to explore filters for kinks, wealth, or hobbies. Start your love journey risk-free with no commitment on our inclusive platform!</p>
<h3 class="h3 fw-light">Can I find a sugar daddy or sugar baby on Stella Amor?</h3>
<p class="text">Yes! Filter by income, net worth, or lifestyle to find sugar daddies or sugar babies for mutually beneficial relationships in our safe, inclusive dating environment.</p>
<h3 class="h3 fw-light">Is Stella Amor good for casual dating or friendships?</h3>
<p class="text">Absolutely! Use lifestyle or hobby filters to find casual dating partners or friends who share your interests, from gaming to travel, on our free platform.</p>
<h3 class="h3 fw-light">Can I find matches for virgin dating?</h3>
<p class="text">Yes! Filter by sexual experience to connect with singles open to virgin dating, ensuring a supportive match tailored to your comfort level on our platform.</p>
<h3 class="h3 fw-light">Does Stella Amor support global dating?</h3>
<p class="text">Yes! Our travel and lifestyle filters connect you with singles worldwide, from local matches to global adventurers, for an exciting international dating experience.</p>
<h3 class="h3 fw-light">Can I meet plus-size singles like BBW women?</h3>
<p class="text">Yes! Filter by body type to meet plus-size singles, like confident BBW women, who match your preferences in our inclusive, free dating community.</p>
<h3 class="h3 fw-light">How can I find sugar daddies online?</h3>
<p class="text">Stella Amors wealth filters make finding sugar daddies online easy. Filter by income or net worth to connect with generous singles in a secure, inclusive environment.</p>
<h3 class="h3 fw-light">Is Stella Amor a kinky dating app?</h3>
<p class="text">Yes! As a kinky dating app, Stella Amor offers encrypted filters for fetishes, connecting you with singles who share your desires in a safe, inclusive space.</p>
<h3 class="h3 fw-light">Can I find hot singles for casual hookups?</h3>
<p class="text">Definitely! Use lifestyle or physical filters to find hot singles for casual hookups. Stella Amors free platform offers tailored, private connections for fun and excitement.</p>
<h3 class="h3 fw-light">How do I meet curvy women or men?</h3>
<p class="text">Filter by body type to meet curvy women or men who match your preferences. Connect with confident singles for meaningful or casual relationships on our inclusive platform.</p>
<h3 class="h3 fw-light">How do I contact Stella Amor support?</h3>
<p class="text">Email us at support@stellaamor.com, and well respond within 48 hours. Our dedicated team is here to help with any questions about your free dating experience or filters.</p>
<h3 class="h3 fw-light">Is Stella Amor LGBTQ-friendly?</h3>
<p class="text">Yes! Stella Amor is proudly LGBTQ-friendly, with inclusive filters for kinks, lifestyle, or preferences. Connect with singles who share your identity and values in a welcoming community.</p>
<h3 class="h3 fw-light">Does Stella Amor update its features?</h3>
<p class="text">Yes! We constantly update our platform to meet new requirements, adding filters and features to enhance your dating experience, from kinks to global matching, all for free.</p>
</div>
<div class="d-flex justify-center mt-4">
<a href="/register/" class="btn btn-dark">Get Started</a>
</div>
</div>
</section>
</main>

View File

@@ -0,0 +1,157 @@
<main>
<div class="home-banner">
<div class="home-banner-inner">
<div class="container">
<div class="inner-row">
<div class="text-col">
<h1 class="title mb-3">Find <span class="text-primary">Exactly</span> Who Youre Looking For</h1>
<p class="lead mb-3">Stella Amors advanced filters let you match with partners based on finance, kinks, lifestyle, religion, and more. From wealth to unique desires, weve got you covered.</p>
<a href="/register/" class="mb-3 btn btn-dark cta-btn">Start Filtering Now</a>
</div>
<div class="image-col">
<div class="image-wrapper">
<img src="/rss/img/man-browsing.jpg" alt="Stella Amor advanced filters interface" loading="lazy" class="img-w-100 img-rounded-lg shadow-2">
</div>
</div>
</div>
</div>
</div>
</div>
<section class="filter-section py-4 bg-accent-white">
<div class="container my-5">
<h2 class="mb-4 text-center">Tailor Your Search with Precision</h2>
<div class="row g-4">
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-currency-usd"></i>
</div>
<h3 class="filter-title">Wealth & Financial Goals</h3>
<p class="filter-text">Find a partner who shares your financial vision, whether its building wealth, saving for the future, or enjoying a luxurious lifestyle. Filter by income, net worth, or money management goals.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-handcuffs"></i>
</div>
<h3 class="filter-title">Kinks & Fetishes</h3>
<p class="filter-text">Embrace your desires with confidence. Match with singles who share your unique kinks or fetishes, from adventurous preferences to niche passions, in a safe, inclusive environment.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-church"></i>
</div>
<h3 class="filter-title">Religion & Values</h3>
<p class="filter-text">Connect with partners who share your faith or core beliefs, like Muslims or Christians seeking matches with specific spiritual values or cultural practices.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-heart-pulse"></i>
</div>
<h3 class="filter-title">Sexual Experience</h3>
<p class="filter-text">Whether youre new to dating or prefer someone experienced, filter by romantic or sexual experience to find a partner who matches your comfort level.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-human-male-female"></i>
</div>
<h3 class="filter-title">Physical Traits</h3>
<p class="filter-text">Find your ideal match based on physical preferences, from body type to specific features like eye color or height, tailored to your desires.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-paw"></i>
</div>
<h3 class="filter-title">Lifestyle & Hobbies</h3>
<p class="filter-text">Bond over shared passions, whether youre a pet lover, fitness enthusiast, or hobbyist into gaming, travel, or outdoor adventures.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-school"></i>
</div>
<h3 class="filter-title">Education & Travel</h3>
<p class="filter-text">Match with singles who share your academic background or passion for travel, from local adventures to international explorations.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-briefcase"></i>
</div>
<h3 class="filter-title">Career & Living</h3>
<p class="filter-text">Find partners aligned with your professional ambitions or living arrangements, from career-driven individuals to those with specific home setups.</p>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-movie"></i>
</div>
<h3 class="filter-title">Hobbies & Interests</h3>
<p class="filter-text">Connect over shared interests, from favorite movie genres like sci-fi or romance to activities like hiking, cooking, or creative hobbies.</p>
</div>
</div>
</div>
<div class="d-flex justify-center mt-4 pt-5">
<a href="/register/" class="btn btn-dark me-2">Join Free Now</a>
</div>
<p class="text-center mt-3">Stella Amors filters help you find your perfect match, no matter how specific your preferences!</p>
</div>
</section>
<section class="features-section py-4 bg-white">
<div class="container">
<h2 class="mb-4 text-center">Who Can Stella Amor Help?</h2>
<div class="row g-4">
<div class="col-12 col-md-4">
<div class="theme-card primary card-hover">
<div class="card-header theme-header">
<img src="/rss/img/yacht2.jpg" alt="Wealth-focused dating" class="rounded-image object-center" loading="lazy">
</div>
<div class="card-body">
<h3 class="h3 fw-light">Ambitious Daters</h3>
<p class="text">Seeking wealth or shared financial goals? Filter by income, assets, or money management dreams to connect with ambitious singles ready for a secure future.</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card secondary card-hover">
<div class="card-header theme-header">
<img src="/rss/img/church.jpg" alt="Faith-based dating" class="rounded-image object-center" loading="lazy">
</div>
<div class="card-body">
<h3 class="h3 fw-light">Faithful Hearts</h3>
<p class="text">Find love rooted in shared beliefs. Muslims, Christians, or others can filter for partners with specific spiritual values or cultural practices.</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card primary card-hover">
<div class="card-header theme-header">
<img src="/rss/img/couple-ice.jpg" alt="Experience-based dating" class="rounded-image object-center" loading="lazy">
</div>
<div class="card-body">
<h3 class="h3 fw-light">First-Time Romantics</h3>
<p class="text">New to dating or seeking someone experienced? Filter by romantic or sexual experience to find a partner who matches your comfort level and desires.</p>
</div>
</div>
</div>
</div>
<div class="d-flex justify-center mt-4">
<a href="/register/" class="btn btn-dark">Create Your Free Account</a>
</div>
</div>
</section>
</main>

View File

@@ -0,0 +1,90 @@
<main>
<div class="home-banner no-height">
<div class="home-banner-inner">
<div class="container">
<div class="d-flex justify-center align-center">
<div class="text-col">
<h1 class="title mb-3">How <span class="text-primary">Stella Amor</span> Works</h1>
<p class="lead mb-3">Find your perfect match in three simple steps with Stella Amors free dating platform. Our unique filters for finance, kinks, lifestyle, faith, and hobbies connect you with singles who share your passions. Start your love journey today!</p>
<a href="/register/" class="mb-3 btn btn-dark cta-btn">Get Started Now</a>
</div>
</div>
</div>
</div>
</div>
<section class="steps-section py-4 bg-white">
<div class="container">
<h2 class="mb-4 text-center">Three Easy Steps to Love</h2>
<div class="row g-4">
<div class="col-12 col-md-4">
<div class="theme-card primary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">1. Sign Up Free</h3>
<p class="text">Join Stella Amor in seconds with a free account—no credit card needed. Start exploring a vibrant community of singles ready to connect on your terms.</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card secondary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">2. Set Your Filters</h3>
<p class="text">Tailor your search with our advanced filters for wealth, kinks, faith, hobbies, or lifestyle to find singles who perfectly match your values and passions.</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card primary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">3. Find Your Match</h3>
<p class="text">Instantly connect with singles who share your financial goals, unique desires, or interests, and build meaningful relationships that feel just right.</p>
</div>
</div>
</div>
</div>
<div class="row mt-4 g-4">
<div class="col-12 col-md-6">
<div class="theme-card secondary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Set Up Your Ultimate Profile</h3>
<p class="text">Craft a standout profile with details about your passions, goals, and preferences to catch the eye of singles who truly match your vibe.</p>
</div>
</div>
</div>
<div class="col-12 col-md-6">
<div class="theme-card primary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Master Filters for Top Dating</h3>
<p class="text">Use our powerful filters to pinpoint your ideal partner, from shared kinks to career ambitions, for a dating experience tailored to you.</p>
</div>
</div>
</div>
</div>
<div class="d-flex justify-center mt-4">
<a href="/register/" class="btn btn-dark">Join Free Now</a>
</div>
</div>
</section>
<section>
<div class="py-5 display-banner kissing-banner">
<div class="container">
<div class="flex-column justify-center align-center">
<h3 class="text-white">Get started today | Free and Easy</h3>
<p class="text-white">We set it up to be easy. Just setup your profile and filter away to find get that top dating experience</p>
</div>
</div>
</div>
</section>
<section class="filter-explanation py-4 bg-accent-white">
<div class="container">
<h2 class="mb-4 text-center">Why Our Filters Make the Difference</h2>
<p class="text">Stella Amors advanced filters set us apart in the world of free online dating. Unlike standard platforms, we let you search for partners based on what truly matters to you. Whether its financial compatibility, shared kinks, or lifestyle passions. Filter by income or savings goals to find someone with similar financial dreams, or explore kinks and fetishes in a safe, inclusive space. Match with singles who share your faith, like Muslims or Christians, or connect over hobbies like travel, fitness, or gaming. With filters for physical traits, career goals, and even specific interests like sci-fi movies, you can pinpoint your perfect match with ease. Our intuitive system ensures your search is precise, private, and tailored to your unique desires, making love effortless.</p>
<div class="d-flex justify-center mt-4">
<a href="/register/" class="btn btn-dark">Start Filtering Today</a>
</div>
</div>
</section>
</main>

View File

@@ -6,8 +6,8 @@
<div class="text-col">
<h1 class="title mb-3">Discover <span class="text-primary">Your Love Story</span> with Stella Amor</h1>
<p class="lead mb-1">Join free today with unique date filters for finance, kinks, lifestyle, and beyond. Start exploring now!</p>
<a href="/signup" class="mb-3 btn btn-dark cta-btn">Sign up today</a>
<p class="login-text">Already have an account? <a href="/login" class="login-link">Login now</a></p>
<a href="/register/" class="mb-3 btn btn-dark cta-btn">Sign up today</a>
<p class="login-text">Already have an account? <a href="/login/" class="login-link">Login now</a></p>
</div>
<div class="image-col">
<div class="image-wrapper">
@@ -58,7 +58,7 @@
</div>
</div>
<div class="d-flex justify-center mt-3">
<a href="/create-account" class="btn btn-dark" title="Explore Stella Amor filters" aria-label="Explore filters">Explore Your Options</a>
<a href="/register/" class="btn btn-dark" title="Explore Stella Amor filters" aria-label="Explore filters">Explore Your Options</a>
</div>
</div>
</section>
@@ -97,46 +97,42 @@
<div class="container border-top text-light" aria-hidden="true"></div>
<section class="py-2 bg-white">
<div class="container my-5">
<div class="row align-items-center">
<div class="col-12 col-md-5">
<img src="/rss/img/couple-luxury.jpg" alt="Free dating with economy filters on Stella Amor" class="img-w-100 img-rounded-lg shadow-2">
</div>
<div class="col-12 col-md-7 flex-column justify-center">
<h2 class="mb-3">Find Love with Economy Compatibility</h2>
<p>Stella Amors free dating platform lets you filter for financial compatibility, connecting you with singles who share your economic goals. Start building a stable future with the right partner today!</p>
<div class="d-flex mt-3">
</div>
</div>
<div class="container my-5">
<div class="row align-items-center">
<div class="col-12 col-md-5">
<img src="/rss/img/couple-luxury.jpg" alt="Free dating with economy filters on Stella Amor" class="img-w-100 img-rounded-lg shadow-2" loading="lazy">
</div>
<div class="col-12 col-md-7 flex-column justify-center">
<h2 class="mb-3">Find Love with Financial Compatibility</h2>
<p>At Stella Amor, our free dating platform empowers you to find singles who share your financial goals, from budgeting to building wealth together. Whether you prioritize savings, investments, or a debt-free lifestyle, our advanced economy filters connect you with partners who align with your vision for a secure future. Join thousands of users whove found love grounded in shared values. Sign up free today and start your journey to a financially harmonious relationship!</p>
</div>
</div>
</div>
<div class="container my-5">
<div class="row align-items-center">
<div class="col-12 col-md-7 flex-column justify-center">
<h2 class="mb-3">Explore Love with Kinks & Preferences</h2>
<p>Discover your ideal match on Stella Amor with advanced filters for kinks and unique preferences. Join free to find a partner who embraces your desires on this top dating site!</p>
</div>
<div class="col-12 col-md-5">
<img src="/rss/img/fetish.jpg" alt="Free dating with kinks filters on Stella Amor" class="img-w-100 img-rounded-lg shadow-2">
</div>
<div class="container my-5">
<div class="row align-items-center">
<div class="col-12 col-md-7 flex-column justify-center">
<h2 class="mb-3">Explore Love with Kinks & Preferences</h2>
<p>Stella Amors kink-friendly dating platform lets you embrace your unique desires without judgment. Our advanced filters for kinks, fetishes, and lifestyle preferences help you connect with partners who share your passions, from adventurous interests to niche hobbies. Feel confident being your authentic self on a safe, inclusive site designed for meaningful connections. Join free today to discover why Stella Amor is the top dating site for open-minded singles seeking true compatibility!</p>
</div>
<div class="col-12 col-md-5">
<img src="/rss/img/fetish.jpg" alt="Free dating with kinks filters on Stella Amor" class="img-w-100 img-rounded-lg shadow-2" loading="lazy">
</div>
</div>
</div>
<div class="container my-5">
<div class="row align-items-center">
<div class="col-12 col-md-5">
<img src="/rss/img/family-pregnant.jpg" alt="Free dating with family filters on Stella Amor" class="img-w-100 img-rounded-lg shadow-2">
</div>
<div class="col-12 col-md-7 flex-column justify-center">
<h2 class="mb-3">Build a Family with Lifestyle Matching</h2>
<p>Stella Amor offers free dating with filters for family values and lifestyle, helping you find a lifelong partner ready for marriage and a shared future. Join now!</p>
<div class="d-flex mt-3">
</div>
</div>
<div class="container my-5">
<div class="row align-items-center">
<div class="col-12 col-md-5">
<img src="/rss/img/family-pregnant.jpg" alt="Free dating with family filters on Stella Amor" class="img-w-100 img-rounded-lg shadow-2" loading="lazy">
</div>
<div class="col-12 col-md-7 flex-column justify-center">
<h2 class="mb-3">Build a Family with Lifestyle Matching</h2>
<p>Looking for a partner ready for marriage and family? Stella Amors free dating platform offers powerful filters for family values, lifestyle, and long-term goals. Whether you dream of raising kids, sharing religious beliefs, or building a home together, our site connects you with singles who share your vision for a meaningful future. Join our community of committed daters and start your journey to lasting love with someone whos ready for the next step!</p>
</div>
</div>
</section>
</div>
</section>
<section class="success-stories bg-white">
<div class="container text-light border-top border-bottom py-4 mb-3">
@@ -146,49 +142,93 @@
<div class="col-12 col-md-4">
<div class="theme-card primary">
<div class="inner">
<p class="text">The finance filter helped us align our goals! K & M</p>
<p class="text">We bonded over our shared budgeting habits and love for travel. Stella Amors filters made it so easy to find someone who gets me. Karen & Mike</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card secondary">
<div class="inner">
<p class="text">Kink filters made finding my match effortless! P & J</p>
<p class="text">I was nervous about sharing my interests, but the lifestyle filters helped me find someone whos just as adventurous. Were inseparable now! Priya & James</p>
</div>
</div>
</div>
<div class="col-12 col-md-4">
<div class="theme-card primary">
<div class="inner">
<p class="text">Found my pet-loving soulmate! S & T</p>
<p class="text">As a dog lover, I wanted someone whod adore my pup as much as I do. Stella Amor connected me with my perfect match. Sarah & Tom</p>
</div>
</div>
</div>
</div>
<div class="d-flex justify-center mt-4">
<a href="/success-stories" class="btn btn-outline-primary" title="Read more Stella Amor success stories" aria-label="Read more success stories">Read More Stories</a>
<a href="/success-stories/" class="btn btn-outline-primary" title="Read more Stella Amor success stories" aria-label="Read more success stories">Read More Stories</a>
</div>
</div>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Organization",
"name": "Stella Amor"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": 5
},
"author": {
"@type": "Person",
"name": "K & M"
},
"reviewBody": "The finance filter helped us align our goals!"
}
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Organization",
"name": "Stella Amor",
"url": "http://stellaamor.local/"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": 5,
"bestRating": 5
},
"author": {
"@type": "Person",
"name": "Karen & Mike"
},
"reviewBody": "We bonded over our shared budgeting habits and love for travel. Stella Amors filters made it so easy to find someone who gets me."
}
</script>
</div>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Organization",
"name": "Stella Amor",
"url": "http://stellaamor.local/"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": 5,
"bestRating": 5
},
"author": {
"@type": "Person",
"name": "Priya & James"
},
"reviewBody": "I was nervous about sharing my interests, but the lifestyle filters helped me find someone whos just as adventurous. Were inseparable now!"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Organization",
"name": "Stella Amor",
"url": "http://stellaamor.local/"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": 5,
"bestRating": 5
},
"author": {
"@type": "Person",
"name": "Sarah & Tom"
},
"reviewBody": "As a dog lover, I wanted someone whod adore my pup as much as I do. Stella Amor connected me with my perfect match."
}
</script>
</div>
</section>
@@ -199,7 +239,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-currency-usd"></i> <!-- Finance icon -->
<i class="mdi mdi-currency-usd"></i>
</div>
<h3 class="filter-title">Financial Goals & Spending Habits</h3>
<p class="filter-text">Find partners aligned with your wealth dreams, from savings to luxury lifestyles.</p>
@@ -208,7 +248,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-handcuffs"></i> <!-- Kinks icon -->
<i class="mdi mdi-handcuffs"></i>
</div>
<h3 class="filter-title">Fetishes & Personalities</h3>
<p class="filter-text">Connect with those who share your unique desires and preferences.</p>
@@ -217,7 +257,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-paw"></i> <!-- Lifestyle icon -->
<i class="mdi mdi-paw"></i>
</div>
<h3 class="filter-title">Lifestyle (Pets, Fitness, Diets)</h3>
<p class="filter-text">Match with partners who vibe with your pet love, fitness, or dietary choices.</p>
@@ -226,7 +266,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-eye"></i> <!-- Eye Colors icon -->
<i class="mdi mdi-eye"></i>
</div>
<h3 class="filter-title">Eye Colors & Hair Styles</h3>
<p class="filter-text">Filter by physical traits to find your visually perfect match.</p>
@@ -235,7 +275,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-human-male-female"></i> <!-- Body Types icon -->
<i class="mdi mdi-human-male-female"></i>
</div>
<h3 class="filter-title">Body Types & Ethnicities</h3>
<p class="filter-text">Discover love based on body preferences and cultural backgrounds.</p>
@@ -244,7 +284,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-school"></i> <!-- Education icon -->
<i class="mdi mdi-school"></i>
</div>
<h3 class="filter-title">Education & Travel Preferences</h3>
<p class="filter-text">Connect with those who share your academic and travel passions.</p>
@@ -253,7 +293,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-heart-pulse"></i> <!-- Health icon -->
<i class="mdi mdi-heart-pulse"></i>
</div>
<h3 class="filter-title">Health Habits & Exercise Frequency</h3>
<p class="filter-text">Find matches with similar health and fitness routines.</p>
@@ -262,7 +302,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-briefcase"></i> <!-- Job Roles icon -->
<i class="mdi mdi-briefcase"></i>
</div>
<h3 class="filter-title">Job Roles & Living Arrangements</h3>
<p class="filter-text">Align with partners based on career and living situations.</p>
@@ -271,7 +311,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-church"></i> <!-- Religion icon -->
<i class="mdi mdi-church"></i>
</div>
<h3 class="filter-title">Religion & Languages</h3>
<p class="filter-text">Meet those who share your faith and linguistic background.</p>
@@ -280,7 +320,7 @@
<div class="col-12 col-md-6 col-lg-4 my-2">
<div class="filter-card">
<div class="filter-icon">
<i class="mdi mdi-movie"></i> <!-- Hobbies icon -->
<i class="mdi mdi-movie"></i>
</div>
<h3 class="filter-title">Hobbies & Movie Genres</h3>
<p class="filter-text">Bond over shared interests and favorite films.</p>
@@ -288,35 +328,9 @@
</div>
</div>
<div class="d-flex justify-center mt-4 pt-5">
<a href="/create-account" class="btn btn-white me-2">Join Free Now</a>
<a href="/register/" class="btn btn-white me-2">Join Free Now</a>
</div>
<p class="text-center mt-3">Stella Amor offers the best free dating filters to customize your search and start your love journey today!</p>
</div>
</section>
</main>
<!-- FIX THIS BEFORE RELASE -->
<script>
document.addEventListener('DOMContentLoaded', () => {
const sections = document.querySelectorAll('section');
const observer = new IntersectionObserver(
(entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
observer.unobserve(entry.target); // Stop observing after animation
}
});
}, {
threshold: 0.05, // Trigger when 10% of section is visible
rootMargin: '0px 0px -50px 0px' // Trigger 50px before fully in view
}
);
sections.forEach(section => {
section.classList.add('section-animation');
observer.observe(section);
});
});
</script>
</main>

View File

@@ -1,45 +1,34 @@
<div class="bg-light full-height d-flex align-center" style="background: url('/rss/img/bg-login.jpg') center center / cover no-repeat;">
<div class="user-container">
<div class="container">
<div class="row py-4 no-wrap">
<div class="col-12 col-md-6 rel neg-col d-flex align-center">
<div class="card shadow-3">
<div class="user-card">
<div class="form">
<form id="loginForm" class="user-form">
<h2>Login</h2>
<form method="POST" action="#" id="loginForm">
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-input" id="email" name="email">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-input" id="password" name="password">
</div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<button class="btn secondary">Login</button>
</div>
</div>
</div>
</form>
</div>
<div class="form-control mb-3">
<label>Email</label>
<input type="email" class="form-input" name="email" id="email" required placeholder="Email">
</div>
<div class="form-control mb-3">
<label>Password</label>
<input type="password" class="form-input" name="password" id="password" required placeholder="Password">
</div>
<div class="form-control d-flex justify-center mb-3">
<button type="submit" class="btn btn-dark px-4 py-2">Login</button>
</div>
<div class="form-control mb-3">
<p class="d-inline">Don't have an account? <a href="/register/"><u>signup</u></a></p>
</div>
<div class="alert danger d-none" id="loginError"></div>
</form>
</div>
<div class="col-12 col-md-8">
<div class="card bg-alt rel has-neg-col shadow-4 py-5">
<h2 class="text-white">Love on Your Terms</h2>
<p class="text-white">
Tired of shallow swipes and empty conversations? StellaAmor is for people who crave more than just a pretty profile. Here, you match based on your deepest preferences from lifestyle and values to appearance and chemistry.
</p>
<p class="text-white">
Were not the biggest dating site. Were the one built differently. No noise. No pressure. Just a space where your personality and desires actually matter.
</p>
<p class="text-white">
Youre early and thats a good thing. Be one of the first to shape a dating community where quality comes first. Sign up today and enjoy your first month of premium access totally free.
<br>
<a href="/create-account.php" class="btn secondary mt-2">Start Your Journey</a>
</p>
<div class="text-col">
<div class="logo">
<img src="/rss/img/logo.png" alt="Stella Amor Logo" loading="lazy">
</div>
<div class="text">
<h2>Log In to Find Your Perfect Match</h2>
<p>Welcome back to Stella Amor! Log in to reconnect with singles who share your financial goals, kinks, or family-oriented dreams. Our free dating platform offers powerful filters for money management, lifestyle passions, and unique desires, making it easy to find personalized matches. Dive into our vibrant community and continue your journey to meaningful connections with someone who truly fits your values. Sign in now to pick up where you left off!</p>
<p class="mt-2 d-inline">New to Stella Amor? <a href="/register/" class="signup-link"><u>Sign up free</u></a></p>
</div>
</div>
</div>

View File

@@ -0,0 +1,79 @@
<div class="user-container alt">
<div class="container">
<div class="user-card">
<div class="text-col">
<div class="logo">
<img src="/rss/img/logo.png" alt="Stella Amor Logo" loading="lazy">
</div>
<div class="text">
<h2>Sign Up to Find Your Perfect Match</h2>
<p class="mb-2">Create a free account on Stella Amors inclusive dating platform to connect with singles who share your passions and values. Our advanced filters for financial compatibility, kinks, lifestyle preferences, and more make finding your ideal partner effortless.<br><br>Whether youre dreaming of a financially secure future, embracing unique desires, or building a family-oriented life, Stella Amor helps you forge meaningful connections. Join today and start your love story with someone truly compatible!</p>
<p class="mt-2 d-inline">Already have an account? <a href="/login/" class="signup-link"><u>Login</u></a></p>
</div>
</div>
<div class="form">
<form id="signupForm" class="user-form">
<h2>Sign Up</h2>
<div class="form-control mb-3">
<label for="username">Username</label>
<input type="text" class="form-input" required name="username" id="username">
</div>
<div class="form-control mb-3">
<label for="email">Email</label>
<input type="email" class="form-input" required name="email" id="email">
</div>
<div class="form-control mb-3">
<label for="userCountry">Country</label>
<select class="form-input" name="userCountry" id="userCountry">
</select>
</div>
<div class="row mb-3 mt-3">
<div class="col-6">
<div class="form-control">
<label for="password">Password</label>
<input type="password" class="form-input" required name="password" id="password">
</div>
</div>
<div class="col-6">
<div class="form-control">
<label for="password2">Confirm Password</label>
<input type="password" class="form-input" required name="password2" id="password2">
</div>
</div>
</div>
<div class="row mb-3 mt-3">
<div class="col-6">
<div class="form-control">
<label for="gender">Gender</label>
<select class="form-input" required name="gender" id="gender">
<option value="">Select Gender</option>
<option value="male">Male</option>
<option value="female">Female</option>
<option value="other">Other</option>
</select>
</div>
</div>
<div class="col-6">
<div class="form-control">
<label for="u_dob">Date of Birth</label>
<input type="date" class="form-input" required name="u_dob" id="u_dob">
</div>
</div>
</div>
<div class="form-control mb-2">
<label class="d-flex"><input type="checkbox" class="me-1" name="tos" id="tos">I agree to the <a href="/about-us/#tos" class="mx-1"><u>terms of use</u></a> and being 18 years or older</label>
</div>
<div class="form-control d-flex justify-center mb-3">
<button type="submit" class="btn btn-dark px-4 py-2">Sign Up</button>
</div>
<div class="form-control">
<p class="d-inline">Already have an account? <a href="/login/"><u>Login</u></a></p>
</div>
<div class="alert danger d-none" id="errors"></div>
</form>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,85 @@
<main>
<div class="home-banner">
<div class="home-banner-inner">
<div class="container">
<div class="inner-row">
<div class="text-col">
<h1 class="title mb-3">Love Found on <span class="text-primary">Stella Amor</span></h1>
<p class="lead mb-3">Discover how Stella Amors advanced filters for finance, kinks, lifestyle, and faith helped real couples find true love. From shared dreams to perfect matches, our free dating platform sparks lasting connections. Join today to write your own success story!</p>
<a href="/register/" class="mb-3 btn btn-dark cta-btn">Join Free Today</a>
</div>
<div class="image-col">
<div class="image-wrapper">
<img src="/rss/img/people-couple.jpg" alt="Happy couple from Stella Amor" loading="lazy" class="img-w-100 img-rounded-lg shadow-2">
</div>
</div>
</div>
</div>
</div>
</div>
<section class="stories-section py-4 bg-white">
<div class="container">
<h2 class="mb-4 text-center">Real Stories, Real Connections</h2>
<div class="row g-4">
<div class="col-12 col-md-6 col-lg-4">
<div class="theme-card primary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Emma & Liam</h3>
<p class="text">“We both dreamed of financial freedom. Stella Amors wealth filters matched us by income and savings goals, and now were building our future together!</p>
<p class="text-muted"><strong>Filter Used:</strong> Financial Goals</p>
</div>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4">
<div class="theme-card secondary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Aisha & Noor</h3>
<p class="text">“As Muslims, we sought partners with shared faith and unique preferences. Stella Amors religion and kink filters helped us find true love effortlessly.</p>
<p class="text-muted"><strong>Filter Used:</strong> Religion & Preferences</p>
</div>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4">
<div class="theme-card primary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Jake & Sarah</h3>
<p class="text">“New to dating, I was nervous. Stella Amors experience filters connected me with Sarah, who was kind and patient. Were now inseparable!</p>
<p class="text-muted"><strong>Filter Used:</strong> Sexual Experience</p>
</div>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4">
<div class="theme-card secondary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Maya & Ethan</h3>
<p class="text">“Our love for pets and fitness sparked our connection. Stella Amors lifestyle filters matched us perfectly, and were thriving as a couple!</p>
<p class="text-muted"><strong>Filter Used:</strong> Lifestyle & Hobbies</p>
</div>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4">
<div class="theme-card primary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Sofia & Raj</h3>
<p class="text">“We bonded over our love for travel and education. Stella Amors filters for academic background and adventure matched us, and now we explore together!</p>
<p class="text-muted"><strong>Filter Used:</strong> Education & Travel</p>
</div>
</div>
</div>
<div class="col-12 col-md-6 col-lg-4">
<div class="theme-card secondary card-hover">
<div class="card-body">
<h3 class="h3 fw-light">Lucas & Mia</h3>
<p class="text">“Our shared passion for sci-fi movies and hiking brought us together. Stella Amors hobby filters helped us find love that feels just right!</p>
<p class="text-muted"><strong>Filter Used:</strong> Hobbies & Interests</p>
</div>
</div>
</div>
</div>
<div class="d-flex justify-center mt-4">
<a href="/register/" class="btn btn-dark">Start Your Love Story</a>
</div>
</div>
</section>
</main>

43
sitemap.xml Normal file
View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://stellaamor.com/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://stellaamor.com/register/</loc>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://stellaamor.com/login/</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://stellaamor.com/our-filters/</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://stellaamor.com/success-stories/</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://stellaamor.com/how-it-works/</loc>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://stellaamor.com/faq/</loc>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://stellaamor.com/about-us/</loc>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>