/*! ------------------------------------------------
 * main.css - CLEANED for AJ & Co
 * Only classes and rules actually used in the website
 * Original file backed up as main.css.backup
 * ------------------------------------------------ */

/* Navigation Fix CSS - Overrides for main.css conflicts */

/* Phosphor Font for Icons */
@font-face {
  font-family: "Phosphor";
  src: url("../fonts/Phosphor/Phosphor.woff2") format("woff2"), 
       url("../fonts/Phosphor/Phosphor.woff") format("woff"), 
       url("../fonts/Phosphor/Phosphor.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/* Phosphor Icon Base Class */
.ph {
  font-family: "Phosphor" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  display: inline-block !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* Critical Icon Definitions */
.ph-magnifying-glass:before { content: "\ebdd" !important; }
.ph-linkedin-logo:before { content: "\ebc4" !important; }
.ph-twitter-logo:before { content: "\ed98" !important; }
.ph-facebook-logo:before { content: "\ead8" !important; }
.ph-phone:before { content: "\ec6a" !important; }
.ph-envelope:before { content: "\eac5" !important; }
.ph-map-pin:before { content: "\ebe0" !important; }
.ph-user:before { content: "\eda0" !important; }
.ph-arrow-right:before { content: "\e95c" !important; }
.ph-arrow-left:before { content: "\e953" !important; }
.ph-x:before { content: "\eddb" !important; }

body #header.header,
html body #header.header,
#header.header.d-flex {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  padding: 1.5rem 2rem !important;
  z-index: 9999 !important;
  background: rgba(20, 20, 20, 0.5) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-radius: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.header__logo {
  z-index: 10000 !important;
  position: relative !important;
}

.logo__text {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #F2F5FC !important;
  letter-spacing: 0.05em !important;
}

.logo__image {
  height: 25px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  transition: opacity 0.3s ease !important;
}

.logo__link:hover .logo__image {
  opacity: 0.8 !important;
}

/* Social media icons in navigation */
.fullscreen-nav__link_icon {
  display: inline !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2.5rem !important;
  transition: all 0.3s ease !important;
  margin: 20px;
  padding-top: 30px;
}

.fullscreen-nav__social i {
  font-size: 1.5rem !important;
}

.fullscreen-nav__link_icon:hover {
  transform: scale(1.1) !important;
  opacity: 0.8 !important;
}

.header__actions {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  z-index: 10000 !important;
}

.search-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  z-index: 10000 !important;
  transition: all 0.3s ease !important;
}

.search-toggle i {
  font-size: 2.5em !important;
  color: #F2F5FC !important;
  transition: color 0.3s ease !important;
}

.search-toggle:hover i {
  color: #AEB5C5 !important;
}

.hamburger-menu {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  width: 30px !important;
  height: 20px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  z-index: 10000 !important;
}

.hamburger-menu__line {
  width: 100% !important;
  height: 2px !important;
  background-color: #F2F5FC !important;
  transition: all 0.3s ease !important;
  border-radius: 1px !important;
}

.hamburger-menu.is-active .hamburger-menu__line:nth-child(1) {
  transform: translateY(9px) rotate(45deg) !important;
}

.hamburger-menu.is-active .hamburger-menu__line:nth-child(2) {
  opacity: 0 !important;
}

.hamburger-menu.is-active .hamburger-menu__line:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg) !important;
}

.nav-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  z-index: 9998 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.5s ease, visibility 0.5s ease !important;
}

.nav-backdrop.is-active {
  opacity: 1 !important;
  visibility: visible !important;
}

.fullscreen-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.5s ease, visibility 0.5s ease !important;
  z-index: 9999 !important;
}

.fullscreen-nav.is-active {
  opacity: 1 !important;
  visibility: visible !important;
}

.fullscreen-nav__inner {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.fullscreen-nav__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

.fullscreen-nav__item {
  opacity: 0 !important;
  transform: translateY(20px) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  margin-bottom: 1rem !important;
}

.fullscreen-nav.is-active .fullscreen-nav__item {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.fullscreen-nav.is-active .fullscreen-nav__item:nth-child(1) { transition-delay: 0.1s !important; }

.fullscreen-nav.is-active .fullscreen-nav__item:nth-child(2) { transition-delay: 0.2s !important; }

.fullscreen-nav.is-active .fullscreen-nav__item:nth-child(3) { transition-delay: 0.3s !important; }

.fullscreen-nav.is-active .fullscreen-nav__item:nth-child(4) { transition-delay: 0.4s !important; }

.fullscreen-nav.is-active .fullscreen-nav__item:nth-child(5) { transition-delay: 0.5s !important; }

.fullscreen-nav.is-active .fullscreen-nav__item:nth-child(6) { transition-delay: 0.6s !important; }

.fullscreen-nav__link {
  display: block !important;
  font-size: 3rem !important;
  padding: 1.5rem !important;
  color: #F2F5FC !important;
  text-decoration: none !important;
  transition: color 0.3s ease, transform 0.3s ease !important;
  font-weight: 500 !important;
}

.fullscreen-nav__link:hover,
.fullscreen-nav__link:focus {
  color: #AEB5C5 !important;
  transform: scale(1.05) !important;
}

.fullscreen-search {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background-color: rgba(20, 20, 20, 0.98) !important;
  backdrop-filter: blur(15px) !important;
  -webkit-backdrop-filter: blur(15px) !important;
  z-index: 10001 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.5s ease, visibility 0.5s ease !important;
  overflow-y: auto !important;
}

.fullscreen-search.is-active {
  opacity: 1 !important;
  visibility: visible !important;
}

.fullscreen-search__inner {
  min-height: 100vh !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 2rem !important;
  padding-top: 120px !important;
}

.search-container {
  width: 100% !important;
  max-width: 800px !important;
  opacity: 0 !important;
  transform: translateY(30px) !important;
  transition: opacity 0.6s ease, transform 0.6s ease !important;
  transition-delay: 0.2s !important;
}

.fullscreen-search.is-active .search-container {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.search-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 2rem !important;
}

.search-title {
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  color: #F2F5FC !important;
  margin: 0 !important;
}

.search-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  background: transparent !important;
  border: 2px solid rgba(242, 245, 252, 0.2) !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.search-close i {
  font-size: 1.5rem !important;
  color: #F2F5FC !important;
  transition: color 0.3s ease !important;
}

.search-close:hover {
  border-color: rgba(242, 245, 252, 0.4) !important;
  background: rgba(242, 245, 252, 0.1) !important;
}

.search-close:hover i {
  color: #AEB5C5 !important;
}

.search-input-container {
  position: relative !important;
  margin-bottom: 3rem !important;
}

.search-input {
  width: 100% !important;
  padding: 1.5rem 4rem 1.5rem 2rem !important;
  font-size: 1.25rem !important;
  background: rgba(242, 245, 252, 0.05) !important;
  border: 2px solid rgba(242, 245, 252, 0.1) !important;
  border-radius: 12px !important;
  color: #F2F5FC !important;
  outline: none !important;
  transition: all 0.3s ease !important;
}

.search-input::placeholder {
  color: rgba(242, 245, 252, 0.5) !important;
}

.search-input:focus {
  border-color: rgba(242, 245, 252, 0.3) !important;
  background: rgba(242, 245, 252, 0.08) !important;
  box-shadow: 0 0 0 4px rgba(242, 245, 252, 0.1) !important;
}

.search-input-icon {
  position: absolute !important;
  right: 1.5rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

.search-input-icon i {
  font-size: 1.25rem !important;
  color: rgba(242, 245, 252, 0.4) !important;
}

.search-results {
  position: relative !important;
  max-height: calc(100vh - 300px) !important;
  overflow-y: auto !important;
}

.search-results__empty {
  text-align: center !important;
  padding: 3rem 0 !important;
}

.search-results__empty p {
  font-size: 1.1rem !important;
  color: rgba(242, 245, 252, 0.6) !important;
  margin: 0 !important;
}

.search-results__loading {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  padding: 3rem 0 !important;
  gap: 1rem !important;
}

.search-results__loading.is-active {
  display: flex !important;
}

.search-spinner {
  width: 40px !important;
  height: 40px !important;
  border: 3px solid rgba(242, 245, 252, 0.1) !important;
  border-top: 3px solid #F2F5FC !important;
  border-radius: 50% !important;
  animation: spin 1s linear infinite !important;
}

.search-results__loading p {
  color: rgba(242, 245, 252, 0.6) !important;
  margin: 0 !important;
}

.search-results__list {
  display: none !important;
  padding-bottom: 2rem !important;
}

.search-results__list.has-results {
  display: block !important;
}

.search-results__no-results.is-active {
  display: block !important;
}

.page-content,
#page-content,
main {
  padding-top: 80px !important;
}

.footer__top {
  margin-bottom: 3rem !important;
}

.footer__column--services {
  grid-column: span 2 !important;
}

.footer__services-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
  margin-top: 1rem !important;
}

.footer__locations-section {
  margin-bottom: 2rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid rgba(242, 245, 252, 0.1) !important;
}

.footer__locations-heading {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #F2F5FC !important;
  text-align: center !important;
  margin: 0 0 2rem 0 !important;
}

.footer__locations-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 1.5rem !important;
}

.footer__location-box {
  background: rgba(242, 245, 252, 0.03) !important;
  border: 1px solid rgba(242, 245, 252, 0.1) !important;
  border-radius: 12px !important;
  padding: 1rem 1.25rem !important;
  transition: all 0.3s ease !important;
}

.footer__location-box:hover {
  background: rgba(242, 245, 252, 0.06) !important;
  border-color: rgba(242, 245, 252, 0.2) !important;
  transform: translateY(-2px) !important;
}

.footer__location-title {
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  color: #F2F5FC !important;
  margin: 0 0 0.75rem 0 !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 2px solid rgba(242, 245, 252, 0.1) !important;
  text-align: center !important;
}

.footer__location-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

.footer__location-address {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  padding: 0.5rem !important;
  background: rgba(242, 245, 252, 0.02) !important;
  border-radius: 6px !important;
}

.footer__location-address i {
  color: rgba(242, 245, 252, 0.7) !important;
  font-size: 1.1rem !important;
  margin-top: 0.1rem !important;
  flex-shrink: 0 !important;
}

.footer__location-address span {
  color: rgba(242, 245, 252, 0.9) !important;
  line-height: 1.4 !important;
  font-size: 1.3rem !important;
  padding-left: 16px;
}

.footer__location-contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
}

.footer__location-contact .footer__contact-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.5rem !important;
  border-radius: 6px !important;
  transition: background-color 0.3s ease !important;
}

.footer__location-contact .footer__contact-item:hover {
  background: rgba(242, 245, 252, 0.02) !important;
}

.footer__location-contact .footer__contact-item i {
  color: rgba(242, 245, 252, 0.6) !important;
  font-size: 1rem !important;
  width: 16px !important;
  flex-shrink: 0 !important;
}

.footer__location-contact .footer__contact-item span {
  color: rgba(242, 245, 252, 0.8) !important;
  font-size: 0.9rem !important;
  line-height: 1.3 !important;
}

.footer__location-contact .footer__contact-item a.footer__contact-link {
  color: rgba(242, 245, 252, 0.8) !important;
  font-size: 1.3rem !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.footer__location-contact .footer__contact-item a.footer__contact-link:hover {
  color: rgba(242, 245, 252, 1) !important;
  text-decoration: none !important;
}

.color-reverse .btn,
.color-reverse button {
  background-color: #141414 !important;
  color: #F2F5FC !important;
  border-color: #141414 !important;
}

.color-reverse .btn:hover,
.color-reverse button:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
}

body.nav-open,
body.search-open {
  overflow: hidden !important;
}

