Initial commit: Proyecto Portal ePromos completo con documentación unificada y seguridad base

This commit is contained in:
Isaac Aracena
2026-05-09 12:46:24 -04:00
commit c44f1a69f1
65 changed files with 7223 additions and 0 deletions
+262
View File
@@ -0,0 +1,262 @@
/* Estilos generales existentes */
body, html {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background: #000000;
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
font-family: 'Source Sans Pro', sans-serif;
overflow: hidden;
}
.content {
text-align: center;
font-weight: bold;
font-size: 48px;
color: #ffffff;
text-shadow:
4px 4px 0 #e60000;
}
.game {
position: relative;
display: inline-block;
margin-left: -400px;
}
#ruleta {
max-width: 100%;
height: auto;
}
#puntero {
position: absolute;
top: 47%;
left: 50%;
width: 200px;
transform: translate(-50%, -50%);
}
/* Estilos para dispositivos con pantallas más pequeñas */
@media (max-width: 1024px) {
#ruleta {
width: 70%;
}
#puntero {
width: 200px;
}
}
@media (max-width: 768px) {
#ruleta, #puntero {
width: 50%;
}
}
@media (max-width: 480px) {
#ruleta, #puntero {
width: 80%;
}
#puntero {
width: 100px;
}
}
/* Nueva clase para manejar orientación vertical */
.landscape-message {
display: none;
text-align: center;
font-size: 24px;
color: red;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #ffffff;
padding: 20px;
border: 2px solid red;
z-index: 9999;
}
@media (orientation: portrait) {
.landscape-message {
display: block;
}
#ruleta, #puntero, .content, .game {
display: none;
}
}
.fullscreen-btn {
position: absolute;
top: 5%;
right: 3%;
width: 40px;
height: 40px;
background: url('img/fullscreen-icon.png') no-repeat center center;
background-size: contain;
cursor: pointer;
z-index: 1000;
}
@media (max-width: 1024px) {
.fullscreen-btn {
top: 3%;
right: 5%;
width: 35px;
height: 35px;
}
}
@media (max-width: 768px) {
.fullscreen-btn {
top: 3%;
right: 5%;
width: 30px;
height: 30px;
}
}
@media (max-width: 480px) {
.fullscreen-btn {
top: 2%;
right: 8%;
width: 25px;
height: 25px;
}
}
canvas {
position: fixed !important;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
z-index: 99999 !important; /* Mayor que cualquier otro elemento */
pointer-events: none; /* No bloquear interacciones */
}
/* Estilos de los banners */
.banner {
position: fixed;
background-size: contain;
background-repeat: no-repeat;
z-index: 1000;
}
.banner-1 {
top: 0%;
left: 5%;
width: 150px;
height: 150px;
background-image: url('img/BANNER-1.png');
}
.banner-4 {
bottom: 0%;
right: 5%;
width: 400px;
height: 100px;
background-image: url('img/BANNER-4.png');
}
.banner-2 {
top: 5%;
right: 5%;
width: 400px;
height: 400px;
background-image: url('img/BANNER-2.png');
}
/* Estilos para el modal */
.modal {
display: none; /* Oculto por defecto */
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5); /* Fondo semitransparente */
}
.modal-content {
background-color: #fff;
margin: 15% auto;
padding: 20px;
border-radius: 8px;
width: 300px;
text-align: center;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.modal-buttons {
display: flex;
justify-content: space-around;
margin-top: 20px;
}
.modal-buttons button {
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
#confirm-yes {
background-color: #28a745;
color: white;
}
#confirm-no {
background-color: #dc3545;
color: white;
}
.modal-buttons button:hover {
opacity: 0.9;
}
/*PopUp Agradecimiento*/
#thank-you-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
justify-content: center;
align-items: center;
z-index: 1000;
color: #ffffff;
}
#thank-you-modal .popup-content {
background: #C10F1A;
padding: 20px;
border-radius: 8px;
text-align: center;
}
#redirect-button {
padding: 10px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
#redirect-button:hover {
background-color: #0056b3;
}