/* Top Bar */
.top-bar {
    position: fixed;
    width: 100%;
    max-width: 2003px;
    margin: auto;
    background: rgba(255, 255, 255, 0.80);
    z-index: 1000;
}

.top-bar::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.80);
    filter: blur(20px);
    z-index: -1;
    top: 0;
    left: 0;
}

.top-bar-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.80);
    z-index: 100;
}

.navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5vw;
    height: 15vw;
}

.nav-item, .logo-text {
    color: #AD8616;
    font-family: 'SeoulHangang CBL', sans-serif;
    font-weight: 600;
    font-size: 2vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
}

.nav-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #EBE3DA;
    z-index: -1;
    filter: blur(20px);
    opacity: 0; /* Initially invisible */
    transition: opacity 0.3s ease; /* Smooth transition for hover effect */
}

.nav-item:hover {
    height: 15vw;
}

.nav-item:hover::before {
    opacity: 0.7; /* Visible on hover */
}

.logo-text {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: 8px;
    font-size: 1.5vw;
    flex-grow: 0; /* Prevents the logo from stretching */
}

.nav-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav-logo img {
    width: auto;
    height: 10vw;
}



/* Banner */
.banner-container {
    position: relative;
    width: 100%;
    height: 25vw;
    padding-bottom: 50%; /* This percentage controls the aspect ratio */
}

.banner-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1; /* 100% Transparency */
}

.banner-text {
    position: absolute;
    top: 50%; /* Center vertically */
    left: 75%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Adjust to center the text block */
    text-align: center;
    color: #ffffff;
    width: 40%; /* Width of the text block */
    max-width: 450px; /* Maximum width */
    text-align: left;
}

.banner-text h1 {
    font-size: 3vw; /* Responsive font size */
    font-family: 'SeoulHangang CBL', sans-serif;
    font-weight: 400;
    word-wrap: break-word;
}

.banner-text p {
    font-size: 1.5vw;
    font-family: 'SeoulHangang CBL', sans-serif;
    font-weight: 400;
    line-height: 3.5vw;
    word-wrap: break-word;
}



/* Service */
.main-area {
    position: relative;
    width: 100%;
}

.main-image {
    position: relative;
    width: 100%;
    height: 30vw;
    object-fit: cover;
    opacity: 0.3;
}

.content-area {
    transform: translateY(-1%); /* Adjust Gap Bug */
    position: relative;
    width: 100%;
    height: 30vw;
    background-color: #EBE3DA;
}

.main-text {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #AD8616;
    font-size: 1.7vw;
    line-height: 2;
    word-wrap: break-word;
    font-family: 'SeoulHangang CBL', sans-serif;
    font-weight: 400;
    padding: 1vw;
    width: 35%;
}

.content-list {
    position: absolute;
    padding: 1vw;
    top: 20%;
    list-style: none; /* Remove default list bullets */
    padding-left: 0; /* Remove default padding */
    color: #AD8616;
    font-size: 1.7vw; /* Responsive font size */
    font-family: 'SeoulHangang', sans-serif;
    font-weight: 400;
    line-height: 3vw; /* Relative line height */
    word-wrap: break-word;
    width: 40%;
}

.content-list li {
    list-style: disc;
    padding-left: 0.5vw; /* Responsive padding */
    background-size: 1.5vw 1.5vw; /* Responsive background size */
    margin-bottom: 1vw; /* Responsive spacing */
    text-align: left; /* Align text to the left */
    opacity: 0; /* Start with items invisible */
    animation: slideIn 3s ease forwards; /* Use the animation */
}

.content-list li:nth-child(1) {
    animation-delay: 0.5s; /* Delay for the first item */
}

.content-list li:nth-child(2) {
    animation-delay: 1.5s; /* Delay for the second item */
}

.content-list li:nth-child(3) {
    animation-delay: 2.5s; /* Delay for the third item */
}

.content-list li:nth-child(4) {
    animation-delay: 3.5s; /* Delay for the third item */
}

.image-container {
    width: 35%;
    height: 100%;
    position: absolute;
    right: 0%;
    top: 20%
}

.content-image {
    width: 20vw;
    height: 20vw;
    position: absolute;
    top: 0;
    left: 0;
}

.border-overlay {
    width: 18vw;
    height: 18vw;
    position: absolute;
    top: 0.5vw;
    left: 0.5vw;
    border: 2px solid rgb(255, 255, 255);
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(10vw);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Image Gallery */
.image-gallery {
    position: absolute;
    width: 80vw;
    height: 100%;
    display: inline-flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3vw;
    top: -2vw;
    left: 10vw;
    z-index: 10;
}

.image-frame {
    width: 16vw;
    height: 14vw;
    position: relative;
    background: black; /* Set background for the frame */
    transition: transform 1s ease, opacity 1s ease; /* Smooth transition for the animation */
    transform: scale(0.8); /* Initial scale */
    opacity: 0; /* Start with the frame invisible */
}

.image-frame.animate-in {
    opacity: 1; /* End state of the animation */
    transform: scale(1); /* End state of the animation */
}

.image {
    width: 14.6vw;
    height: 12.6vw;
    position: absolute;
    left: 0.7vw;
    top: 0.7vw;
}

@keyframes scaleUpFadeIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}




/* Tag */
.tag-area {
    width: 5vw;
    position: absolute;
    z-index: 10; /* Ensures it stays in front */
    opacity: 0; /* Start with the tag area invisible */
    transform: translateY(10vw); /* Start slightly lower */
    transition: opacity 5s ease, transform 5s ease; /* Smooth transition for the animation */
}

.background-block, .text-block {
    width: 7.5vw;
    height: 20vw;
    position: absolute;
    left: 0;
    top: 50%; /* Centers vertically relative to tag-area */
    transform: translateY(-50%); /* Adjust for exact vertical centering */
}

.background-block {
    background: #AD8616;
}

.text-block {
    display: flex;
    align-items: center; /* Vertical centering */
    justify-content: center; /* Horizontal centering */
    color: white;
    font-size: 2.5vw;
    font-family: 'SeoulHangang CB', sans-serif;
    font-weight: 400;
    top: -1.5vw /* Adjust Vertical centering */
}



/* image-text */
.image-text-container {
    width: 100%;
    height: 100%;
    position: relative;
}

.image-text-block {
    position: absolute;
    text-align: center;
    color: #AD8616;
    font-family: 'SeoulHangang', sans-serif;
    font-weight: 400;
    word-wrap: break-word;
    line-height: 2vw;
    opacity: 0; /* Start with blocks invisible */
    transform: scale(0.8); /* Start smaller */
    transition: transform 1s ease, opacity 1s ease; /* Smooth transition for the animation */
}

.image-text-block.animate-in {
    opacity: 1; /* End state of the animation */
    transform: scale(1); /* End state of the animation */
}

.image-text-block.large {
    width: 20vw;
    font-size: 2vw;
    top: 15vw;
}

.image-text-block.small {
    font-size: 1.2vw;
    top: 18vw; /* Adjust as necessary */
    width: 15vw;
}



/* Footer */
.footer-container {
    position: relative;
    height: 7vw;
    background: #AD8616;
    display: flex;
    justify-content: center;
    align-items: center;
}

.copyright {
    color: white;
    font-size: 1.5vw;
    font-family: SeoulHangang;
    font-weight: 400;
    word-wrap: break-word;
}

.social-icons {
    display: flex;
    align-items: center;
    padding-left: 10vw;
}

.pressable-image {
    width: 5vw;
    height: 5vw;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s;
    margin-left: 1vw;
    background-size: contain; /* Adjust to fit the icon within the div */
    background-repeat: no-repeat; /* Prevent repeating of the background image */
    background-position: center; /* Center the background image */
}

.facebook-icon {
    background-image: url('social-icon/facebook.png');
}

.instagram-icon {
    background-image: url('social-icon/instagram.png');
}

.whatsapp-icon {
    background-image: url('social-icon/whatsapp.png');
}

.twitter-icon {
    background-image: url('social-icon/messenger.png');
}

.pressable-image:hover {
    transform: scale(1.1);
}

.pressable-image:hover img {
    transform: scale(1.1);
}