/* Base styles for body and html to ensure full height and no margins */
body, html {
    height: auto; /* Allow the content to define the height */
    min-height: 100vh;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-y: scroll;
    /*background: linear-gradient(to bottom, #517fa4 0%, #ffffff 100%); !* Gradient from blue to white *!*/
    background: linear-gradient(to bottom, #517fa4 0%, #a9d6e5 100%); /* Gradient from darker to lighter blue */
}

/* Container for all content, centering text and stacking children vertically */
.container {
    width: 100vw; /* Full width of the viewport */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; /* Center content vertically and horizontally */
}

/* Styling for the headline */
h1 {
    color: #D1B000; /* Christmas red color, change as needed */
    font-family: 'Pacifico', cursive;
    /*font-size: 36px; !* Increased font size *!*/
    margin-top: 70px;
}

.glacier{
    max-width: 80%; /* Up to 90% of its parent container */
    max-height: 300px; /* Maximum height */
    width: auto; /* Maintain aspect ratio */
    height: auto; /* Maintain aspect ratio */
    border: 2px solid #c0c0c0; /* Solid border for the frame, adjust color as needed */
    padding: 2px; /* Space between the image and the border */
    background-color: #f8f8f8; /* Background color of the frame, adjust as needed */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Shadow for a 3D effect */
    border-radius: 15px; /* Rounded corners for the frame */
    margin-bottom: 20px;
}

/* CSS for larger screens */
@media (min-width: 768px) {
    .glacier {
        max-width: 400px; /* Fixes the image size on larger screens */
    }
}

.crossword {
    width: 100%; /* Take the full width of the parent container */
    height: 100%; /* Take the full width of the parent container */
    border: none; /* Optional: Removes the border for a cleaner look */
}

/* Ensures that each link (and therefore image) is on a new line */
.gift-link {
    display: block; /* Stack the links vertically */
    margin-bottom: 20px; /* Space between each gift */
}

/* Style for each gift image */
.gift {
    width: 240px; /* Adjust width as needed */
    transition: transform 0.5s; /* Smooth transition for the shake effect */
}

/* Dynamic shake class added by JavaScript */
.shake {
    animation: shake 1s;
    animation-iteration-count: infinite;
}

/* Keyframes for the shake animation */
@keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
}

.shake-1 {
    animation: shake-1 0.3s infinite; /* First shake animation */
}

.shake-2 {
    animation: shake-2 0.3s infinite; /* Second shake animation */
}

/* Keyframes for the first shake animation */
@keyframes shake-1 {
    0%, 100% { transform: translateX(-1px); }
    25% { transform: translateY(-1px); }
    50% { transform: translateX(1px); }
    75% { transform: translateY(1px); }
}

/* Keyframes for the second shake animation */
@keyframes shake-2 {
    0%, 100% { transform: translateY(-1px); }
    25% { transform: translateX(-1px); }
    50% { transform: translateY(1px); }
    75% { transform: translateX(1px); }
}


/* Snowflakes Container */
#snowflakes-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Snowflake styles */
.snowflake {
    position: absolute;
    top: -10px;
    color: #fff;
    opacity: 0.7;
    font-size: 1em; /* Vary size here */
    line-height: 1em;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.9);
}

/* Keyframe animations */
@keyframes fall {
    0% { top: -10px; }
    100% { top: 100vh; }
}

@keyframes sway {
    0%, 100% { transform: translateX(-10px); }
    50% { transform: translateX(10px); }
}

.beautiful-button {
    display: inline-block;
    padding: 10px 20px;
    margin-top: 20px; /* Adjust spacing as needed */
    background-color: #517fa4; /* Button color, adjust as needed */
    color: #ffffff; /* Text color */
    text-align: center;
    text-decoration: none; /* Removes underline from links */
    font-size: 18px; /* Adjust size as needed */
    border: none;
    border-radius: 5px; /* Rounded corners for the button */
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    transition: all 0.3s ease 0s;
    margin-bottom: 80px;
}

.beautiful-button:hover {
    background-color: #6991b3; /* Slightly lighter blue on hover */
    box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.2);
    transform: translateY(-7px);
}

