@charset "utf-8";
body {
	font-family: "Lato", sans-serif;
  	font-weight: 600;
	background-color: #FFFFFF;
	padding: 0;
	margin: 0;
}

header {
    position: relative;
    z-index: 10;
    height: 80px;
    padding: 0px 30px;
    box-sizing: border-box;
    margin-bottom: 45px; /* REMOVE this extra space, handle content spacing with h1 */
}

nav {
    /* Align nav with header padding (30px from right edge) */
    margin: 35px 0; /* Keep vertical margin, remove horizontal margin */
    /* REMOVE THIS LINE: width: 10%; */ /* Let flexbox decide width based on content */
}

.navi {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 20px;
	text-align: center;
	justify-content: flex-end;
	font-size: 20px;
}

li a, .dropbtn {
	display: inline-block;
	color: #000000;
	text-decoration: none;
	text-align: center;
	padding: 14px 16px;
}

li a:hover, .dropdown:hover .dropbtn {
	background-color: #1BC6CE;
}

li.dropdown {
    display: inline-block;
}

.dropdown-content {
	display: none;
	position: absolute;
	z-index: 2;
	background-color:#1BC6CE;
	min-width: 160px;
}

.dropdown-content a {
	color:#000000;
	display: block;
	text-decoration: none;
	text-align: left;
	padding: 12px 16px;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown-content a:hover {
	background-color: #000000;
	color: #1BC6CE;
}

#logo {
    /* Align logo with header padding (30px from left edge) */
    margin: 35px 0; /* Keep vertical margin, remove horizontal margin */
    width: 280px;
    height: 45px;
}

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center; /* NEW: Helps vertically center logo and nav items */
    z-index: 2; /* This z-index is within the header, it's fine */
}

footer {
    background-color: #000000;
    color: #FFFFFF;
    padding: 40px 35px 20px; /* Overall footer padding */
    text-align: center;
    display: flex;
    flex-direction: column; /* Stacks footer-text and copyright vertically */
    align-items: center; /* Centers items horizontally */
    gap: 20px; /* Space between main footer sections */
}

.footer-text {
    display: flex;
    justify-content: space-between; /* Pushes left nav and right contacts apart */
    align-items: flex-start; /* Aligns content to the top within this container */
    flex-wrap: wrap; /* Allows sections to wrap on smaller screens */
    width: 100%;
    padding: 0px 35px;
}

/* --- Footer Navigation (Left Column - Make Closer) --- */
.nav-footer {
    /* This class is on the <ul> in your HTML. */
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; /* CRITICAL: Stacks links vertically */
    gap: 0px; /* CRITICAL: Reduce vertical space BETWEEN links */
    text-align: left; /* Align text to the left */
}

.nav-footer li {
    margin-bottom: 0; /* Ensures no extra margin pushes list items apart */
}

.nav-footer li a { /* Target the <a> links inside .nav-footer */
    display: block; /* Make links take full available width for easier clicking */
    color: #FFFFFF;
    text-decoration: none;
    font-size: 16px; /* CRITICAL: Adjust for desired smaller font size */
    padding: 2px 0; /* CRITICAL: Adjust for LESS VERTICAL PADDING around the text */
    line-height: 1.5; /* CRITICAL: Adjust line height if text still feels too spaced vertically */
    text-align: left;
}

.nav-footer li a:hover {
    color: #1BC6CE;
    background-color: transparent; /* No background on hover */
}

/* --- Footer Contacts Alignment (Right Column - Closer and Aligned with Icons) --- */
.footer-contacts {
    display: flex;
    flex-direction: column; /* Stacks "CONTACTS" title and contact lines vertically */
    align-items: flex-start; /* Align contents to the left within its column */
    gap: 5px; /* Space between "CONTACTS" title and the first contact line */
}

.contact-line:hover {
	color: #1BC6CE;
}

.footer-contacts p { /* Styling for the "CONTACTS" title */
    margin: 0;
    font-weight: bold;
    color: #FFFFFF;
}

/* Style for each individual contact line (icon + text) */
.contact-line {
    display: flex; /* CRITICAL: Makes icon and text align horizontally */
    align-items: center; /* CRITICAL: Vertically center the icon and text */
    gap: 8px; /* Space between the icon and the text */
    color: #FFFFFF; /* Color for the contact text */
    font-size: 16px; /* Adjust font size for contact text */
}

.contact-line img {
    height: 40px; /* Adjust icon size as needed */
    width: auto;
    flex-shrink: 0; /* Prevents icon from shrinking on smaller screens */
}

.contact-line span {
    margin: 0; /* Remove any default span margins */
    padding: 0; /* Remove any default span padding */
}

.copyright {
	text-align: center;
	padding: 5px 20px 10px 10px;
	color: #FFFFFF; /* Example: Lighter color for copyright */
}

.book-now-btn {
    background-color: #000000; /* Your brand color */
    color: #FFFFFF; /* Text color */
    padding: 20px 40px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 15px; /* Slightly rounded corners */
	display: block;
	margin: 45px 710px;
	text-align: center;
	font-size: 25px;
}

.book-now-btn:hover {
    background-color: #1BC6CE; /* Darker on hover */
}

#scrollToTopBtn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 99;
    border: none;
    outline: none;
    background-color: transparent;
    padding: 0;
    border-radius: 50%;
    cursor: pointer;
    transition: box-shadow 0.3s, opacity 0.3s; /* Keep transition for other properties */
    width: 80px; /* Large size for desktop */
    height: 80px; /* Large size for desktop */
    display: flex;
    justify-content: center;
    align-items: center;
}

#scrollToTopBtn img {
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.3s ease, opacity 0.3s;
    /* (Filter for white glow was already removed) */
}

#scrollToTopBtn:hover img {
    transform: translateY(-2px);
}

h1 {
	font-size: 70px;
	margin: 150px 425px 40px; /* Top: 150px, Right/Left: 325px, Bottom: 40px */
	color: #FFFFFF;
	padding: 20px 40px;
	background-color: #1BC6CE;
	text-align: center;
}
/* --- Corporate Gallery Styles (Adjusted for Size & No Borders/Shadows) --- */
.corporate-gallery {
    margin: 0 35px 40px 35px;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 20px; /* Space between the two rows (row1 and row2) */
}

.row1, .row2 {
    display: flex;
    gap: 20px; /* Space between images within the same row */
    padding: 0; /* Changed padding to 0, as borders/shadows are removed */
}

.row1 img, .row2 img {
    width: 24%;
    height: auto; /* Adjusted image height for 4-column layout */
    object-fit: cover;
    display: block;
}

/* --- New Image-Description Section Styles --- */

/* Base styling for all description sections */
.desc1, .desc2 {
    display: flex; /* Enable Flexbox */
    align-items: center; /* Vertically center content */
    gap: 40px; /* Space between image and text */
    padding: 60px 80px; /* Padding around the section */
    margin-bottom: 40px; /* Space below each section */
}

/* Styling for the images within these sections */
.desc1-img, .desc2-img {
    flex: 1; /* Allows the image container to grow and shrink */
    max-width: 80%; /* Limits the image container width */
    text-align: center; /* Centers the image within its container */
}

.desc1-img img {
    max-width: 100%; /* Make image responsive within its container */
    height: 800px; /* Fixed height for consistency, adjust as needed */
    object-fit: cover; /* Ensures image covers the area without distortion */
    display: block; /* Remove extra space below image */
}

.desc2-img img {
	max-width: 100%; /* Make image responsive within its container */
    height: 800px; /* Fixed height for consistency, adjust as needed */
    object-fit: cover; /* Ensures image covers the area without distortion */
    display: block; /* Remove extra space below image */
	padding-left: 270px;
}

/* Styling for the description text within these sections */
.desc1-info, .desc2-info {
    flex: 1; /* Allows the info container to grow and shrink */
    max-width: 50%; /* Limits the info container width */
    padding: 20px; /* Padding around the text */
}

.desc1-info p, .desc2-info p {
    font-size: 25px; /* Readable paragraph text */
    color: #000000;
    line-height: 1.6;
    margin: 0; /* Remove default paragraph margin */
}

/* Specific styling for desc2 to reverse the order and change background */
.desc2 {
    flex-direction: row-reverse; /* Puts image on the right, text on the left */
	align-content: center;
	background-color: #FFFFFF;
}

/* Add Animation (Zoom In) */
@keyframes zoom {
    from {transform: scale(0.1)} 
    to {transform: scale(1)}
}

/* ----- RESPONSIVE TWEAKS ----- */

@media (max-width: 1024px) {
    .service-item {
        width: 48%;
    }

    h1 {
        font-size: 50px;
        margin: 100px auto 30px;
    }

    .overlay-text-content {
        font-size: 28px;
    }

    .footer-text {
        flex-direction: column;
        gap: 30px;
        align-items: center;
        text-align: center;
    }

    .nav-footer,
    .footer-contacts {
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 768px) {
    header {
        height: auto;
        padding: 20px;
    }

    .top-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    #logo {
        width: 180px;
        height: auto;
        margin: 20px 0;
    }

    .navi {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
  }

  nav {
    width: 100%;
    display: flex;
    justify-content: center;
  }

    .hero {
        height: 60vh;
        margin-top: 0;
    }

    h1 {
        font-size: 40px;
        margin: 80px auto 20px;
        padding: 10px 20px;
    }

    .overlay-text-content {
        font-size: 20px;
    }

    .service-type1,
.service-type2 {
  flex-direction: column !important;
  gap: 20px;
  text-align: center;
}

.service-type1 img,
.service-type2 img {
  width: 100%;
  height: auto;
  max-width: 400px;
  margin: 0 auto;
}

    .service-item {
        width: 100%;
    }

    .footer-contacts .contact-line img {
        height: 30px;
    }
}

@media (max-width: 480px) {
    .hero {
        height: 50vh;
    }

    .overlay-text-content {
        font-size: 18px;
    }

    .contact-line img {
        height: 24px;
    }

    .footer-contacts .contact-line {
        font-size: 14px;
    }

    h1 {
        font-size: 32px;
        margin: 60px auto 20px;
    }
}
