html, body {
    margin:0;
    padding:0;
    box-sizing: border-box;
    background-image: url("./images/gpt_bg_2.png");
    background-size: cover;           /* Makes sure the image covers the entire screen */
    background-position: center;      /* Centers the image */
    background-repeat: no-repeat;     /* Prevents tiling */
    height: 100vh;                    /* Ensures the background covers the viewport height */
    overflow-x: hidden; 
}

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

.webpage {
    width:100%;
    display:flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index:1;
}

a {
    text-decoration: none;
    color: inherit; /* Inherit color from parent */
}

.header {
    width: 90%;
    max-width: 1000px;
    height:200px;
    margin:auto;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    margin-top:50px;
    background-color: #E7E4E5;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

/* -----logo----- */
.logo{
    display:flex;
    justify-content: center;
    align-items:center;
    margin:0;
    padding:0;
    gap:15px;
    margin-left:40px;
}
.logo_image {
    width:150px;
    height:auto;
    display:block;
    margin:0;
    padding:0;
}
.logo_text {
    font-size:5rem;
    font-family: "Crete Round", "Arial" serif;
    font-weight:100;
}
h1 {
    font-family: "Crete Round", serif;
}

/* -----navbar----- */
.nav {
    display:flex;
    align-items: flex-end;
    height:100%;
    margin-right:50px;
}
.nav_content {
    height:100px;
    display:flex;
    flex-direction: row;
    list-style:none;
    gap:20px;
    margin-bottom:22px;
}
ul {
    
    justify-content: center;
    align-items: center;
    margin-bottom:10px;
}
li{
    font-size:18px;
    font-family: "Inter", sans-serif;
    margin-bottom:10px;
}

.nihongo {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

/* -----page_content----- */


main {
    margin:0;
    padding:0;
    background-color: #E7E4E5;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
    display:flex;
    flex-direction:column;
    justify-content: center;
    align-items: center;
    margin: 10px auto;
    margin-bottom:0;
    width: 90%;
    max-width: 1000px;
    padding-bottom:50px;
    position: relative; /* Important for positioning the torn paper */
    overflow: visible; /* Makes sure the torn paper can be seen outside the boundaries of <main> */
}

/* Content Container */
.content_container, .content_container_mirror {
    width: 100%; /* Changed from 1000px to 100% of parent (main) */
    display:flex;
    flex-direction: row;
    align-items:center;
    gap:20px;
    padding-left:2%;
    padding-right:2%;
    position:relative;
    margin-top:50px;
    z-index:2;
}
.content_container_mirror {
    flex-direction: row-reverse;
}

/* Image Size */
.content_image {
    width: 150px;
    height: 150px;
    display: flex;
    justify-content: center;
    object-fit:cover;
    border-radius:50%;
    position:relative;
}

/* Text Wrappers */
.text_wrapper, .text_wrapper_mirror {
    height:200px;
    width:60%; /* Allow text to resize based on screen width */
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left:30px;
    margin-right:30px;
}

h3 {
    font-family: "Crete Round", serif;
    margin-top:10px;
    padding-bottom:10px;
    
}
.content_text {
    width:auto;
    height:autoo;
    display:flex;
    flex-direction: row;
    align-items: center;
}
p{
    font-family: "Noto sans JP", sans-serif;
}


/* Torn Paper Wrapper */
.bottom_edge {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: -25px; /* Adjust this value to pull the torn paper upwards */
}

/* Torn Paper Image */
.torn_paper {
    width: 100%; /* Ensures it scales with the main div */
    max-width: 1000px; /* Matches the max-width of the main container */
    min-height: 100px; /* Prevents the image from shrinking too much */
    height: auto;
    object-fit: cover;
    position: absolute;
    
    z-index: 1;
}
/* --------css for mobile--------- */

/* Media query for screens smaller than 1000px (Tablets, small laptops) */
@media (max-width: 999px) {

    .header, main {
        width: 90%;
    }

    .content_container, .content_container_mirror {
        flex-direction: column;
        align-items: center;
        padding-left: 20px;
        padding-right: 20px;
    }

    .content_image {
        width: 120px;
        height: 120px;
    }

    .text_wrapper, .text_wrapper_mirror {
        width: 90%;
    }

    h3 {
        font-size: 1.8rem;
    }

    .content_text {
        font-size: 0.9rem;
    }

    .nav_content {
        gap: 15px;
        margin-bottom: 15px;
    }

    .logo_image {
        width:100px;
        height:auto;
        display:block;
        margin:0;
        padding:0;
    }
    .logo_text {
        font-size:3rem;
        font-family: "Crete Round", "Arial" serif;
        font-weight:100;
    }

}

@media (max-width: 950px) {

    .header{
    flex-direction:column;
    
    
}

.logo {
    margin-left:0;
    margin-top:10px;
}
    .nav {
        height:50px;
        margin-right:0;
    }
}

@media (max-width: 600px) {
    .header, main {
        width: 95%;
    }

    .content_container, .content_container_mirror {
        flex-direction: column;
        align-items: center;
        padding-left: 10px;
        padding-right: 10px;
    }

    .content_image {
        width: 100px;
        height: 100px;
    }

    .text_wrapper, .text_wrapper_mirror {
        width: 100%;
    }

    h3 {
        font-size: 1.5rem;
    }

    .content_text {
        font-size: 0.8rem;
    }


    .logo_image {
        width:75px;
        height:auto;
        display:block;
        margin:0;
        padding:0;
    }
    .logo_text {
        font-size:2rem;
        font-family: "Crete Round", "Arial" serif;
        font-weight:100;
    }
}

