:root {--primary: #111;--secondary: #db0a23;--accent: #db0a23;--text-light: #fff;--text-dark: #222;
  --text-grey: #666;--bg-light: #f5f5f5;--bg-dark: #1a1a1a;--header-height: 80px;--transition: 0.3s ease-in-out;}
* {margin: 0;padding: 0;box-sizing: border-box;}
body {font-family: 'Roboto', sans-serif;line-height: 1.6;color: var(--text-dark);background: #111;
  scroll-behavior: smooth;overflow-x: hidden;cursor: pointer;}
a {text-decoration: none;color: inherit;}
img {max-width: 100%;display: block;}
.container {max-width: 1200px;margin: 0 auto;padding: 0 15px;}
header.sticky-header {position: sticky;top: 0;width: 100%;background: #111;color: var(--text-light);
  display: flex;align-items: center;justify-content: space-between;padding: 0 30px 0 20px;
  height: var(--header-height);z-index: 1000;}
/* Style the logo div with a background image */
/* Ensure the logo container has size */
.logo {
  width: 150px;  /* Adjust the size */
  height: 60px;  /* Adjust the size */
  position: relative; /* Make sure positioning works */
}

/* Style the <a> tag to fill the logo container and make it clickable */
.logo a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url('https://new.fragileremovals.co.nz/images/fragile-removals-logo.svg');  /* Path to your logo */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.desktop-nav ul {display: flex;list-style: none;gap: 10px;font-size: 14px}
.desktop-nav li {position: relative;}
.desktop-nav li a {padding: 15px 10px;display: flex;align-items: center;color: var(--text-light);
  font-weight: 500;transition: color var(--transition);}
.desktop-nav li:hover > a,.desktop-nav li.has-submenu:hover > a {color: var(--secondary);}
.desktop-nav li.has-submenu:hover > a::after {transform: rotate(180deg);color: var(--secondary);}
.desktop-nav li .submenu {position: absolute;top: 100%;left: 0;background: #111;min-width: 250px;
  display: none;flex-direction: column;z-index: 1000;padding:10px 0;}
.desktop-nav li:hover > .submenu {display: flex;}
.desktop-nav .submenu li a {padding: 0 15px;color: var(--text-light);transition: color var(--transition);}
.desktop-nav .submenu li a:hover {color: var(--secondary);}
.desktop-nav .submenu li.has-submenu {position: relative;}
.desktop-nav .submenu li.has-submenu > .submenu {top: 0;left: 100%;display: none;flex-direction: column;
  border-top: none;background: #1a1a1a;}
.desktop-nav .submenu li.has-submenu:hover > .submenu {display: flex;}
.desktop-nav .submenu li.has-submenu > a::after {content: "▶";font-size: 10px;margin-left: 5px;
  transition: transform var(--transition), color var(--text-light);}
.desktop-nav .submenu li.has-submenu:hover > a::after {transform: rotate(90deg);color: var(--secondary);}
.nav-right {display: flex;align-items: center;gap: 20px;}
.cta-btn {padding: 8px 15px;border-radius: 5px;background: var(--secondary);color: var(--text-light);
  font-weight: 500;transition: background var(--transition), transform var(--transition);}
.cta-btn:hover {background: var(--secondary);transform: translateY(-2px);color: var(--text-light);}
.cta-btn.secondary {background: var(--secondary);color: var(--text-light);transform: translateY(-2px)}
.hamburger {display: none;font-size: 40px;cursor: pointer;background: none;border: none;
  color: var(--text-light);transition: transform var(--transition);}
.hamburger.open {transform: rotate(90deg);}
.mobile-nav {position: fixed;top: var(--header-height);left: 0;width: 100%;
  height: calc(100% - var(--header-height));background: #111;color: var(--text-light);overflow-y: auto;
  transform: translateX(-100%);transition: transform var(--transition);z-index: 999;padding-top: 20px}
.mobile-nav.open {transform: translateX(0);}
.mobile-nav ul {list-style: none;display: flex;flex-direction: column;}
.mobile-nav li {background-color: var(--primary);border-bottom: 2px solid red;margin:0 20px}
.mobile-nav ul li:hover {background-color: rgba(255, 255, 255, 0.1);}
.mobile-nav li a {padding: 10px 20px;display: block;color: var(--text-light);}
#mobileMenu > ul > li.has-submenu.open > ul > li {padding-left: 20px;}
#mobileMenu > ul > li.has-submenu.open > ul > li.has-submenu.open > ul > li {padding-left: 20px;}
.mobile-nav .cta-btn {margin: 10px 20px;background: var(--secondary);color: var(--text-light);}
.mobile-nav .cta-btn:hover{background: #a0081b}
.mobile-nav .has-submenu > .submenu {max-height: 0;overflow: hidden;transition: max-height var(--transition);
  flex-direction: column;background: #1a1a1a;}
.mobile-nav .has-submenu.open > .submenu {max-height: 1000px;}
.submenu-header {display: flex;justify-content: space-between;align-items: center;cursor: pointer;padding-right: 25px;}
.submenu-toggle {font-size: 14px;transition: transform var(--transition);}
.has-submenu.open > .submenu { display: block; }
.has-submenu.open > .submenu-header .submenu-toggle {transform: rotate(180deg);}
.mobile-nav .has-submenu .submenu-header:hover a,.mobile-nav a:hover,
.mobile-nav .has-submenu .submenu-header:hover .submenu-toggle {color: var(--secondary);}

/* ===================== H1 - Obligation-Free Moving Quote ===================== */
h1 {
  font-size: 2.5rem; /* Adjust font size for prominence */
  font-weight: bold;
  color: var(--text-light); /* Change to your primary color for consistency */
  text-align: center; /* Centers the text */
  margin: 40px 0; /* Adds spacing above and below the heading */
  line-height: 1.3; /* Adjusts line height for readability */
}

@media (max-width: 768px) {
  h1 {
    font-size: 2rem; /* Reduces font size on smaller screens */
    margin: 30px 0; /* Adjusts margin on smaller screens */
  }
}


/* ===================== FREE QUOTE FORM ===================== */
.free-quote {
  background: var(--primary);
  padding: 20px;
  margin-top: 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.free-quote .container {
  max-width: 100%;
  margin: 0 auto;
}

.free-quote h2 {
  font-size: 1.8rem;
  color: var(--secondary);
  text-align: center;
  margin-bottom: 15px;
}

.free-quote p {
  text-align: center;
  color: var(--text-light);
  margin-bottom: 25px;
}

/* Ensure full width for specific .form-group */
.form-group.full-width {
  width: 100% !important;  /* Force full width for this specific div */
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  color: var(--text-light);
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 10px;
  margin: 5px 0;
  border-radius: 5px;
  border: 1px solid #ddd;
  font-size: 1rem;
  background-color: white;
  box-sizing: border-box;
  color:#333;
}
.form-group select {
  appearance: none; /* Remove default dropdown arrow */
  -webkit-appearance: none; /* Remove default dropdown arrow in Safari */
  -moz-appearance: none; /* Remove default dropdown arrow in Firefox */
  background-position: right 10px center; /* Position the custom dropdown arrow */
  background-repeat: no-repeat;
  background-size: 12px;
  padding-right: 30px; /* Add space for the custom dropdown arrow */
}
textarea {
  height: 120px;
}

/* Flexbox for radio buttons in a row */
.radio-group {
  display: flex;
  gap: 15px;  /* Space between radio buttons */
  align-items: center;  /* Vertically align radio buttons with labels */
}

/* Override 100% width for radio buttons */
.radio-group input[type="radio"] {
  width: auto;  /* Allow the radio buttons to take only the necessary width */
  margin-top: 0;  /* Align them properly with labels */
}

.radio-group label {
  margin-right: 5px;  /* Space between labels and inputs */
}

/* Flexbox container for Name, Email, and Phone fields */
.form-group-row {
  display: flex;
  gap: 0; /* Space between each form-group */
  flex-wrap: wrap; /* Allow form-groups to wrap on smaller screens */
  justify-content: space-between;
}

/* Ensure each form-group takes up 32% width on tablet/desktop */
.form-group-row .form-group {
  width: 32%; /* Approximately one-third of the container width */
  margin-bottom: 20px; /* Add space below the inputs */
  flex-shrink: 0;
}

/* New styles for checkboxes */
.checkbox-group {
 /* Allow checkboxes to wrap to next line if necessary */
  flex-direction: column;
    gap: 10px;  /* Space between checkboxes on mobile */
    align-items: flex-start;
}

/* Modify the layout of the checkbox item to move the checkbox to the left of the label */
.checkbox-item {
  display: inline-block;
  flex-direction: row-reverse;  /* Keep checkbox and label in a row */
  align-items: center;  /* Vertically align the checkbox and label */
  gap: 30px;  /* Space between checkbox and label */
}

.checkbox-item label {
  text-align: left;  /* Ensure the label text is aligned to the left */
  margin-right: 20px;
}



/* Flexbox for form-group-container to stack on mobile */
.form-group-container {
  display: flex;
  flex-direction: column;
}

/* Flexbox layout for larger screens (tablet and desktop) */
@media (min-width: 480px) {
  .form-group-container {
    flex-direction: row;
    justify-content: space-between;
  }

  /* Other fields take up 48% width on larger screens */
  .form-group {
    width: 48%;
  }

  /* Prevent margin from last form group in each row */
  .form-group-container .form-group:last-child {
    margin-bottom: 0;
  }
}

/* Mobile and Tablet Accessibility */
@media (max-width: 479px) {
  .form-group {
    margin-bottom: 20px;
  }

  .form-group-container {
    flex-direction: column;
  }

  .form-group-container .form-group {
    width: 100%;
  }

  .cta-btn {
    width: 100%;
  }

  /* Stack Name, Email, Phone fields on mobile */
  .form-group-row {
    flex-direction: column;
  }

  .form-group-row .form-group {
    width: 100%;
    margin-bottom: 20px;
  }

  .checkbox-group label,
  .checkbox-group input[type="checkbox"] {
    width: auto;  /* Ensure each checkbox doesn't take up too much space */
    display: inline-block;  /* Allow labels to align with checkboxes */

  }
  .free-quote input[type="date"] {
    width: 100% !important;
    background-image: url('path-to-your-calendar-icon.svg'); /* Add the path to your SVG file */
    background-position: right 10px center;
    background-size: 18px 18px;
  }

}

/* Submit button inside the form */
form .cta-btn {
  width: 100%;
  padding: 12px;
  background-color: var(--secondary); /* Primary CTA color */
  color: var(--text-light);
  font-size: 1.2rem;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

/* Hover state for Submit button inside the form */
form .cta-btn:hover {
  transform: translateY(-2px); /* Lift effect */
}

/* Add a class to highlight invalid fields */
.invalid-field {
  border: 2px solid red !important;
  background-color: #f8d7da;  /* Light red background for error */
}

.invalid-field:focus {
  border-color: red;
  background-color: #f8d7da;
}

/* Optionally add an error message style */
.error-message {
  color: red;
  font-size: 0.875rem;
  margin-top: 5px;
}

/* Custom Focus for Input, Select, and Textarea Fields */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #db0a23; /* Custom red border on focus */
  outline: none; /* Remove default outline */
}



/* Change the selected color of checkboxes and radio buttons */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  accent-color: #db0a23; /* Red color when selected */
}

/* Add a calendar icon to the 'Estimated Move Date' input */
.free-quote input[type="date"] {
  width: 100%;
  padding: 10px 10px 10px 40px;  /* Adjust padding to make space for the icon */
  margin-top: 5px;
  border-radius: 5px;
  border: 1px solid #ddd;
  font-size: 1rem;
  background-color: white;
  box-sizing: border-box;
  background-image: url('/images/icon-24-7-365.svg'); /* Add the path to your SVG file */
  background-position: left 10px center; /* Position the icon on the right */
  background-repeat: no-repeat;
  background-size: 18px 18px;  /* Adjust the icon size */
}













footer {background: var(--primary);color: var(--text-light);font-size: 0.95rem;text-align: center;}
footer a {color: var(--accent);text-decoration: underline;}
.footer-top {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-start;
  padding: 30px 20px;gap: 20px;border-bottom: 2px solid var(--secondary);}
.footer-logo h3 {margin: 0;font-size: 1.5rem;}
.footer-contact p {margin: 5px 0;}
.footer-social a {margin: 0 5px;display: inline-block;}
.footer-social img {width: 24px;height: 24px;}
.footer-bottom {padding: 15px 20px;font-size: 0.85rem;}
@media (max-width: 768px) {.footer-top {flex-direction: column;align-items: center;text-align: center;}
  .footer-contact, .footer-social {margin-top: 15px;}.footer-social a {margin: 0 10px;}}
#back-to-top {position: fixed;bottom: 20px;right: 20px;background: var(--accent);color: var(--text-light);
  border: none;border-radius: 50%;width: 40px;height: 40px;font-size: 1.3rem;cursor: pointer;box-shadow: 0 3px 10px rgba(0,0,0,0.3);
  display: none;opacity: 0.6;transition: background 0.3s ease, transform 0.2s ease, opacity 0.2s ease;z-index: 1000;}
#back-to-top:hover {background: var(--secondary);transform: translateY(-2px);opacity: 1;}
@media (max-width: 480px) {#back-to-top {width: 35px;height: 35px;font-size: 1.1rem;bottom: 15px;right: 15px;}}

[data-aos] {opacity: 0;transform: translateY(20px);transition: opacity 0.6s ease, transform 0.6s ease;}
.aos-animate {opacity: 1;transform: translateY(0);}
@media (max-width: 992px) {.desktop-nav { display: none; }.hamburger { display: block; }.hero-overlay h1 { font-size: 2.2rem; }
  .hero-overlay p { font-size: 1.1rem; }}
@media (max-width: 768px) {.hero-overlay h1 { font-size: 1.8rem; }.hero-overlay p { font-size: 1rem; }
  .hero-buttons a { padding: 10px 20px; font-size: 1rem; margin: 5px; }.hero-overlay{margin:0 30px}}




