/* header{
   height: 50vh;
   background: url(images/BackgroundImage.jpeg) 
   no-repeat center center; 
   background-size: cover; 
   margin-bottom: 20px;
} */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@700;800&display=swap');

.navbar{
   background: rgba(0, 0, 0, 0.85);
   backdrop-filter: blur(8px);
   -webkit-backdrop-filter: blur(8px);
   border-bottom: 1px solid rgba(255, 255, 255, 0.15);
   transition: all 0.3s ease;
   box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
   padding: 0.3rem 0;
   min-height: 60px;
   }
#myTogglerNav .nav-item.nav-link{
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
   font-size: 15px;
   font-weight: 700;
   color: #FFFFFF !important;
   padding: 0.5rem 1rem;
   margin: 0 0.25rem;
   background: none !important;
   border-radius: 0;
   transition: all 0.3s ease;
   text-decoration: none;
   position: relative;
   text-shadow: 0 2px 4px rgba(0,0,0,0.5);
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

#navItem {
   color: #FFFFFF !important;
}

#myTogglerNav .nav-item.nav-link:hover {
   color: #D22F25;
   background: none !important;
   transform: translateY(-1px);
   text-shadow: 0 2px 8px rgba(210, 47, 37, 0.4);
}

#myTogglerNav .nav-item.nav-link.active {
   color: #D22F25;
   background: none !important;
   font-weight: 700;
   text-shadow: 0 2px 8px rgba(210, 47, 37, 0.4);
}

.navbar.scrolled{
   background: rgba(0, 0, 0, 0.9);
   backdrop-filter: blur(12px);
   -webkit-backdrop-filter: blur(12px);
   box-shadow: 0 4px 25px rgba(0, 0, 0, 0.4);
   border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.navbar-brand{
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
   font-weight: 800;
   font-size: 26px;
   letter-spacing: 0.5px;
   background: linear-gradient(135deg, #FFFFFF 0%, #F8F9FA 50%, #E9ECEF 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   height: 100%;
   padding: 0.5rem 0;
   width: auto; 
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   text-shadow: 0 3px 6px rgba(0,0,0,0.6);
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   position: relative;
   display: inline-block;
   line-height: 1.2;
}

.navbar-brand::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: linear-gradient(135deg, #D22F25 0%, #FF6B6B 50%, #FF8E8E 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   opacity: 0;
   transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   z-index: -1;
}

.navbar-brand:hover {
   transform: translateY(-2px) scale(1.02);
   text-shadow: 0 4px 12px rgba(210, 47, 37, 0.5);
}

.navbar-brand:hover::before {
   opacity: 1;
}

.navbar-brand:active {
   transform: translateY(-1px) scale(1.01);
}

/* Modern navbar toggle button */
.navbar-toggler {
   border: 1px solid rgba(255, 255, 255, 0.3);
   border-radius: 6px;
   padding: 0.5rem 0.75rem;
   transition: all 0.3s ease;
   background: rgba(255, 255, 255, 0.05);
}

.navbar-toggler:hover {
   border-color: #D22F25;
   background: rgba(210, 47, 37, 0.1);
   transform: scale(1.05);
}

.navbar-toggler:focus {
   box-shadow: 0 0 0 0.2rem rgba(210, 47, 37, 0.25);
   border-color: #D22F25;
}

.navbar-toggler-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
   transition: all 0.3s ease;
}

.navbar-toggler:hover .navbar-toggler-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28210, 47, 37, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/*  .navbar-brand {
      padding: 0px;
    }
    .navbar-brand>img {
      height: 100%;
      padding: 15px;
      width: auto;
    } */


body{
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
   line-height: 1.6;
   color: #333;
   overflow-x: hidden;
}

/* Add smooth scrolling */
html {
   scroll-behavior: smooth;
}

.backgroundImage {
   height: 70vh;
   width: 100%;
   position: relative;
   background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
   background-size: cover;
   background-position: center center;
   background-attachment: fixed;
   overflow: hidden;
}

/* Ensure the hero image scales to fill the container */
.backgroundImage > img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   opacity: 0.7;
   filter: blur(0.5px);
}


/* Add animated background elements */
.backgroundImage::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.1"/><circle cx="10" cy="60" r="0.5" fill="white" opacity="0.1"/><circle cx="90" cy="40" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
   animation: float 20s ease-in-out infinite;
   z-index: 1;
}

@keyframes float {
   0%, 100% { transform: translateY(0px) rotate(0deg); }
   50% { transform: translateY(-20px) rotate(180deg); }
}

@media (min-width: 992px){
   .backgroundImage{
      height: 70vh;
   }
}

@media (max-width: 991px) and (min-width: 601px) {
   .overlay {
      padding-top: 80px;
   }
}

.overlay{
   position: absolute;
   height: 100%;
   width: 100%;
   top: 0;
   left: 0;
   background: linear-gradient(135deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.3) 100%);
   color: white;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   z-index: 2;
   backdrop-filter: blur(1px);
   padding-top: 70px;
   box-sizing: border-box;
}

/* Hero text fade-in */
.overlay .tagline{
   opacity: 0;
   transform: translateY(20px);
   animation: fadeUp 1000ms ease-out 200ms forwards;
   text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8), 0 4px 16px rgba(0, 0, 0, 0.6);
}
.overlay h3{
   opacity: 0;
   transform: translateY(20px);
   animation: fadeUp 1000ms ease-out 400ms forwards;
   text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8), 0 2px 8px rgba(0, 0, 0, 0.6);
   font-weight: 400;
   letter-spacing: 1px;
}

.phone-number {
   font-size: 28px;
   font-weight: 500;
   margin-bottom: 30px;
   opacity: 0;
   transform: translateY(20px);
   animation: fadeUp 1000ms ease-out 600ms forwards;
   text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 2px 6px rgba(0, 0, 0, 0.6);
}

.cta-buttons {
   display: flex;
   gap: 20px;
   margin-top: 20px;
   opacity: 0;
   transform: translateY(20px);
   animation: fadeUp 1000ms ease-out 800ms forwards;
   flex-wrap: wrap;
   justify-content: center;
}

.cta-btn {
   padding: 15px 30px;
   border-radius: 50px;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 1px;
   transition: all 0.3s ease;
   text-decoration: none;
   border: 2px solid transparent;
}

.cta-btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.btn-primary {
   background: linear-gradient(135deg, #D22F25, #ff6b6b);
   border: none;
   color: white;
}

.btn-primary:hover {
   background: linear-gradient(135deg, #b8251c, #e55a5a);
   color: white;
}

.btn-outline-light {
   border: 2px solid rgba(255, 255, 255, 0.8);
   color: white;
   background: transparent;
}

.btn-outline-light:hover {
   background: rgba(255, 255, 255, 0.1);
   border-color: white;
   color: white;
}

@keyframes fadeUp{
   from { 
      opacity: 0; 
      transform: translateY(20px); 
   }
   to { 
      opacity: 1; 
      transform: translateY(0); 
   }
}

.tagline{
   font-weight: 800;
   font-size: 64px;
   color: #FFFFFF;
   line-height: 1.2;
   margin-bottom: 20px;
   text-align: center;
   max-width: 900px;
   padding: 0 20px;
   text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 2px 6px rgba(0, 0, 0, 0.6);
}

/* Fallback for browsers that don't support background-clip: text */
@supports not (-webkit-background-clip: text) {
   .tagline {
      color: #FFFFFF;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 2px 6px rgba(0, 0, 0, 0.6);
   }
}

/* @media screen and (min-width: 601px){ */
@media (min-width: 601px){
   #overlayText{
      font-size: 64px; 
      width: 100%; 
      padding-top: 0px;
      }
   }

   /* @media screen and for mobile*/
@media (max-width: 600px){
   .backgroundImage {
      height: 60vh;
   }
   
   .overlay {
      padding-top: 90px;
   }
   
   #overlayText{
      font-size: 32px;
      width: 100%; 
      margin-top: 25px;
      padding-top: 0px;
      line-height: 1.3;
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 2px 6px rgba(0, 0, 0, 0.6);
      }
   
   .phone-number {
      font-size: 20px;
      margin-bottom: 20px;
   }
   
   .cta-buttons {
      flex-direction: column;
      align-items: center;
      gap: 15px;
   }
   
   .cta-btn {
      width: 200px;
      padding: 12px 25px;
      font-size: 14px;
   }
   }

@media (max-width: 600px){
   #cny{
      font-size: 26px;
      width: 100%; 
      padding-top: 0px;
      }
   }

/* unified navbar brand size across pages */

.wWhatWeDo {
   line-height: 1.4;
   font-weight: 800;
   font-size: 48px;
   padding: 40px 25px;
   color: #D22F25;
   margin-top: 60px;
   text-align: center;
   position: relative;
}

.wWhatWeDo::after {
   content: '';
   position: absolute;
   bottom: 20px;
   left: 50%;
   transform: translateX(-50%);
   width: 80px;
   height: 4px;
   background: linear-gradient(90deg, #D22F25, #ff6b6b);
   border-radius: 2px;
}

.body-text{
   color: #4a4a4a;
   padding-top: 20px;
   margin-bottom: 0px;
   font-size: 16px;
   line-height: 1.7;
}

article > img,
article > img.img-fluid{
   width: 100%;
   max-width: 320px;
   height: 240px;
   border-radius: 12px;
   box-shadow: 0 8px 32px rgba(0,0,0,0.12);
   display: block;
   margin-left: auto;
   margin-right: auto;
   object-fit: cover;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}

article > img:hover,
article > img.img-fluid:hover {
   transform: translateY(-8px);
   box-shadow: 0 16px 48px rgba(0,0,0,0.2);
}

@media (max-width: 600px){
   article > img,
   article > img.img-fluid{
      height: 180px;
   }
}

.exp-text{
   margin-top: 0px;
   margin-bottom: 0;
   color: #5E5E5E; 
}

.need-ours-text{
   margin-bottom: 0;
   color: #5E5E5E;
   margin-top: 4px;
}

/* Standardized Email Link Styling */
.email-link {
   color: #d22f25;
   text-decoration: none;
   font-weight: 600;
   font-family: 'Inter', sans-serif;
   transition: all 0.3s ease;
   border-bottom: 1px solid transparent;
}

.email-link:hover {
   color: #b0251f;
   text-decoration: none;
   border-bottom: 1px solid #d22f25;
   transform: translateY(-1px);
}

.email-link:focus {
   color: #b0251f;
   text-decoration: none;
   outline: 2px solid #d22f25;
   outline-offset: 2px;
   border-radius: 2px;
}

.contact-info {
   margin-bottom: 8px;
   color: #5E5E5E;
   font-size: 16px;
   font-family: 'Inter', sans-serif;
}


.h3heading{
   margin-top: 24px;
   font-weight: 700;
   color: #2c3e50;
   font-size: 24px;
   margin-bottom: 16px;
}

.lang-cov {
   line-height: 1.4;
   font-weight: 800;
   font-size: 40px;
   padding: 25px;
   color: #D22F25;
   margin-top: 60px;
}

.prov-prof{
   line-height: 1.5;
   font-weight: 400;
   font-size: 20px;
   margin-bottom: 24px;
   color: #151515;
}

.list-lang{
   line-height: 1.5;
   font-weight: 400;
   font-size: 15px;
   margin-bottom: 8px;
   color: #575757;
}

.contact-us {
   line-height: 1.4;
   font-weight: 800;
   font-size: 40px;
   padding: 25px;
   margin-top: 60px;
   color: #D22F25;
   margin-bottom: 8px;
}

/* Apply Inter to headings */
h1, h2, h3, h4{
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
}

.page-footer{
   background-color: black;
   margin-top: 40px;
   color: #FFFFFF;
   border-top: 1px solid #00a651;
   min-height: 140px;
}

.page-footer p {
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
   font-weight: 400;
   font-size: 16px;
   color: #FFFFFF !important;
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.page-footer .font-weight-lighter {
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
   font-weight: 300;
   font-size: 16px;
   color: #FFFFFF !important;
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* Responsive navbar adjustments */
@media (max-width: 991px) {
   .navbar {
      min-height: 55px;
      padding: 0.25rem 0;
   }
   
   .navbar-brand {
      font-size: 22px;
      letter-spacing: 0.3px;
      padding: 0.4rem 0;
   }
   
   #myTogglerNav .nav-item.nav-link {
      padding: 0.4rem 0.8rem;
      margin: 0.25rem 0;
   }
}

@media (max-width: 768px) {
   .navbar {
      min-height: 50px;
   }
   
   .navbar-brand {
      font-size: 20px;
      letter-spacing: 0.2px;
      padding: 0.3rem 0;
   }
}

@media (max-width: 576px) {
   .navbar {
      min-height: 48px;
   }
   
   .navbar-brand {
      font-size: 18px;
      letter-spacing: 0.1px;
      padding: 0.25rem 0;
   }
}

/* .footer-text{
   margin-top: 0px;
   margin-bottom: 0px;
   color: #FFFFFF;
   max-height: 190px;
} */

/* .phone{
   font-weight: bold;
} */

/* .img{
    height: 400;
    width: 500;
    border: 2px solid rgb(226, 43, 119);
} */

/* Quote Modal Styling */
#quoteModal .modal-content {
   border-radius: 10px;
   border: none;
   box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

#quoteModal .modal-header {
   background: linear-gradient(135deg, #D22F25, #B0251F);
   color: white;
   border-radius: 10px 10px 0 0;
   border: none;
}

#quoteModal .modal-title {
   font-weight: 700;
   font-size: 1.5rem;
}

#quoteModal .btn-close {
   filter: invert(1);
}

#quoteModal .form-label {
   font-weight: 600;
   color: #333;
   margin-bottom: 0.5rem;
}

#quoteModal .form-control {
   border: 2px solid #e9ecef;
   border-radius: 8px;
   padding: 0.75rem;
   transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#quoteModal .form-control:focus {
   border-color: #D22F25;
   box-shadow: 0 0 0 0.2rem rgba(210, 47, 37, 0.25);
}

#quoteModal .form-text {
   font-size: 0.875rem;
   color: #6c757d;
}

#quoteModal .modal-footer {
   border: none;
   padding: 1.5rem;
   background-color: #f8f9fa;
   border-radius: 0 0 10px 10px;
}

#quoteModal .btn-primary {
   background: linear-gradient(135deg, #D22F25, #B0251F);
   border: none;
   padding: 0.75rem 2rem;
   font-weight: 600;
   border-radius: 8px;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#quoteModal .btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: 0 4px 15px rgba(210, 47, 37, 0.4);
}

#quoteModal .btn-secondary {
   border: 2px solid #495057;
   color: #495057;
   background-color: #ffffff;
   padding: 0.75rem 2rem;
   font-weight: 700;
   font-size: 16px;
   border-radius: 8px;
   transition: all 0.2s ease;
   text-shadow: none;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#quoteModal .btn-secondary:hover {
   background-color: #495057;
   color: white;
   border-color: #495057;
   transform: translateY(-1px);
   box-shadow: 0 4px 8px rgba(73, 80, 87, 0.3);
}

#quoteModal .btn-secondary:focus {
   box-shadow: 0 0 0 0.2rem rgba(73, 80, 87, 0.25);
   outline: none;
}

#quoteModal .alert {
   border-radius: 8px;
   border: none;
   font-weight: 500;
}

#quoteModal .alert-success {
   background-color: #d4edda;
   color: #155724;
}

#quoteModal .alert-danger {
   background-color: #f8d7da;
   color: #721c24;
}

/* File upload styling */
#quoteFile {
   padding: 0.5rem;
}

#quoteFile::-webkit-file-upload-button {
   background: linear-gradient(135deg, #D22F25, #B0251F);
   color: white;
   border: none;
   padding: 0.5rem 1rem;
   border-radius: 6px;
   margin-right: 1rem;
   font-weight: 600;
   cursor: pointer;
   transition: transform 0.2s ease;
}

#quoteFile::-webkit-file-upload-button:hover {
   transform: translateY(-1px);
}

/* Responsive adjustments */
@media (max-width: 768px) {
   #quoteModal .modal-dialog {
      margin: 1rem;
   }
   
   #quoteModal .btn {
      width: 100%;
      margin-bottom: 0.5rem;
   }
   
   #quoteModal .btn-secondary {
      font-size: 15px;
      padding: 0.7rem 1.5rem;
   }
}




