.btn-secondary {
  color: #fff !important; }

img {
  width: 100%; }

.logo {
  width: 80px; }

.navbar {
  opacity: 0.9;
  text-transform: uppercase; }

/* Override Bootstrap navbar-toggler styles */
.navbar-toggler {
  border: none !important;
  padding: 0 !important;
  background: transparent !important; }

.navbar-toggler:focus {
  box-shadow: none !important; }

.navbar-toggler-icon {
  display: none !important; }

/* Custom Hamburger Menu Styles */
.custom-toggler {
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: 4px !important;
  padding: 8px 10px !important;
  background: transparent !important;
  outline: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important; }
  .custom-toggler:hover {
    border-color: rgba(255, 255, 255, 0.8) !important;
    background: rgba(255, 255, 255, 0.1) !important; }
  .custom-toggler:focus {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25) !important;
    outline: none !important; }
  .custom-toggler.active {
    border-color: #fff !important;
    background: rgba(255, 255, 255, 0.2) !important; }

.hamburger-line {
  display: block !important;
  width: 24px !important;
  height: 3px !important;
  background-color: #ffffff !important;
  background: #ffffff !important;
  margin: 3px 0 !important;
  transition: all 0.3s ease !important;
  transform-origin: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  border: none !important;
  border-radius: 1px !important;
  box-shadow: 0 0 1px rgba(0,0,0,0.1) !important; }

.custom-toggler.active .hamburger-line:first-child {
  transform: translateY(6px) rotate(45deg) !important; }

.custom-toggler.active .hamburger-line:nth-child(2) {
  opacity: 0 !important; }

.custom-toggler.active .hamburger-line:last-child {
  transform: translateY(-6px) rotate(-45deg) !important; }

/* Navbar Collapse Animations */
.navbar-collapse {
  transition: all 0.3s ease-in-out; }

.navbar-collapse.collapse {
  display: none; }

.navbar-collapse.show {
  display: block; }

/* 響應式設定：大螢幕時隱藏漢堡按鈕 */
@media (min-width: 992px) {
  .navbar-expand-lg .custom-toggler {
    display: none !important;
  }
}

/* Mobile Menu Styles */
@media (max-width: 991.98px) {
  .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(0, 123, 255, 0.95);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000; }
  
  .navbar-nav {
    padding: 10px 0; }
  
  .nav-item {
    margin: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
    .nav-item:last-child {
      border-bottom: none; }
  
  .nav-link {
    padding: 12px 20px !important;
    color: #fff !important;
    transition: background-color 0.2s ease; }
    .nav-link:hover {
      background-color: rgba(255, 255, 255, 0.1) !important;
      color: #fff !important; }
  
  .nav-item.active .nav-link {
    background-color: rgba(255, 255, 255, 0.2) !important;
    font-weight: bold; } }

.social a {
  margin-right: 0.4rem; }

#showcase {
  background: url(../img/showcase.jpg) no-repeat center/cover fixed;
  position: relative;
  min-height: 650px;
  color: #fff;
  padding-top: 6rem; }
  #showcase .home-search {
    min-height: 400px;
    position: relative;
    border-radius: 5px; }
  #showcase .overlay {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    min-height: 400px;
    width: 100%;
    background: rgba(51, 51, 51, 0.8); }

#services {
  background: url(../img/building.jpg) no-repeat top center/cover fixed;
  min-height: 300px;
  position: relative;
  overflow: hidden; }
  #services::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    width: 100%;
    background: rgba(32, 134, 107, 0.8); }

#showcase-inner {
  background: url(../img/building.jpg) no-repeat top center/cover fixed;
  position: relative;
  overflow: hidden;
  min-height: 200px; }
  #showcase-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    width: 100%;
    background: rgba(32, 134, 107, 0.8); }
  #showcase-inner.showcase-search {
    min-height: 270px; }

#work {
  padding: 6rem 0; }

.listing-preview a {
  position: relative; }

@media (max-width: 991px) {
  #showcase {
    padding-top: 4rem; }
    #showcase h1 {
      font-size: 40px; }
  .hide-md-down {
    display: none; } }

@media (max-width: 768px) {
  #showcase {
    padding-top: 3rem; }
    #showcase h1 {
      font-size: 40px; }
    #showcase p {
      display: none; }
  #top-bar {
    text-align: center; }
    #top-bar .social {
      text-align: center !important; } }

@media (max-width: 576px) {
  #showcase h1 {
    font-size: 30px; }
  #showcase-inner h1 {
    font-size: 40px; } }
