* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	background: linear-gradient(135deg, #1e3c72 0%, #2a5298 50%, #1e3c72 100%);
	min-height: 100vh;
	overflow-x: hidden;
	position: relative;
}

/* Stars background */
.stars {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: transparent;
}

.stars::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: 
		radial-gradient(2px 2px at 20px 30px, #eee, transparent),
		radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.8), transparent),
		radial-gradient(1px 1px at 90px 40px, #fff, transparent),
		radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.6), transparent),
		radial-gradient(2px 2px at 160px 30px, #fff, transparent);
	background-repeat: repeat;
	background-size: 200px 100px;
	animation: sparkle 3s linear infinite;
}

@keyframes sparkle {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.5; }
}

/* Shooting stars */
.shooting-star {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1), 0 0 0 8px rgba(255, 255, 255, 0.1), 0 0 20px rgba(255, 255, 255, 1);
	animation: shooting 3s linear infinite;
}

.shooting-star:nth-child(1) {
	animation-delay: 0s;
	animation-duration: 1s;
}

.shooting-star:nth-child(2) {
	animation-delay: 0.5s;
	animation-duration: 3s;
}

.shooting-star:nth-child(3) {
	animation-delay: 1.2s;
	animation-duration: 2s;
}

.shooting-star:nth-child(4) {
	animation-delay: 1.8s;
	animation-duration: 2.5s;
}

.shooting-star:nth-child(5) {
	animation-delay: 2.5s;
	animation-duration: 1.5s;
}

@keyframes shooting {
	0% {
		transform: translateX(-100vw) translateY(-100vh) rotate(45deg);
		opacity: 1;
	}
	70% {
		opacity: 1;
	}
	100% {
		transform: translateX(100vw) translateY(100vh) rotate(45deg);
		opacity: 0;
	}
}

.shooting-star::before {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background: linear-gradient(90deg, #fff, transparent);
}

.body-container {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	padding: 20px;
	position: relative;
	z-index: 10;
}

picture {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 50%;
	border-radius: 20px;
	padding: 20px;
    object-fit: cover;
}

img {
	border-radius: 15px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	transition: transform 0.3s ease;
}

img:hover {
	transform: scale(1.02);
}

footer {
	margin-top: 20px;
	text-align: center;
	font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
	color: #fff;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

footer p {
	font-size: 1.2rem;
	font-weight: 300;
	letter-spacing: 1px;
	animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
	from {
		text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5), 0 0 10px rgba(255, 255, 255, 0.3);
	}
	to {
		text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 255, 255, 0.6);
	}
}


.image-section {
    max-width: 70%;
    max-height: 70%;
    object-fit: cover;
}

/* Responsive design */
@media (max-width: 768px) {
	picture {
		padding: 0px;
		max-width: 95%;
	}
	
	footer p {
		font-size: 1rem;
	}

    .image-section {
        max-width: 100%;
        max-height: 100%;
        object-fit: cover;
    }
}
