/* Resetowanie domyślnych stylów */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Stylowanie ogólne */
body {
    font-family: "Outfit", sans-serif;
    line-height: 1.6;
    background-color: #ffffff00;
    color: #000000;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    width: 100vw !important;
}

html {
    cursor: url('/img/mainCursor.cur'), auto;
}

html a {
    cursor: url('/img/mainCursor2.cur'), auto;
}

img, button {
    user-select: none;
}

.body2 {
    background-color: #ea4759;
    width: 100%;
    height: 200%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 20 20" fill="none" stroke="%23eb4f61" stroke-width="1.5"><rect x="0" y="0" width="20" height="20" rx="0" ry="0"/></svg>');
    background-size: 80px 80px; /* Rozmiar kratki */
    transition: background-size 0.3s ease-out; /* Płynne przejście */
    transform-origin: center center;
}

body.scale-up {
    transform: scale(1.2);
}

/* Stylowanie głównych sekcji */
main {
    padding: 20px; 
}

section {
    margin: 20px auto;
    max-width: 1000px;
    padding: 20px;
    background-color: #fff;
    border-radius: 8px;
    position: relative;
}

/* Stylowanie list umiejętności i doświadczenia */
ul {
    list-style: disc;
    margin-left: 20px;
}

li {
    margin-bottom: 10px;
}

.black-container {
    background-color: #131313;
}

.title {
    transform: rotate(-5deg);
    color: white;
    font-size: 10vh;
    font-family: 'Pacifico';
    left: 1vh;
    position: absolute;
}

/* Styl dla Splash Screen */
#splash-screen {
    position: fixed;
    top: -75%;
    left: -75%;
    width: 300vw; /* Poszerzenie na szerokość */
    height: 300vh; /* Poszerzenie na wysokość */
    background-color: #ea4759; /* Czerwone tło */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 20 20" fill="none" stroke="%23eb4f61" stroke-width="1.5"><rect x="0" y="0" width="20" height="20" rx="0" ry="0"/></svg>');
    background-size: 100px 100px; /* Rozmiar kratki */
    background-repeat: repeat;
    transform: rotate(25deg); /* Obrót kratki */
    transform-origin: center center;
    z-index: 2000; /* Splash screen na wierzchu */
    display: flex;
    opacity: 1;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease-out; /* Efekt zanikania */
}

#darkening {
    position: fixed;
    top: 0;
    left: 0;
    width: 300vw; /* Poszerzenie na szerokość */
    height: 300vh; /* Poszerzenie na wysokość */
    background-color: #000000c2; /* Czerwone tło */
    transform-origin: center center;
    z-index: 98; /* Splash screen na wierzchu */
    display: flex;
    opacity: 0;
    transition: opacity 0.1s ease-out; /* Efekt zanikania */
    pointer-events: none;
}

/* Styl dla kropek ładowania */
.loading-dots {
    position: fixed; /* Pozycjonowanie względne do ekranu */
    top: 50%; /* Ustawienie w pionie na środku */
    left: 50%; /* Ustawienie w poziomie na środku */
    transform: translate(-50%, -50%); /* Przesunięcie o połowę szerokości i wysokości */
    display: flex; /* Umożliwia ułożenie kropek w wierszu */
    gap: 8px; /* Odstęp między kropkami */
    z-index: 3001; /* Kropki nad splash screen */
    transition: opacity 0.5s ease-out;
    opacity: 1;
}

.dot {
    width: 12px; /* Szerokość kropki */
    height: 12px; /* Wysokość kropki */
    background-color: #ffffff; /* Kolor kropki */
    border-radius: 50%; /* Zaokrąglenie kropki */
    opacity: 0.5; /* Początkowa przezroczystość */
    animation: dotPulse 0.8s ease-in-out infinite; /* Animacja pulsowania */
}

/* Animacja pulsowania kropek */
@keyframes dotPulse {
    0%, 100% {
        transform: scale(1); /* Powiększenie do normalnego rozmiaru */
        opacity: 0.5; /* Przezroczystość */
    }
    50% {
        transform: scale(1.5); /* Powiększenie do większego rozmiaru */
        opacity: 1; /* Pełna przezroczystość */
    }
}

/* Opóźnienia animacji dla efektu sekwencji */
.dot:nth-child(1) {
    animation-delay: 0s; /* Bez opóźnienia */
}

.dot:nth-child(2) {
    animation-delay: 0.2s; /* Opóźnienie 0.2s */
}

.dot:nth-child(3) {
    animation-delay: 0.4s; /* Opóźnienie 0.4s */
}

.content {
    position: relative;
    display: block;
    align-content: end;
    top: 90px;
    height: 100%;
    width: 100%;
}

.imageScaling {
    max-width: 100%; /* Umożliwia obrazkom dostosowanie się do szerokości kontenera */
    height: auto; /* Zachowuje proporcje obrazków */
    object-fit: cover; /* Przycinanie obrazków, aby wypełnić kontener */
    flex: 1 1 auto; /* Umożliwia obrazkom zajmowanie dostępnej przestrzeni */
}

.social-links {
    top: 5px;
    display: flex;
    gap: 15px;
    z-index: 10;
}

.social-links a {
    color: #ea4759;
    font-size: 40px;
    text-decoration: none;
    transition: color 0.3s ease-out;
}

.social-links a:hover {
    color: #aa3240;
}

.decoBlock {
    position: absolute;
    background-color: #f5f5f5;
    border-radius: 8px;
    top: 15px;
    width: 35px;
    height: 25px;
}

.cursor-help {
    cursor: url('/img/mainCursor3.cur'), auto;
    user-select: none;
}

.shadowedImage {
    filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.7));
}

.shadowedImageSmall {
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.4));
}

.whiteShadow {
    filter: drop-shadow(10px 10px 20px rgba(255, 255, 255, 0.7));
}

.whiteShadowSmall {
    filter: drop-shadow(5px 5px 10px rgba(255, 255, 255, 0.4));
}

.cv-download {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    background-color: #f8f9fa;
    padding: 8px 24px;
    border: 5px solid #f1f1f1;
    border-radius: 30px;
    font-family: "Outfit", sans-serif;
    font-size: 0.9em;
    z-index: 2000;
    transition: border-color 0.2s ease-out, opacity 0.1s ease;
}

.cv-download .pdf-icon {
    width: 24px;
    height: 24px;
    top: 2px;
    position: relative;
    transform: scale(1.4);
    margin-right: 12px;
}

.pdf-icon {
    user-select: none;
}

.cv-download a {
    text-decoration: none;
    color: black;
    font-weight: bold;
}

.cv-download a:hover {
    text-decoration: underline;
}

@keyframes shake1 {
    0% { transform: rotate(15deg) scale(0.5) translate(0, 0); }
    10% { transform: rotate(15deg) scale(0.5) translate(-5px, -5px); }
    20% { transform: rotate(15deg) scale(0.5) translate(5px, 3px); }
    30% { transform: rotate(15deg) scale(0.5) translate(-3px, 5px); }
    40% { transform: rotate(15deg) scale(0.5) translate(3px, -2px); }
    50% { transform: rotate(15deg) scale(0.5) translate(-5px, 5px); }
    60% { transform: rotate(15deg) scale(0.5) translate(5px, -3px); }
    70% { transform: rotate(15deg) scale(0.5) translate(-3px, -5px); }
    80% { transform: rotate(15deg) scale(0.5) translate(3px, 2px); }
    90% { transform: rotate(15deg) scale(0.5) translate(-5px, -3px); }
    100% { transform: rotate(15deg) scale(0.5) translate(0, 0); }
}

@keyframes shake2 {
    0% { transform: scale(0.5) translate(0, 0); }
    10% { transform: scale(0.5) translate(-5px, -5px); }
    20% { transform: scale(0.5) translate(5px, 3px); }
    30% { transform: scale(0.5) translate(-3px, 5px); }
    40% { transform: scale(0.5) translate(3px, -2px); }
    50% { transform: scale(0.5) translate(-5px, 5px); }
    60% { transform: scale(0.5) translate(5px, -3px); }
    70% { transform: scale(0.5) translate(-3px, -5px); }
    80% { transform: scale(0.5) translate(3px, 2px); }
    90% { transform: scale(0.5) translate(-5px, -3px); }
    100% { transform: scale(0.5) translate(0, 0); }
}

@keyframes shake3 {
    0% { transform: scale(0.7) translate(0, 0); }
    10% { transform: scale(0.7) translate(-5px, -5px); }
    20% { transform: scale(0.7) translate(5px, 3px); }
    30% { transform: scale(0.7) translate(-3px, 5px); }
    40% { transform: scale(0.7) translate(3px, -2px); }
    50% { transform: scale(0.7) translate(-5px, 5px); }
    60% { transform: scale(0.7) translate(5px, -3px); }
    70% { transform: scale(0.7) translate(-3px, -5px); }
    80% { transform: scale(0.7) translate(3px, 2px); }
    90% { transform: scale(0.7) translate(-5px, -3px); }
    100% { transform: scale(0.7) translate(0, 0); }
}

@keyframes shake4 {
    0% { transform: rotate(-10deg) translate(0, 0); }
    10% { transform: rotate(-10deg) translate(-5px, -5px); }
    20% { transform: rotate(-10deg) translate(5px, 3px); }
    30% { transform: rotate(-10deg) translate(-3px, 5px); }
    40% { transform: rotate(-10deg) translate(3px, -2px); }
    50% { transform: rotate(-10deg) translate(-5px, 5px); }
    60% { transform: rotate(-10deg) translate(5px, -3px); }
    70% { transform: rotate(-10deg) translate(-3px, -5px); }
    80% { transform: rotate(-10deg) translate(3px, 2px); }
    90% { transform: rotate(-10deg) translate(-5px, -3px); }
    100% { transform: rotate(-10deg) translate(0, 0); }
}

@keyframes shake5 {
    0% { transform: translate(0, 0); }
    10% { transform: translate(-5px, -5px); }
    20% { transform: translate(5px, 3px); }
    30% { transform: translate(-3px, 5px); }
    40% { transform: translate(3px, -2px); }
    50% { transform: translate(-5px, 5px); }
    60% { transform: translate(5px, -3px); }
    70% { transform: translate(-3px, -5px); }
    80% { transform: translate(3px, 2px); }
    90% { transform: translate(-5px, -3px); }
    100% { transform: translate(0, 0); }
}

@keyframes shake6 {
    0% { transform: rotate(10deg) translate(0, 0); }
    10% { transform: rotate(10deg) translate(-5px, -5px); }
    20% { transform: rotate(10deg) translate(5px, 3px); }
    30% { transform: rotate(10deg) translate(-3px, 5px); }
    40% { transform: rotate(10deg) translate(3px, -2px); }
    50% { transform: rotate(10deg) translate(-5px, 5px); }
    60% { transform: rotate(10deg) translate(5px, -3px); }
    70% { transform: rotate(10deg) translate(-3px, -5px); }
    80% { transform: rotate(10deg) translate(3px, 2px); }
    90% { transform: rotate(10deg) translate(-5px, -3px); }
    100% { transform: rotate(10deg) translate(0, 0); }
}

@keyframes shake7 {
    0% { transform: rotate(10deg) translate(0, 0); }
    10% { transform: rotate(10deg) translate(-5px, -5px); }
    20% { transform: rotate(5deg) translate(5px, 3px); }
    30% { transform: rotate(10deg) translate(-3px, 5px); }
    40% { transform: rotate(10deg) translate(3px, -2px); }
    50% { transform: rotate(-20deg) translate(-5px, 5px); }
    60% { transform: rotate(-20deg) translate(5px, -3px); }
    70% { transform: rotate(-15deg) translate(-3px, -5px); }
    80% { transform: rotate(-20deg) translate(3px, 2px); }
    90% { transform: rotate(-10deg) translate(-5px, -3px); }
    100% { transform: rotate(10deg) translate(0, 0); }
}

@keyframes shake8 {
    0% { transform: rotate(-10deg) translate(0, 0) scale(0.6); }
    10% { transform: rotate(-10deg) translate(-5px, -5px) scale(0.6); }
    20% { transform: rotate(-10deg) translate(5px, 3px) scale(0.6); }
    30% { transform: rotate(-10deg) translate(-3px, 5px) scale(0.6); }
    40% { transform: rotate(-10deg) translate(3px, -2px) scale(0.6); }
    50% { transform: rotate(-10deg) translate(-5px, 5px) scale(0.6); }
    60% { transform: rotate(-10deg) translate(5px, -3px) scale(0.6); }
    70% { transform: rotate(-10deg) translate(-3px, -5px) scale(0.6); }
    80% { transform: rotate(-10deg) translate(3px, 2px) scale(0.6); }
    90% { transform: rotate(-10deg) translate(-5px, -3px) scale(0.6); }
    100% { transform: rotate(-10deg) translate(0, 0) scale(0.6); }
}

@keyframes shake9 {
    0% { transform: rotate(15deg) translate(0, 0) scale(0.4); }
    10% { transform: rotate(15deg) translate(-5px, -5px) scale(0.4); }
    20% { transform: rotate(15deg) translate(5px, 3px) scale(0.4); }
    30% { transform: rotate(15deg) translate(-3px, 5px) scale(0.4); }
    40% { transform: rotate(15deg) translate(3px, -2px) scale(0.4); }
    50% { transform: rotate(15deg) translate(-5px, 5px) scale(0.4); }
    60% { transform: rotate(15deg) translate(5px, -3px) scale(0.4); }
    70% { transform: rotate(15deg) translate(-3px, -5px) scale(0.4); }
    80% { transform: rotate(15deg) translate(3px, 2px) scale(0.4); }
    90% { transform: rotate(15deg) translate(-5px, -3px) scale(0.4); }
    100% { transform: rotate(15deg) translate(0, 0) scale(0.4); }
}

/* Zablokowanie przewijania strony */
.no-scroll {
    overflow: hidden; /* Wyłączenie przewijania */
    height: 100%; /* Utrzymanie pełnej wysokości */
}
