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

@font-face {
    font-family: 'Hero';
    src: url('HeroLight-Regular.woff') format('woff'); /* Adjust the path as needed */
    font-weight: normal; /* Normal weight for regular */
    font-style: normal;  /* Normal style */
}

@font-face {
    font-family: 'Hero';
    src: url('HeroLight-Light.woff') format('woff'); /* Path to light font */
    font-weight: 300; /* Light weight */
    font-style: normal;  /* Normal style */
}

body {
    font-family: 'Cormorant Garamond', serif; /* For body text */
    background-image: url('bg.jpg'); /* Use the appropriate path to your background image */
    background-size: cover;
    background-position: center;
    height: 100vh;
    display: flex;
    align-items: flex-start; /* Change from center to start */
    justify-content: center;
    color: #ffefcf; /* Set the text color to #ffefcf */
    padding: 24px; /* Add padding to body */
}

.container {
    text-align: center;
    margin-top: 100px; /* Increase this value to move all content further down */
    margin-bottom: 25px; /* Add margin below the content to prevent abrupt ending */
}

.emblem {
    width: 150px; /* Adjust the size of the emblem as needed */
    margin-bottom: 40px;
    opacity: 0; /* Start hidden */
    transform: translateY(-20px); /* Initial position for fade-in */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Transition styles */
}

img.emblem.page {
    width: 75px; /* Adjust the size of the emblem as needed */
}

.title {
    font-family: 'Hero', sans-serif;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 7px;
    opacity: 0;
    transform: translateY(-20px);
    margin-bottom: 60px; /* Increase space below the title */
	text-transform: uppercase;
}

.names {
    font-size: 48px;
    font-weight: 300;
    opacity: 0;
    transform: translateY(-20px);
    letter-spacing: 15px; /* Set letter spacing to 20 pixels */
    margin-bottom: 30px; /* Increase space below the names */
  	text-transform: uppercase;
}

.date, .location, .info {
    font-family: 'Hero', sans-serif;
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 7px;
    opacity: 0;
    transform: translateY(-20px);
    margin: 10px 0; /* Increase space above and below each detail */
    line-height: 1.3; /* Adjust line height for better spacing */
}

.invitation {
    font-family: 'Hero', sans-serif;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 4px;
    opacity: 0;
    transform: translateY(-20px);
    margin: 10px 0; /* Increase space above and below each detail */
    line-height: 1.3; /* Adjust line height for better spacing */
}

.title, .names, .date, .location, .info, .invitation {
    text-shadow: 0px -1px 0px rgb(24 42 37);
}


.title, .names, .date, .location, .info, .invitation, .wedding-link, .text-link {
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Transition styles */
}

/* Wedding Link Styles */
.wedding-link {
    display: inline-block; /* Makes it behave like a button */
    background-color: #ffefcf; /* Background color */
    color: #333; /* Text color */
    padding: 12px 20px; /* Padding around the text */
    margin-top: 60px; /* Space above the button */
    margin-bottom: 30px; /* Space above the button */
    text-decoration: none; /* Remove underline */
    font-family: 'Hero', sans-serif; /* Match the font */
    font-size: 18px; /* Font size */
    border-radius: 5px; /* Rounded corners */
    transition: background-color 0.3s ease, color 0.3s ease, opacity 0.8s ease-out, transform 0.8s ease-out; /* Increase transition duration */
    letter-spacing: 4px; /* Letter spacing */
    opacity: 0; /* Initial opacity for fade-in effect */
    transform: translateY(20px); /* Start slightly below its final position for the fade-up effect */
}

/* Change hover properties */
.wedding-link:hover {
    background-color: #152423; /* Darker background on hover */
    color: #ffefcf; /* Change text color on hover */
}

/* Media Queries for Responsiveness */
@media (max-width: 768px) { /* Tablet */
    .emblem {
        width: 100px; /* Smaller emblem */
    }

    .title {
        font-size: 20px; /* Smaller title font size */
        letter-spacing: 5px; /* Adjust letter spacing */
        margin-bottom: 60px;
        margin-left: 24px;
        margin-right: 24px;
    }

    .names {
        font-size: 36px; /* Smaller names font size */
        letter-spacing: 10px; /* Reduced letter spacing */
        margin-bottom: 30px;
    }

    .date, .location, .info, .invitation {
        font-size: 16px; /* Smaller detail font size */
        letter-spacing: 5px; /* Reduced letter spacing */
        margin: 10px 0; /* Adjust margin */
        line-height: 1.3; /* Keep line height consistent */
    }
}

@media (max-width: 480px) { /* Mobile */
    .emblem {
        width: 80px; /* Even smaller emblem */
    }

    .title {
        font-size: 18px; /* Even smaller title font size */
        letter-spacing: 3px; /* Adjust letter spacing */
        margin-bottom: 60px;
        margin-left: 24px;
        margin-right: 24px;
    }

    .names {
        font-size: 28px; /* Even smaller names font size */
        letter-spacing: 7px; /* Further reduced letter spacing */
        margin-bottom: 30px;
    }

    .date, .location, .info, {
        font-size: 14px; /* Even smaller detail font size */
        letter-spacing: 3px; /* Further reduced letter spacing */
        margin: 10px 0; /* Adjust margin */
        line-height: 1.2; /* Keep line height consistent */
    }
  
	.invitation {
        font-size: 12px; /* Even smaller detail font size */
        letter-spacing: 2px; /* Further reduced letter spacing */
        margin: 10px 0; /* Adjust margin */
        line-height: 1.2; /* Keep line height consistent */
    }

    body {
        padding: 5px; /* Add padding for mobile */
        align-items: flex-start; /* Ensure items start at the top */
    }
}

h2.title, h3 {
    margin-top: 20px; /* Space above the headings */
    margin-bottom: 10px; /* Space below the headings */
    color: #ffefcf; /* Match text color */
}

p {
    margin-bottom: 10px; /* Space below paragraphs */
}

ul {
    margin-left: 20px; /* Indent unordered lists */
    margin-bottom: 20px; /* Space below lists */
}

strong {
    color: #ffefcf; /* Highlight important text */
}



/* Add this to your existing CSS file */

/* Media Query for Landscape Orientation */
@media screen and (orientation: landscape) {
    .container {
        margin-bottom: 150px; /* Adjust as needed for more space below the button */
    }
  
      .invitation {
        margin-bottom: 100px; /* Adjust as needed for more space below the button */
    }
}

/* Text Link Style */
a.text-link {
    font-family: 'Hero', sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: #ffefcf;
    text-decoration: underline;
    text-underline-offset: 4px;
    letter-spacing: 2px;
    opacity: 0; /* Start hidden */
    transform: translateY(20px); /* Start slightly below */
    transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Match wedding-link transition */
}

/* Hover effect for text link */
a.text-link:hover {
    color: #fff;
    text-decoration-color: #fff;
}
