DP-Logopedicka-Platforma/css/style.css
2026-04-23 15:41:11 +02:00

753 lines
16 KiB
CSS

/* ===== GLOBÁLNE ŠTÝLY ===== */
/* Reset štýlov pre konzistenciu medzi prehliadačmi */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Základné nastavenia pre body */
body {
margin: 0;
padding: 0;
min-height: 100vh;
font-family: "Luckiest Guy", sans-serif;
overflow: hidden; /* Zabráni scrollovaniu */
background: var(--Backgrtound, url('../images/worlds/background.jpg')) lightgray 50% / cover no-repeat;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
cursor: url('../images/cursor.png') 5 5, auto;
}
/* ===== HLAVNÝ KONTAJNER ===== */
/* Flexbox kontajner pre rozloženie na ľavo/pravo */
.container {
display: flex;
width: 100vw;
height: 100vh;
align-items: center;
justify-content: center;
padding: 4rem 5rem;
gap: 5rem;
}
/* ===== ĽAVÁ SEKCIA (Logo + Menu) ===== */
.left-section {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
position: relative;
right: auto;
z-index: 2;
margin-top: 2rem;
}
/* ===== LOGO SEKCIA ===== */
.logo-container {
margin-bottom: 3rem;
position: relative;
z-index: 3;
/* Prechod pre animácie */
transition: transform 0.4s ease;
cursor: url('../images/cursor.png') 5 5, auto;
}
.logo-container:hover {
transform: rotate(0.093deg) scale(1.05);
}
.logo-text {
/* Základné nastavenia pre logo text kontajner */
width: 444px;
height: 73px;
flex-shrink: 0;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
}
/* Hlavný text "JOŽINO" */
.text-jozino {
display: flex;
width: 444px;
height: 43px;
transform: rotate(0.093deg);
flex-direction: column;
justify-content: flex-end;
flex-shrink: 0;
/* Štýlovanie textu */
color: #FFF;
text-align: center;
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: #000;
font-family: "Luckiest Guy", sans-serif;
font-size: 100px;
font-style: normal;
font-weight: 400;
line-height: 18px; /* 20% */
text-transform: uppercase;
margin-bottom: 0.5rem;
position: relative;
z-index: 10;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
}
/* Podtext "BANÍK" */
.text-banik {
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: #000;
font-family: "Luckiest Guy", sans-serif;
font-size: 45px;
font-style: normal;
font-weight: 400;
line-height: 100%;
text-align: center;
text-transform: uppercase;
/* Gradient pozadí pre text */
background: conic-gradient(from 90deg at 50% 50%, #ECD517 0deg, #ECBB17 360deg);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
position: relative;
z-index: 20;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
}
/* ===== LOADING ===== */
.loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #2c1810 0%, #1a0f08 100%);
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
opacity: 1;
transition: opacity 0.5s ease;
}
.loading-content {
text-align: center;
color: white;
}
.loading-logo {
margin-bottom: 2rem;
}
.loading-text-jozino {
display: flex;
width: 444px;
height: 43px;
transform: rotate(0.093deg);
flex-direction: column;
justify-content: flex-end;
flex-shrink: 0;
/* Štýlovanie textu */
color: #FFF;
text-align: center;
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: #000;
font-family: "Luckiest Guy", sans-serif;
font-size: 100px;
font-style: normal;
font-weight: 400;
line-height: 18px; /* 20% */
text-transform: uppercase;
margin-bottom: 0.5rem;
position: relative;
z-index: 10;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
}
.loading-text-banik {
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: #000;
font-family: "Luckiest Guy", sans-serif;
font-size: 45px;
font-style: normal;
font-weight: 400;
line-height: 100%;
text-align: center;
text-transform: uppercase;
/* Gradient pozadí pre text */
background: conic-gradient(from 90deg at 50% 50%, #ECD517 0deg, #ECBB17 360deg);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
position: relative;
z-index: 20;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
}
.loading-spinner {
width: 50px;
height: 50px;
border: 4px solid rgba(236, 207, 23, 0.3);
border-top: 4px solid #ECCF17;
border-radius: 50%;
animation: spin 1s linear infinite;
margin: 0 auto 1rem;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.loading-message {
font-family: "Luckiest Guy", sans-serif;
font-size: 22px;
color: #ECCF17;
animation: pulse 1.5s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { opacity: 0.7; }
50% { opacity: 1; }
}
/* ===== MENU SEKCIA ===== */
.menu-container {
margin-bottom: 2rem;
z-index: 3;
position: relative;
}
.main-menu ul {
list-style: none;
padding: 0;
margin: 0;
}
.main-menu li {
margin-bottom: 1.5rem;
}
/* Štýlovanie menu tlačidiel */
.menu-button {
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
cursor: pointer;
position: relative;
/* Rozměry tlačidla podľa Figma */
width: 253.111px;
height: 69.409px;
flex-shrink: 0;
border-radius: 30px;
/* Tieň pre tlačidlá */
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
/* Štandardné neaktívne tlačidlo */
border: 4px solid #AC3F0B;
background: url('../images/pozadie_button.png') lightgray 50% / cover no-repeat;
/* Prechod pre animácie */
transition: all 0.3s ease;
/* Text štýlovanie */
font-family: "Luckiest Guy", sans-serif;
font-size: 40px;
font-style: normal;
font-weight: 400;
line-height: 20px; /* 50% */
text-transform: uppercase;
text-align: center;
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: #000;
/* Základná farba textu pre neaktívne tlačidlá */
color: #FFF;
cursor: url('../images/active_cursor4.png') 5 5, pointer;
}
/* Štýlovanie pre hlavné/aktívne tlačidlo (ŠTART) */
.menu-button.primary {
background: url('../images/pozadie_button.png') lightgray 50% / cover no-repeat;
color: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
}
.menu-button.primary span {
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
line-height: 150%;
}
/* Hover efekt pre menu tlačidlá */
.menu-button:hover {
box-shadow: inset 0 0 20px 2px rgba(236, 207, 23, 0.3);
border: 4px solid #ECCF17;
}
/* Aktívne tlačidlo pri stlačení */
.menu-button:active {
transform: rotate(0.093deg) translateY(0) scale(0.98);
filter: drop-shadow(2px 4px 4px rgba(0, 0, 0, 0.3));
}
/* ===== RADIÁLNY GRADIENT POZADÍ ===== */
.radial-background {
position: absolute;
bottom: -100px;
left: 0;
transform: rotate(0.093deg);
background: radial-gradient(43.78% 43.78% at 50% 50%, #000 0%, rgba(0, 0, 0, 0.00) 100%);
width: 540px;
height: 540px;
flex-shrink: 0;
z-index: 1;
pointer-events: none;
}
/* ===== PRAVÁ SEKCIA (Postavička) ===== */
.right-section {
display: flex;
align-items: center;
justify-content: flex-start;
position: relative;
margin-top: 4rem;
}
.character-container {
position: relative;
}
/* Obrázok postavičky */
.character-image {
/* Rozměry a transformácie podľa Figma */
width: 507px;
height: 439px;
transform: rotate(0.093deg);
flex-shrink: 0;
aspect-ratio: 82/71;
transition: transform 0.4s ease;
}
/* Hover efekt pre postavičku */
.character-image:hover {
transform: rotate(0.093deg) scale(1.05);
}
/* ===== MODÁLNE OKNO (pre pravidlá) ===== */
/* Modal overlay - cez celú obrazovku */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.14);
backdrop-filter: blur(9px);
z-index: 1000;
transition: all 0.3s ease;
}
.modal.modal-open {
background: rgba(0, 0, 0, 0.14);
backdrop-filter: blur(9px);
}
/* Zatváracie X tlačidlo */
.close {
position: absolute;
top: 20px;
right: 30px;
color: #FFF;
text-align: center;
font-family: "Luckiest Guy", sans-serif;
font-size: 64px;
font-style: normal;
font-weight: 400;
line-height: normal;
cursor: url('../images/active_cursor4.png') 5 5, pointer;
z-index: 1001;
transition: transform 0.4s ease;
}
.close:hover {
transform: rotate(15deg) scale(1.05);
}
/* Modal obsah - zarovnaný na stred */
.modal-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 70%;
height: 80%;
max-width: 750px;
max-height: 550px;
background: url('../images/pozadie_button_mobile_2.png') lightgray 50% / cover no-repeat;
/* Vnútorný obsah */
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 2rem 3rem;
box-sizing: border-box;
border: 4px solid #ECCF17;
border-radius: 30px;
/* Animácie */
transition: all 0.4s ease;
}
/* Názov v modal okne */
.modal-content h2 {
margin: 0 0 1rem 0;
text-align: center;
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: #000;
font-family: "Luckiest Guy", sans-serif;
font-size: 45px;
font-style: normal;
font-weight: 400;
line-height: 120%;
text-transform: uppercase;
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Obsah textu */
.modal-content p {
color: #FFF;
text-align: center;
font-family: "Luckiest Guy", sans-serif;
font-size: 22px;
font-style: normal;
font-weight: 100;
line-height: normal;
margin: 0;
padding: 0px 10px;
letter-spacing: 1.6px;
}
/* Obsah textu - kontajner pre scroll */
.modal-text-content {
flex: 1;
overflow-y: auto;
max-height: calc(100% - 150px);
position: relative;
}
.modal-text-content span {
background: linear-gradient(180deg, #EF0 0%, #FFD900 100%);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
line-height: 150%;
}
/* Skrytie scrollbaru úplne */
.modal-text-content::-webkit-scrollbar {
display: none;
}
.modal-text-content {
-ms-overflow-style: none;
scrollbar-width: none;
}
/* Šípka hore - opravená farba */
.modal-arrow-up {
width: 0;
height: 0;
border-left: 15px solid transparent;
border-right: 15px solid transparent;
border-bottom: 20px solid #FBDB68;
position: relative;
margin-bottom: 1rem;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
cursor: url('../images/active_cursor4.png') 5 5, pointer;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.modal-arrow-up::before {
content: '';
position: absolute;
bottom: -23px;
left: -18px;
width: 0;
height: 0;
border-left: 18px solid transparent;
border-right: 18px solid transparent;
border-bottom: 23px solid #FBDB68;
}
.modal-arrow-up:hover {
transform: translateY(-2px);
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30)) drop-shadow(0 0 10px rgba(255, 187, 0, 0.8));
}
/* Šípka dole - opravená farba */
.modal-arrow-down {
width: 0;
height: 0;
border-left: 15px solid transparent;
border-right: 15px solid transparent;
border-top: 20px solid #FBDB68;
position: relative;
margin-top: 1rem;
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30));
cursor: url('../images/active_cursor4.png') 5 5, pointer;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.modal-arrow-down::before {
content: '';
position: absolute;
top: -23px;
left: -18px;
width: 0;
height: 0;
border-left: 18px solid transparent;
border-right: 18px solid transparent;
border-top: 23px solid #FBDB68;
}
.modal-arrow-down:hover {
transform: translateY(2px);
filter: drop-shadow(4px 8px 8px rgba(0, 0, 0, 0.30)) drop-shadow(0 0 10px rgba(255, 187, 0, 0.8));
}
/* ===== RESPONZÍVNE ŠTÝLY ===== */
/* Pre tablety a menšie obrazovky */
@media (max-width: 1024px) {
.container {
padding: 1rem;
gap: 1rem;
}
.text-jozino {
font-size: 80px;
width: auto;
}
.text-banik {
font-size: 35px;
}
.character-image {
width: 400px;
height: 346px;
}
.radial-background {
width: 400px;
height: 400px;
}
}
/* Pre mobilné zariadenia */
@media (max-width: 900px) {
.container {
padding: 0.5rem;
}
.menu-button {
font-size: 2rem;
padding: 0.8rem 2rem;
}
.radial-background {
width: 300px;
height: 300px;
}
.right-section{
display: none;
}
.close {
font-size: 44px;
}
.modal-content {
padding: 1rem 2rem;
}
.modal-content h2 {
margin: 0 0 1rem 0;
font-size: 35px;
}
.modal-content p {
font-size: 18px;
padding: 0px 10px;
letter-spacing: 1.6px;
}
}
/* Pre veľmi malé mobilné zariadenia */
@media (max-width: 480px) {
.menu-button {
font-size: 1.2rem;
padding: 0.6rem 1.5rem;
}
.right-section{
display: none;
}
.menu-button {
width: 100%;
max-height: 49.409px;
}
.close {
font-size: 30px;
}
.modal-content {
padding: 1rem 1rem;
}
.modal-content h2 {
margin: 0 0 1rem 0;
font-size: 28px;
}
.modal-content p {
font-size: 14px;
padding: 0px 5px;
letter-spacing: 1.6px;
margin-bottom: 0.5rem;
}
.loading-logo {
margin-bottom: 2rem;
}
.loading-text-jozino {
font-size: 64px;
width: auto;
line-height: 0px; /* 20% */
}
.loading-text-banik {
font-size: 30px;
line-height: 20px; /* 20% */
}
.loading-message {
font-size: 20px;
}
}
@media (max-width: 290px) {
.logo-container {
margin-bottom: 1rem;
position: relative;
}
.text-jozino {
font-size: 35px;
width: auto;
line-height: 0px; /* 20% */
}
.text-banik {
font-size: 20px;
line-height: 20px; /* 20% */
}
.menu-button {
font-size: 0.8rem;
padding: 0.6rem 1.0rem;
}
.right-section{
display: none;
}
.menu-button {
width: 100%;
max-height: 39.409px;
}
.main-menu li {
margin-bottom: 0.8rem;
}
.close {
font-size: 20px;
}
.modal-content {
padding: 1rem 1rem;
}
.modal-content h2 {
margin: 0 0 1rem 0;
font-size: 20px;
}
.modal-content p {
font-size: 10px;
padding: 0px 5px;
letter-spacing: 1.6px;
margin-bottom: 0.5rem;
}
.loading-logo {
margin-bottom: 2rem;
}
.loading-text-jozino {
font-size: 35px;
width: auto;
line-height: 0px; /* 20% */
}
.loading-text-banik {
font-size: 20px;
line-height: 20px; /* 20% */
}
.loading-message {
font-size: 18px;
}
}