/*--------------------------------------------------------------------- File Name: responsive.css ---------------------------------------------------------------------*/

/* Desktop navigation adjustments */
@media (min-width: 992px) {
     .navigation.navbar-dark .navbar-nav .nav-link {
         padding: 8px 14px;
         font-size: 13px;
     }
     .text-bg h1 {
         font-size: 3.5rem;
         line-height: 2.8rem;
     }
     .text-bg span {
         font-size: 2rem;
         line-height: 2.5rem;
     }
     .text-bg a {
         font-size: 0.95rem;
         max-width: 220px;
     }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
     .navigation.navbar-dark .navbar-nav .nav-link {
         padding: 10px 15px;
         font-size: 13px;
     }
     .banner_main {
         min-height: 605px;
     }
     .text-bg {
         padding-left: 0;
     }
     .text-bg h1 {
         font-size: 2.5rem;
         line-height: 2rem;
         padding-bottom: 28px;
     }
     .text-bg span {
         font-size: 1.6rem;
         line-height: 2rem;
     }
     .text-bg a {
         max-width: 180px;
         font-size: 0.9rem;
     }
     .titlepage h2 {
         font-size: 2rem;
     }
     .d_none {
         display: none;
     }
     .services_box h3 {
         font-size: 1.2rem;
         padding-top: 10px;
     }
     .our_team h3 {
         font-size: 1.2rem
     }
     .about_img {
         margin-right: -18px;
     }
     ul.location_icon li {
         font-size: 1rem;
     }
     .bottom_form .enter {
         width: 100%;
         margin-bottom: 20px;
     }
     .sub_btn {
         padding: 8px 0px;
         margin-left: 0;
     }
     ul.social_icon li a {
         width: 32px;
         font-size: 19px;
         margin: 0px 1px;
         height: 32px;
     }
     .our_team span {
         font-size: 0.9rem;
     }
}

/* Mobile landscape */
@media (min-width: 576px) and (max-width: 767px) {
     .text-bg h1 {
         font-size: 2.2rem;
         line-height: 1.8rem;
     }
     .text-bg {
         padding-left: 0px;
         padding-bottom: 30px;
     }
     .text-bg span {
         font-size: 1.4rem;
         line-height: 1.8rem;
     }
     .banner_main {
         padding-bottom: 50px;
     }
     #banner1 a.carousel-control-next,
     #banner1 a.carousel-control-prev {
         width: 40px;
         height: 40px;
         top: 50%;
     }
     .titlepage h2 {
         font-size: 1.8rem;
     }
     .about_img {
         margin-right: 0px;
         padding-top: 30px;
     }
     .sub_btn {
         max-width: 189px;
     }
     .margin_boot {
         margin-bottom: 20px;
     }
     .navigation.navbar {
         float: right;
         display: inherit !important;
         padding: 0;
         width: 100%;
         padding-top: 10px;
     }
     .navigation .navbar-collapse {
         background: #1a1a1a;
         padding: 20px;
         margin-top: 64px;
         position: absolute;
         width: 100%;
         margin-right: 20px;
         z-index: 999;
         border-radius: 0 0 8px 8px;
     }
     .navigation.navbar-dark .navbar-nav .nav-link {
         padding: 10px 15px;
         color: #fff;
         font-size: 14px;
     }
     .navigation.navbar-dark .navbar-toggler {
         border: inherit;
         float: right;
         padding: 0;
     }
     .navigation.navbar-dark .navbar-toggler-icon {
         background: url(../images/menu_icon.png);
         background-repeat: no-repeat;
     }
     .margin_bottom1 {
         margin-bottom: 30px !important;
     }
}

/* Mobile portrait */
@media (max-width: 767px) {
     /* Show burger menu on mobile only */
     .navbar-dark .navbar-toggle,
     .navbar-dark .navbar-toggler {
         display: block !important;
         visibility: visible !important;
         opacity: 1 !important;
         position: absolute;
         right: 15px;
         top: 50%;
         transform: translateY(-50%);
         z-index: 1030;
     }
     
     .navbar-dark .navbar-toggle .bar,
     .navbar-dark .navbar-toggle .navbar-toggle-icon,
     .navbar-dark .navbar-toggler-icon {
         display: block !important;
         visibility: visible !important;
         width: 22px;
         height: 2px;
         margin: 4px 0;
         background-color: #ffffff;
     }
     
     /* Hide nav links on mobile by default */
     .navbar-expand-md .navbar-collapse {
         display: none;
         width: 100%;
     }
     
     .navbar-expand-md .navbar-collapse.collapsing,
     .navbar-expand-md .navbar-collapse.in,
     .navbar-expand-md .navbar-collapse.show {
         display: block !important;
     }
     
     /* Show full-width navbar on mobile */
     .navbar-expand-md .navbar-nav {
         display: flex !important;
         flex-direction: column;
         padding: 10px 0;
         margin: 10px -15px;
     }
     
     .navbar-expand-md .navbar-nav .nav-item {
         width: 100%;
         margin: 0;
     }
     
     .navbar-expand-md .navbar-nav .nav-link {
         padding: 10px 20px;
         color: #ffffff !important;
         font-size: 14px;
         font-weight: 600;
         text-transform: uppercase;
         text-align: left;
         display: block;
         border-radius: 6px;
         transition: all 0.3s ease;
         white-space: nowrap !important;
         overflow: hidden;
         text-overflow: ellipsis;
     }
     
     .navbar-expand-md .navbar-nav .nav-link:hover {
         color: #1a1a1a !important;
         background-color: #51B647;
     }
     
     .navbar-expand-md .navbar-nav .active .nav-link {
         color: #1a1a1a !important;
         background-color: #51B647;
     }
     
     /* Adjust header for mobile - SMALLER */
     .header {
         padding: 6px 15px;
         min-height: 50px;
     }
     
     .logo img {
         max-height: 35px;
     }
     
     /* Fix navbar brand/logo alignment */
     .logo_section {
         flex: 0 0 auto;
         padding-right: 0;
     }
     
     /* Ensure navbar toggler is visible */
     .navbar-expand-md .navbar-nav {
         text-align: left;
     }
     
     /* Fix content overflow on mobile */
     body {
         overflow-x: hidden !important;
         width: 100% !important;
         max-width: 100vw !important;
     }
     
     /* Prevent text overflow - DON'T BREAK WORDS */
     .navbar-expand-md .navbar-nav .nav-link {
         white-space: nowrap !important;
         overflow: hidden !important;
         text-overflow: ellipsis !important;
     }
     
     /* Ensure navbar content fits */
     .navbar-collapse {
         max-height: 80vh !important;
         overflow-y: auto !important;
     }
     
     /* Reduce banner text sizes for mobile */
     .text-bg h1 {
         font-size: 1.8rem !important;
         line-height: 1.5rem !important;
     }
     
     .text-bg span {
         font-size: 1.2rem !important;
         line-height: 1.5rem !important;
     }
     
     .text-bg p {
         font-size: 1rem !important;
         line-height: 1.4 !important;
         margin-bottom: 1rem !important;
     }
     
     .text-bg a {
         max-width: 122px !important;
         font-size: 0.85rem !important;
         margin-right: 1px !important;
     }
     
     /* Reduce banner height for mobile */
     .banner_main {
         padding-bottom: 70px !important;
         min-height: auto !important;
     }
     
     /* Reduce section title sizes for mobile */
     .titlepage h2 {
         font-size: 1.5rem !important;
         line-height: 1.3rem !important;
     }
     
     .titlepage p {
         font-size: 1rem !important;
         line-height: 1.4 !important;
         padding-top: 20px !important;
     }
     
     /* Reduce services box sizes for mobile */
     .services_box {
         padding: 20px 15px !important;
         min-height: 250px !important;
     }
     
     .services_box h3 {
         font-size: 1.1rem !important;
         padding-top: 10px !important;
     }
     
     .services_box p {
         font-size: 0.9rem !important;
         padding-top: 10px !important;
         line-height: 1.4 !important;
     }
     
     /* Reduce about section sizes for mobile */
     .about_box p {
         font-size: 1rem !important;
         line-height: 1.5 !important;
     }
     
     /* Reduce team section sizes for mobile */
     .our_team h3 {
         font-size: 1.1rem !important;
     }
     
     .our_team span {
         font-size: 0.85rem !important;
     }
     
     /* Reduce footer sizes for mobile */
     ul.location_icon li {
         font-size: 0.9rem !important;
         line-height: 1.8 !important;
     }
     
     .bottom_form h3 {
         font-size: 1.2rem !important;
     }
     
     .bottom_form .enter {
         font-size: 0.9rem !important;
         padding: 10px 15px !important;
     }
     
     .sub_btn {
         font-size: 0.9rem !important;
         padding: 10px 0 !important;
     }
     
     .copyright p {
         font-size: 0.85rem !important;
         line-height: 1.4 !important;
     }
}