.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c63442d9d63442d9db7f4c636b7f4c636b7f4c636b7f4c636
Found 1 files trough .DS_Store spidering: /images
Severity: low
Fingerprint: 5f32cf5d6962f09c47dfe71947dfe719511acc516ca19a49c4e4557e255081b9
Found 16 files trough .DS_Store spidering: /404.html /422.html /500.html /apple-touch-icon-precomposed.png /apple-touch-icon.png /assets /chat-widget /chat-widget/1.0.0 /chat-widget/1.0.1 /chat-widget/DEV /export /favicon.ico /javascripts /ma /mc /robots.txt
Open service 54.69.95.100:443 · support.hospicecloudpro.com
2026-01-23 02:49
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 9889
Content-Security-Policy: default-src 'self'; base-uri 'self'; object-src 'none'; img-src * data: blob:; media-src * data: blob:; font-src *; connect-src *; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://cdn.ckeditor.com; style-src 'self' 'unsafe-inline'; frame-ancestors *; frame-src 'self' https://*.mojohelpdesk.com https://app.bamzooka.com https://*.youtube.com https://*.youtube-nocookie.com https://fast.wistia.net https://*.wistia.com
Content-Type: text/html; charset=utf-8
Date: Fri, 23 Jan 2026 02:49:57 GMT
Etag: W/"82b2dbdbe7f568de704b5974a124a9e1"
Link: </assets/application-f5125179dad257f1def2a39f3bfc0b2cf8e14f3ad478051261ae5627993c6a02.css>; rel=preload; as=style; nopush,</assets/application-31e596ff1d720a45ee47c7464e2ca5b1a73c501d4cb6599c39354d71ee13cb32.js>; rel=preload; as=script; nopush,</assets/custom-679964687316e34269274d14d99f238b0f03d7fd67e42c71e18273d779e8781e.css>; rel=preload; as=style; nopush,</assets/mojo-cooked-content-0158ceae484649b4a6aa0c8d2ab6f78d3f7d72d3198b0e0470299f83ebcbf347.css>; rel=preload; as=style; nopush,</assets/google-roboto-font-family-e9a2961f2e0e8e9525cc1a32ec66282668222752b3fe15ed59bca7e90be44046.css>; rel=preload; as=style; nopush,</assets/1-c0d45f470a22138d64d361c5a10cf40af74a21b00d04d3d24f03979f76b8244d.js>; rel=preload; as=script; nopush
Referrer-Policy: strict-origin-when-cross-origin
Set-Cookie: XSRF-TOKEN=27tBXEe8xuEIezeUqt7Irz1ZR8ppqw1I6ZF8mVZlkqTpHyHPnnn0gNImgkQXnMnUgEFZEqVqBB26CkzzjmaXyA; path=/; SameSite=Lax
Set-Cookie: _user_session=VH3mABcD1vqIQrwv0%2BR7O81cGFhGBR07z1neZQvkIxcSDVNWNNXzfxS6DqmSVRimEi8E%2Bxc5xpjx9mVn6RmrnY7sYCVrevHyUg6BIeVQkzeuCFYLfrMsGFtWfYGjbg6rL36w0Xi9G2kcysxstzbMeRUbf1sZTzd6X6LA9BWQ64lc6FHkhQAnWdnXe3joePqWmuTsfdaZXsDEt%2BOTuYSUF6XkQSGm%2BRcaI%2BkmZFI4PS4Do2AQ4p42v5%2BopxG6i68O32kToYCrrJDCIYZgiBoLoLz%2FORVEt1w5ODqNDCandymZQhfFQZgnK7GUag%3D%3D--uEkjP11EyWpnKYVB--K2G5uFYhKAytAYSLeSKSxQ%3D%3D; path=/; expires=Sat, 27 Feb 2027 02:49:57 GMT; HttpOnly; SameSite=Lax
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 6fc6cac3-9aee-4da9-816d-1eb486275963
X-Runtime: 0.017898
X-Ua-Compatible: IE=edge,chrome=1
Connection: close
Page title: Hospice Cloud Pro | Mojo Helpdesk
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hospice Cloud Pro | Mojo Helpdesk</title>
<meta property="og:title" content="Hospice Cloud Pro | Mojo Helpdesk">
<meta property="og:description" content="Hospice Cloud Pro generated by Mojo Helpdesk.">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="DFk1BuVSD8sk9Lirflh8VTsm8jeoPieWzWkwsDlYl80-_VWVPJc9qv6pDXvDGn0uhj7s72T_LsOe8gDa4VuSoQ" />
<meta name="csp-nonce" />
<link rel="stylesheet" href="/assets/application-f5125179dad257f1def2a39f3bfc0b2cf8e14f3ad478051261ae5627993c6a02.css" data-turbo-track="reload" />
<script src="/assets/application-31e596ff1d720a45ee47c7464e2ca5b1a73c501d4cb6599c39354d71ee13cb32.js" data-turbo-track="reload"></script>
<!--responsive viewport meta tag-->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="/assets/custom-679964687316e34269274d14d99f238b0f03d7fd67e42c71e18273d779e8781e.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/mojo-cooked-content-0158ceae484649b4a6aa0c8d2ab6f78d3f7d72d3198b0e0470299f83ebcbf347.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/google-roboto-font-family-e9a2961f2e0e8e9525cc1a32ec66282668222752b3fe15ed59bca7e90be44046.css" data-turbo-track="reload" />
<script src="/assets/1-c0d45f470a22138d64d361c5a10cf40af74a21b00d04d3d24f03979f76b8244d.js" data-turbolinks-track="reload"></script>
<!-- Notifications -->
<!-- Enhanced Flash Messages for Admin Interface -->
<style>
.flash-messages-container {
position: fixed;
top: 20px;
right: 20px;
z-index: 1050;
max-width: 400px;
width: 100%;
}
.flash-message {
border-radius: 0.5rem;
border: none;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
margin-bottom: 1rem;
animation: slideInRight 0.3s ease-out;
}
.flash-message.alert-success {
background-color: #d4edda;
color: #155724;
border-left: 4px solid #28a745;
}
.flash-message.alert-danger {
background-color: #f8d7da;
color: #721c24;
border-left: 4px solid #dc3545;
}
.flash-message.alert-warning {
background-color: #fff3cd;
color: #856404;
border-left: 4px solid #ffc107;
}
.flash-message.alert-info {
background-color: #d1ecf1;
color: #0c5460;
border-left: 4px solid #17a2b8;
}
.flash-message .alert-heading {
font-weight: 600;
margin-bottom: 0.5rem;
}
.flash-message ul {
margin-bottom: 0;
padding-left: 1.2rem;
}
.flash-message .btn-close {
opacity: 0.7;
transition: opacity 0.2s;
}
.flash-message .btn-close:hover {
opacity: 1;
}
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* Auto-hide flash messages after 5 seconds */
.flash-message {
animation: slideInRight 0.3s ease-out, fadeOut 0.3s ease-in 4.7s forwards;
}
@keyframes fadeOut {
to {
opacity: 0;
transform: translateX(100%);
}
}
/* Responsive adjustments */
@media (max-width: 768px) {
.flash-messages-container {
top: 10px;
right: 10px;
left: 10px;
max-width: none;
}
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Auto-hide flash messages after 5 seconds
const flashMessages = document.querySelectorAll('.flash-message');
flashMessages.forEach(function(message) {
setTimeout(function() {
message.style.animation = 'fadeOut 0.3s ease-in forwards';
setTimeout(function() {
message.remove();
}, 300);
}, 5000);
});
// Manual close functionality
const closeButtons = document.querySelectorAll('.flash-message .btn-close');
closeButtons.forEach(function(button) {
button.addEventListener('click', function() {
const message = this.closest('.flash-message');
message.style.animation = 'fadeOut 0.3s ease-in forwards';
setTimeout(function() {
message.remove();
}, 300);
});
});
});
</script>
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="/asse
Open service 54.69.95.100:80 · support.hospicecloudpro.com
2026-01-11 17:55
HTTP/1.1 404 Not Found Content-Type: text/plain; charset=utf-8 X-Content-Type-Options: nosniff Date: Sun, 11 Jan 2026 17:56:54 GMT Content-Length: 19 Connection: close 404 page not found
Open service 54.69.95.100:443 · support.hospicecloudpro.com
2026-01-11 17:55
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 9827
Content-Security-Policy: default-src 'self'; base-uri 'self'; object-src 'none'; img-src * data: blob:; media-src * data: blob:; font-src *; connect-src *; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://cdn.ckeditor.com; style-src 'self' 'unsafe-inline'; frame-ancestors *; frame-src 'self' https://*.mojohelpdesk.com https://app.bamzooka.com https://*.youtube.com https://*.youtube-nocookie.com https://fast.wistia.net https://*.wistia.com
Content-Type: text/html; charset=utf-8
Date: Sun, 11 Jan 2026 17:56:55 GMT
Etag: W/"688ed2a80d33bf0cb94d94d34c8d295d"
Link: </assets/application-f5125179dad257f1def2a39f3bfc0b2cf8e14f3ad478051261ae5627993c6a02.css>; rel=preload; as=style; nopush,</assets/application-31e596ff1d720a45ee47c7464e2ca5b1a73c501d4cb6599c39354d71ee13cb32.js>; rel=preload; as=script; nopush,</assets/custom-29ffdb46c7eba2cbf17558e631b2a16e3b698ce09aa79c6e1e13a6064cdf9c38.css>; rel=preload; as=style; nopush,</assets/mojo-cooked-content-0158ceae484649b4a6aa0c8d2ab6f78d3f7d72d3198b0e0470299f83ebcbf347.css>; rel=preload; as=style; nopush,</assets/google-roboto-font-family-e9a2961f2e0e8e9525cc1a32ec66282668222752b3fe15ed59bca7e90be44046.css>; rel=preload; as=style; nopush,</assets/1-c0d45f470a22138d64d361c5a10cf40af74a21b00d04d3d24f03979f76b8244d.js>; rel=preload; as=script; nopush
Referrer-Policy: strict-origin-when-cross-origin
Set-Cookie: XSRF-TOKEN=NL_wxSdRF0P-SOEzfeBuC7gViRdIuuEaRPTo1d5XjQ1SR02aSEbGtXMZWdWVKluKqsFdjlg-SQsfoERtI6MJ8w; path=/; SameSite=Lax
Set-Cookie: _user_session=zYloDCLbMOYOHOqjnuO6C16FcyDuSxk5rypS2qPE0HnUUTEe5Ho56Rr2cjLtsmiSmMGNoO0zXInBfe08uu0dIgna9%2BIX2vxejbfJzI9LwSc6uE2IIMrINBpv7z1I8MT2s7PqpN90KouZnxZ5j8tZX2bCFYpLUGlCVqQeJICWwGyILznm8oQMcZ%2Bmncg8u8OXiEGXNMZOQbH27NAIEueGidzAh5mxw38Jur%2B3V6oKgAFH7xG2hBuUFFAuwBfqDDL4GWqw4jJOrSYSa3xkt3ov1MKTwlvTfqAr7GT6WrRAbdOtTX2joyPCsy6xPg%3D%3D--3jedI9ITRaEDb4Zn--kY%2Fc3J56tkMNO%2BUYxpS7%2FA%3D%3D; path=/; expires=Mon, 15 Feb 2027 17:56:55 GMT; HttpOnly; SameSite=Lax
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 6975e682-0afa-41da-bf4f-4f6796b6e2ce
X-Runtime: 0.018225
X-Ua-Compatible: IE=edge,chrome=1
Connection: close
Page title: Hospice Cloud Pro | Mojo Helpdesk
<!DOCTYPE html>
<html>
<head>
<title>Hospice Cloud Pro | Mojo Helpdesk</title>
<meta property="og:title" content="Hospice Cloud Pro | Mojo Helpdesk">
<meta property="og:description" content="Hospice Cloud Pro generated by Mojo Helpdesk.">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="IhLBeG2YKOZcAMD4rFo8GYXYoicTqX38TRKHJtJc3YBE6nwnAo_5ENFReB5EkAmYlwx2vgMt1e0WRiueL6hZfg" />
<meta name="csp-nonce" />
<link rel="stylesheet" href="/assets/application-f5125179dad257f1def2a39f3bfc0b2cf8e14f3ad478051261ae5627993c6a02.css" data-turbo-track="reload" />
<script src="/assets/application-31e596ff1d720a45ee47c7464e2ca5b1a73c501d4cb6599c39354d71ee13cb32.js" data-turbo-track="reload"></script>
<!--responsive viewport meta tag-->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="/assets/custom-29ffdb46c7eba2cbf17558e631b2a16e3b698ce09aa79c6e1e13a6064cdf9c38.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/mojo-cooked-content-0158ceae484649b4a6aa0c8d2ab6f78d3f7d72d3198b0e0470299f83ebcbf347.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/google-roboto-font-family-e9a2961f2e0e8e9525cc1a32ec66282668222752b3fe15ed59bca7e90be44046.css" data-turbo-track="reload" />
<script src="/assets/1-c0d45f470a22138d64d361c5a10cf40af74a21b00d04d3d24f03979f76b8244d.js" data-turbolinks-track="reload"></script>
<!-- Notifications -->
<!-- Enhanced Flash Messages for Admin Interface -->
<style>
.flash-messages-container {
position: fixed;
top: 20px;
right: 20px;
z-index: 1050;
max-width: 400px;
width: 100%;
}
.flash-message {
border-radius: 0.5rem;
border: none;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
margin-bottom: 1rem;
animation: slideInRight 0.3s ease-out;
}
.flash-message.alert-success {
background-color: #d4edda;
color: #155724;
border-left: 4px solid #28a745;
}
.flash-message.alert-danger {
background-color: #f8d7da;
color: #721c24;
border-left: 4px solid #dc3545;
}
.flash-message.alert-warning {
background-color: #fff3cd;
color: #856404;
border-left: 4px solid #ffc107;
}
.flash-message.alert-info {
background-color: #d1ecf1;
color: #0c5460;
border-left: 4px solid #17a2b8;
}
.flash-message .alert-heading {
font-weight: 600;
margin-bottom: 0.5rem;
}
.flash-message ul {
margin-bottom: 0;
padding-left: 1.2rem;
}
.flash-message .btn-close {
opacity: 0.7;
transition: opacity 0.2s;
}
.flash-message .btn-close:hover {
opacity: 1;
}
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* Auto-hide flash messages after 5 seconds */
.flash-message {
animation: slideInRight 0.3s ease-out, fadeOut 0.3s ease-in 4.7s forwards;
}
@keyframes fadeOut {
to {
opacity: 0;
transform: translateX(100%);
}
}
/* Responsive adjustments */
@media (max-width: 768px) {
.flash-messages-container {
top: 10px;
right: 10px;
left: 10px;
max-width: none;
}
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Auto-hide flash messages after 5 seconds
const flashMessages = document.querySelectorAll('.flash-message');
flashMessages.forEach(function(message) {
setTimeout(function() {
message.style.animation = 'fadeOut 0.3s ease-in forwards';
setTimeout(function() {
message.remove();
}, 300);
}, 5000);
});
// Manual close functionality
const closeButtons = document.querySelectorAll('.flash-message .btn-close');
closeButtons.forEach(function(button) {
button.addEventListener('click', function() {
const message = this.closest('.flash-message');
message.style.animation = 'fadeOut 0.3s ease-in forwards';
setTimeout(function() {
message.remove();
}, 300);
});
});
});
</script>
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="/assets/mojofav
Open service 54.69.95.100:443 · support.hospicecloudpro.com
2026-01-10 00:44
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 9827
Content-Security-Policy: default-src 'self'; base-uri 'self'; object-src 'none'; img-src * data: blob:; media-src * data: blob:; font-src *; connect-src *; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://cdn.ckeditor.com; style-src 'self' 'unsafe-inline'; frame-ancestors *; frame-src 'self' https://*.mojohelpdesk.com https://app.bamzooka.com https://*.youtube.com https://*.youtube-nocookie.com https://fast.wistia.net https://*.wistia.com
Content-Type: text/html; charset=utf-8
Date: Sat, 10 Jan 2026 00:45:28 GMT
Etag: W/"a30572116d747112bdd205594eeebe04"
Link: </assets/application-f5125179dad257f1def2a39f3bfc0b2cf8e14f3ad478051261ae5627993c6a02.css>; rel=preload; as=style; nopush,</assets/application-31e596ff1d720a45ee47c7464e2ca5b1a73c501d4cb6599c39354d71ee13cb32.js>; rel=preload; as=script; nopush,</assets/custom-29ffdb46c7eba2cbf17558e631b2a16e3b698ce09aa79c6e1e13a6064cdf9c38.css>; rel=preload; as=style; nopush,</assets/mojo-cooked-content-0158ceae484649b4a6aa0c8d2ab6f78d3f7d72d3198b0e0470299f83ebcbf347.css>; rel=preload; as=style; nopush,</assets/google-roboto-font-family-e9a2961f2e0e8e9525cc1a32ec66282668222752b3fe15ed59bca7e90be44046.css>; rel=preload; as=style; nopush,</assets/1-c0d45f470a22138d64d361c5a10cf40af74a21b00d04d3d24f03979f76b8244d.js>; rel=preload; as=script; nopush
Referrer-Policy: strict-origin-when-cross-origin
Set-Cookie: XSRF-TOKEN=KHutXcxixxS6Vjk4Wa1N5c909Fo0CMmTOCmcKwOIcz6GB7tDLJJTaqxD-NeUEO2ETwkmbH0TTj2OWXP_6wGpJg; path=/; SameSite=Lax
Set-Cookie: _user_session=ybQbSK4MWyWAh1K1NizxjV0T7OadSMZoKdot91o0W7PLWKIG47QjjUlVRbOOw284wSJh%2BJhmYnT07QHlkBAEHgMIujwxEoa5aqsoniHt%2BrXEpJ2AonchtKWxbNI6W3jX9qPvEL%2FdzAG%2B2NroHmLp%2BpPn4VFsL3FvIY3jJBZClS5piiIskkgLSlcOdfL%2BK%2BDqcN%2FEtSj3iH5M5tx8Tj1j9Sd0L0%2F%2BR1lvIy0GJrHJrDBe3Zf0eFHL7IhpINb6la8yxVhRsBNaso7EbzcIDoj610nQh0Y%2Brb3WREqReJ7dqOjGy1%2BjagYvlPYidA%3D%3D--GyMshdmTq3jP7o8%2F--FZxjp2NbZpbnD7GgFiYHrg%3D%3D; path=/; expires=Sun, 14 Feb 2027 00:45:28 GMT; HttpOnly; SameSite=Lax
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: d942c271-f6f5-4456-a27d-2fd6d6595e55
X-Runtime: 0.016017
X-Ua-Compatible: IE=edge,chrome=1
Connection: close
Page title: Hospice Cloud Pro | Mojo Helpdesk
<!DOCTYPE html>
<html>
<head>
<title>Hospice Cloud Pro | Mojo Helpdesk</title>
<meta property="og:title" content="Hospice Cloud Pro | Mojo Helpdesk">
<meta property="og:description" content="Hospice Cloud Pro generated by Mojo Helpdesk.">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="5hQsgTuM51f8jijYu2huYZQ5YmqYp3yfyLvttBchY89IaDqf23xzKeqb6Td21c4AFESwXNG8-zF-ywJg_6i51w" />
<meta name="csp-nonce" />
<link rel="stylesheet" href="/assets/application-f5125179dad257f1def2a39f3bfc0b2cf8e14f3ad478051261ae5627993c6a02.css" data-turbo-track="reload" />
<script src="/assets/application-31e596ff1d720a45ee47c7464e2ca5b1a73c501d4cb6599c39354d71ee13cb32.js" data-turbo-track="reload"></script>
<!--responsive viewport meta tag-->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="/assets/custom-29ffdb46c7eba2cbf17558e631b2a16e3b698ce09aa79c6e1e13a6064cdf9c38.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/mojo-cooked-content-0158ceae484649b4a6aa0c8d2ab6f78d3f7d72d3198b0e0470299f83ebcbf347.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/google-roboto-font-family-e9a2961f2e0e8e9525cc1a32ec66282668222752b3fe15ed59bca7e90be44046.css" data-turbo-track="reload" />
<script src="/assets/1-c0d45f470a22138d64d361c5a10cf40af74a21b00d04d3d24f03979f76b8244d.js" data-turbolinks-track="reload"></script>
<!-- Notifications -->
<!-- Enhanced Flash Messages for Admin Interface -->
<style>
.flash-messages-container {
position: fixed;
top: 20px;
right: 20px;
z-index: 1050;
max-width: 400px;
width: 100%;
}
.flash-message {
border-radius: 0.5rem;
border: none;
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
margin-bottom: 1rem;
animation: slideInRight 0.3s ease-out;
}
.flash-message.alert-success {
background-color: #d4edda;
color: #155724;
border-left: 4px solid #28a745;
}
.flash-message.alert-danger {
background-color: #f8d7da;
color: #721c24;
border-left: 4px solid #dc3545;
}
.flash-message.alert-warning {
background-color: #fff3cd;
color: #856404;
border-left: 4px solid #ffc107;
}
.flash-message.alert-info {
background-color: #d1ecf1;
color: #0c5460;
border-left: 4px solid #17a2b8;
}
.flash-message .alert-heading {
font-weight: 600;
margin-bottom: 0.5rem;
}
.flash-message ul {
margin-bottom: 0;
padding-left: 1.2rem;
}
.flash-message .btn-close {
opacity: 0.7;
transition: opacity 0.2s;
}
.flash-message .btn-close:hover {
opacity: 1;
}
@keyframes slideInRight {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
/* Auto-hide flash messages after 5 seconds */
.flash-message {
animation: slideInRight 0.3s ease-out, fadeOut 0.3s ease-in 4.7s forwards;
}
@keyframes fadeOut {
to {
opacity: 0;
transform: translateX(100%);
}
}
/* Responsive adjustments */
@media (max-width: 768px) {
.flash-messages-container {
top: 10px;
right: 10px;
left: 10px;
max-width: none;
}
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Auto-hide flash messages after 5 seconds
const flashMessages = document.querySelectorAll('.flash-message');
flashMessages.forEach(function(message) {
setTimeout(function() {
message.style.animation = 'fadeOut 0.3s ease-in forwards';
setTimeout(function() {
message.remove();
}, 300);
}, 5000);
});
// Manual close functionality
const closeButtons = document.querySelectorAll('.flash-message .btn-close');
closeButtons.forEach(function(button) {
button.addEventListener('click', function() {
const message = this.closest('.flash-message');
message.style.animation = 'fadeOut 0.3s ease-in forwards';
setTimeout(function() {
message.remove();
}, 300);
});
});
});
</script>
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="/assets/mojofav