/* ==========================================================================
   1. GLOBAL VARIABLES & ROOT
   ========================================================================== */
:root {
   /* Brand Colors */
   --primary: #007db9;
   --secondary: #cc161d;
   --dark-blue: #003a5d;
   --light: #f8f9fa;
   --light-gray: #e9ecef;
   --dark: #212529;

   /* Bootstrap Color RGB Overrides */
   --bs-border-color: #D5D5D5;
   --bs-primary-rgb: 0, 58, 93;
   --bs-secondary-rgb: 0, 125, 185;
   
   --bs-link-color: #007db9;
   --bs-link-color-rgb: 0, 125, 185;
   --bs-link-hover-color: #00bcf1;
   --bs-link-hover-color-rgb: 0, 188, 241;

   --bs-danger: #EC1C24;
   --bs-secondary-color: #212529;
   
   /* Typography */
   --bs-body-font-family: 'jaf-bernina-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
   
   --swiper-navigation-size: 26px;
   --swiper-theme-color: #495057;
   --swiper-pagination-bullet-border-radius: 0;
   --swiper-pagination-bullet-height: 3px;
   --swiper-pagination-bullet-width: 30px;
}

/* ==========================================================================
   2. GLOBAL BASE STYLES
   ========================================================================== */
* {
   font-family: var(--bs-body-font-family);
}

body {
   color: var(--dark);
   font-size: 16px;
   font-weight: 400;
   line-height: 1.5;
   background-color: var(--light);
}
.gsc-above-wrapper-area{max-width: 100% !important;}
.gsc-wrapper
 {
    max-width: 100% !important;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page
{
    padding: 1% !important;
    border-radius: 5px !important;
}
.gcsc-find-more-on-google-branding{display: none !important;}

.gcsc-find-more-on-google {display: none !important;}

.error{
   font-weight: 600;
    color: #b2d235;
}
 .checkbox-group{
   margin-top: 25px;
   }
   input.cp-checkbox{
      margin:5px;
   }
   .cp-label{
      margin-right:15px;
   }
.g-recaptcha{
      width: 304px;
      margin: 20px auto;
}
/* Container Width Override */
@media (min-width: 1200px) {
   .container, .container-lg, .container-md, .container-xl {
      max-width: 1040px;
   }

   .container-sm {
      max-width: 840px;
   }
}

/* ==========================================================================
   3. TYPOGRAPHY & TEXT UTILITIES
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
   font-weight: 700;
   margin-bottom: 1rem;
}

ol, ul {
   padding-left: 1.25rem;
}

/* Lead text with custom arrow icon */
.lead {
   font-size: 1.5rem;
   font-weight: 400;
   display: inline-flex;
   position: relative;
   align-items: center;
}

.lead::before,
ul.arrow-list li::before,
.arrow-link::before {
   content: "";
   background-color: var(--bs-danger);
   width: 9px;
   height: 10px;
   margin-right: .25rem;
   -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='10' viewBox='0 0 9 10' fill='none'%3E%3Cpath d='M8.24799 4.76208L-4.48507e-07 9.52406L-3.22013e-08 0.000107882L8.24799 4.76208Z' fill='black'/%3E%3C/svg%3E") no-repeat center / contain;
   mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='10' viewBox='0 0 9 10' fill='none'%3E%3Cpath d='M8.24799 4.76208L-4.48507e-07 9.52406L-3.22013e-08 0.000107882L8.24799 4.76208Z' fill='black'/%3E%3C/svg%3E") no-repeat center / contain;
}

ul.arrow-list {
   list-style: none;
   padding-left: 0;
}

ul.arrow-list li::before {
   display: inline-block;
   margin-right: .5rem;
   position: absolute;
   left: 0;
   top: 0.45rem;
}

ul.arrow-list li {
   margin-bottom: .25rem;
   position: relative;
   padding-left: 20px;
}

.arrow-link {
   display: inline-flex;
   align-items: center;
}

/* Custom Text Helpers */
.text-light { color: var(--light) !important; }
.text-primary { color: var(--primary) !important; }


@media (min-width: 769px) {
    .text-md-dark {
         color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; 
    }
}


/* ==========================================================================
   4. BOOTSTRAP COMPONENT OVERRIDES
   ========================================================================== */

/** Buttons **/
.btn-primary {
   --bs-btn-bg: var(--primary);
   --bs-btn-border-color: var(--primary);
   --bs-btn-hover-bg: #006593;
   --bs-btn-hover-border-color: #006593;
}

.btn-secondary {
   --bs-btn-color: var(--primary);
   --bs-btn-bg: transparent;
   --bs-btn-border-color: var(--primary);
   --bs-btn-hover-color: #fff;
   --bs-btn-hover-bg: var(--primary);
}

/* Red Agency Button */
.btn-red {
   background-color: var(--secondary);
   border-color: var(--secondary);
   color: white;
}
.btn-red:hover {
   background-color: #b81620;
   border-color: #b81620;
   color: white;
}

/* Outline Buttons with custom Masked Icon */
.btn-outline-primary, .btn-outline-secondary {
   --bs-btn-color: var(--primary);
   --bs-btn-border-color: var(--primary);
   --bs-btn-hover-bg: var(--primary);
   --bs-btn-active-bg: var(--primary);
   --bs-btn-active-border-color: var(--primary);
   --bs-btn-disabled-color: var(--primary);
   --bs-btn-disabled-border-color: var(--primary);
   --bs-btn-hover-border-color: var(--primary);
   display: inline-flex;
   align-items: center;
}

.btn-outline-secondary::before {
   content: "";
   background-color: currentColor;
   width: 16px;
   height: 16px;
   margin-right: .5rem;
   -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M13.9999 -0.000610352C15.1044 -0.000465474 15.9999 0.89491 15.9999 1.99939V13.9994C15.9998 15.1037 15.1043 15.9992 13.9999 15.9994H1.99991C0.895428 15.9994 5.33495e-05 15.1038 -9.15527e-05 13.9994V1.99939C-9.15527e-05 0.89482 0.895339 -0.000610352 1.99991 -0.000610352H13.9999ZM1.99991 0.99939C1.44762 0.99939 0.999908 1.4471 0.999908 1.99939V13.9994C1.00005 14.5516 1.44771 14.9994 1.99991 14.9994H13.9999C14.552 14.9992 14.9998 14.5515 14.9999 13.9994V1.99939C14.9999 1.44719 14.5521 0.999534 13.9999 0.99939H1.99991ZM7.99991 3.99939C8.27593 3.99953 8.49991 4.22334 8.49991 4.49939V7.49939H11.4999C11.7759 7.49953 11.9999 7.72334 11.9999 7.99939C11.9998 8.27532 11.7758 8.49924 11.4999 8.49939H8.49991V11.4994C8.49976 11.7753 8.27584 11.9992 7.99991 11.9994C7.72386 11.9994 7.50005 11.7754 7.49991 11.4994V8.49939H4.49991C4.22386 8.49939 4.00005 8.27541 3.99991 7.99939C3.99991 7.72325 4.22377 7.49939 4.49991 7.49939H7.49991V4.49939C7.49991 4.22325 7.72377 3.99939 7.99991 3.99939Z' fill='black'/%3E%3C/svg%3E") no-repeat center / contain;
   mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M13.9999 -0.000610352C15.1044 -0.000465474 15.9999 0.89491 15.9999 1.99939V13.9994C15.9998 15.1037 15.1043 15.9992 13.9999 15.9994H1.99991C0.895428 15.9994 5.33495e-05 15.1038 -9.15527e-05 13.9994V1.99939C-9.15527e-05 0.89482 0.895339 -0.000610352 1.99991 -0.000610352H13.9999ZM1.99991 0.99939C1.44762 0.99939 0.999908 1.4471 0.999908 1.99939V13.9994C1.00005 14.5516 1.44771 14.9994 1.99991 14.9994H13.9999C14.552 14.9992 14.9998 14.5515 14.9999 13.9994V1.99939C14.9999 1.44719 14.5521 0.999534 13.9999 0.99939H1.99991ZM7.99991 3.99939C8.27593 3.99953 8.49991 4.22334 8.49991 4.49939V7.49939H11.4999C11.7759 7.49953 11.9999 7.72334 11.9999 7.99939C11.9998 8.27532 11.7758 8.49924 11.4999 8.49939H8.49991V11.4994C8.49976 11.7753 8.27584 11.9992 7.99991 11.9994C7.72386 11.9994 7.50005 11.7754 7.49991 11.4994V8.49939H4.49991C4.22386 8.49939 4.00005 8.27541 3.99991 7.99939C3.99991 7.72325 4.22377 7.49939 4.49991 7.49939H7.49991V4.49939C7.49991 4.22325 7.72377 3.99939 7.99991 3.99939Z' fill='black'/%3E%3C/svg%3E") no-repeat center / contain;
   mask-repeat: no-repeat;
   mask-position: center;
}

.btn-sm {
   --bs-btn-padding-y: 0.4375rem;
   --bs-btn-padding-x: 1rem;
   --bs-btn-font-size: 0.8125rem;
   --bs-btn-line-height: .8125rem;
}

.modal {
    --bs-modal-bg: var(--light);
}

/** Navbar & Navigation **/
.navbar { --bs-navbar-nav-link-padding-x: .75rem; }
.navbar-brand {
   padding-bottom: .75rem;
}
.navbar-brand img { height: 32px; }
.navbar-nav { --bs-nav-link-font-weight: 600; }
.nav-link { color: var(--dark); letter-spacing: -0.2px; }

.dropdown-menu {
   --bs-dropdown-link-active-bg: #007db9;
}

.nav { --bs-nav-link-padding-y: 0.25rem; }

/* Desktop Hover Dropdowns & Desktop Search */
@media (min-width: 992px) {
   .nav-item.dropdown .dropdown-menu {
      display: block;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
      margin-top: 0;
      top: 100%;
      left: 0;
   }
   .nav-item.dropdown:hover .dropdown-menu {
      opacity: 1;
      visibility: visible;
   }
   .nav-item.dropdown .dropdown-menu::before {
      content: "";
      width: 100%;
      height: 20px;
      position: absolute;
      top: -10px;
      left: 0;
   }
    #searchform{
      display: flex;
      width: 100%;
   }

   #searchBarArea {
      position: absolute;
      z-index: 1;
      right: 0;
      top: 65px;
      width: 26rem;
   }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
   .navbar {
      --bs-navbar-nav-link-padding-x: .7rem;
   }
}

/* Mobile Navbar Logic */
@media (max-width: 992px) {
   .navbar button[aria-expanded="true"] > span.navbar-toggler-icon { display: none; }
   .navbar button[aria-expanded="true"] > span.close { display: inline-block; }
   .navbar button > span.close { display: none; padding: 5px; }
   .dropdown-menu { border: none; padding-top: 0; }
   .search-wrapper { display: flex; padding-top: .5rem; }

   /* make the dropdown menu flow under the row */
   .navbar .nav-item.dropdown .dropdown-menu {
      position: static !important;
      transform: none !important;
      float: none;
      width: 100%;
      margin-top: .25rem;
      border: 0;
      box-shadow: none;
      padding-left: 1rem; /* optional indent */
   }
   #searchBarArea {
      width: 100%;
      display: block;
   }
   #search-close{
      display: none;
   }
    #searchform{
      display: flex;
      width: 100%;
   }
   
   .mobile-menu-toggle::after{
        content: "";
        float: right;
        transition: transform .2s;
        border-top: .3em solid;
        border-right: .3em solid transparent;
        border-bottom: 0;
        border-left: .3em solid transparent;
        top: 10px;
        position: relative;
    }
    
    .mobile-menu-toggle[aria-expanded="true"]::after{
      transform: rotate(180deg);
    }
}

.table {
   --bs-table-border-color: var(--bs-gray-500);
   --bs-table-bg: var(--light);
}

.table-light {
   --bs-table-color: #212529;
   --bs-table-bg: var(--bs-secondary-bg);
   --bs-table-border-color: var(--bs-gray-500);
}

.border-bottom {
   border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-gray-500) !important;
}

.border-top {
   border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-gray-500) !important;
}

#truetrack-table table {
   width: 100%;
   min-width: 696px;
}

#truetrack-table table tr th:first-child {
   width: 30%;
}

#truetrack-table table:last-child tr th:nth-child(2) {
   width: 25%;
}

/** Carousel + Swiper **/
.carousel-dark .carousel-indicators [data-bs-target].active { background-color: var(--primary); }
.carousel-indicators { bottom: -4rem; }

#devices .carousel-indicators {
   position: relative;
   top: 0;
}

@media (min-width: 1200px) {
   .carousel-control-next, .swiper-button-next { right: -9% !important; }
   .carousel-control-prev, .swiper-button-prev { left: -9% !important; }
}

@media (max-width: 1199.98px) {
   .carousel-control-next, .carousel-control-prev,
   .swiper-button-next, .swiper-button-prev { display: none !important; }
}

.swiper-pagination-bullet-active { background-color: var(--primary); }
.swiper-pagination {
   position: relative;
}

/* ==========================================================================
   5. CUSTOM LAYOUT & UTILITY CLASSES
   ========================================================================== */

/* Grid Gutters */
.g-6, .gx-6 { --bs-gutter-x: 4.875rem; }

@media (min-width: 992px) {
   .g-lg-6, .gx-lg-6 { --bs-gutter-x: 4.875rem; }
}

@media (min-width: 768px) {
   .g-md-6, .gx-md-6 { --bs-gutter-x: 4.875rem; }
}

/* Background Utilities */
.bg-light { background-color: var(--light) !important; }
.bg-dark-blue { background-color: var(--dark-blue) !important; }
.bg-blue { background-color: var(--primary) !important; }

.bg-gray { background-color: var(--light-gray) !important; }
.text-bg-secondary { background-color: var(--light-gray) !important; color: var(--dark) !important; }
.badge-primary { background-color: var(--primary) !important; }

/* Image Utilities */
.img-full-column {
   width: 100%;
   height: 100%;
   min-height: 250px;
   object-fit: cover;
   display: block;
}
.img-height-1 { height: 8em; }
.img-height-2 { height: 17.5em; }
.img-height-3 { height: 19.25em; }

.thumb-img {
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.2s ease;
}

.thumb-img:hover,
.thumb-img.active {
  opacity: 1;
  transform: scale(1.03);
  border: .5px solid var(--primary);
}

.device-img {
    max-height:300px;
    width:100%;
    object-fit:contain;
}

/* Margin Tweak Utilities */
.-mt-1 { margin-top: -4.5rem; }
.-mt-3 { margin-top: -8.5rem; }

.-mx-4 { margin-left: -1.5rem; margin-right: -1.5rem; }
.-mt-4 { margin-top: -1.5rem; }

.py-6 {
   padding-top: 5rem !important;
   padding-bottom: 5rem !important;
}

.pagination {
   --bs-pagination-active-bg: #007db9;
   --bs-pagination-active-border-color: #007db9;
}

.accordion {
   --bs-accordion-active-color: #000000;
   --bs-accordion-btn-focus-border-color: #000;
   --bs-accordion-active-bg: #DEE2E6;
   --bs-accordion-btn-focus-box-shadow: none; /** 0 0 0 0.25rem rgba(222, 226, 230, 1);**/
}

@media (min-width: 1200px) {
   .mw-xl-75 { max-width: 75%; }
}

@media (min-width: 992px) {
   .mw-lg-75 { max-width: 75%; }
   .h-800px { height: 800px; }
   .w-md-185px { width: 185px !important; }
   .img-height-lg-2 { height: 17.5em; }
}

@media (min-width: 768px) {
   .pagination-md-md {
      --bs-pagination-padding-x: 0.75rem;
      --bs-pagination-padding-y: 0.375rem;
      --bs-pagination-font-size: 1rem;
   }

   /* Widths */
   .w-md-50 { width: 50% !important; }
   .w-md-100 { width: 100% !important; }
   .w-md-75 { width: 75% !important; }
}

/* ==========================================================================
   6. SECTION SPECIFIC STYLES
   ========================================================================== */

/* Hero Sections */
.hero {
   position: relative;
   padding: 5.5rem 0;
   border-bottom: 1px solid #e0e0e0;
   background-size: cover;
}

@media (min-width: 768px) {
   #home .hero {
      padding: 7.5rem 0;
   }
}

@media (max-width: 768px) {
   .hero:before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: var(--dark-blue);
      opacity: .75;
   }
}

#home-hero {
   background-image: url('../img/hero/home.jpg'); background-position: 65% center;
}

#services-hero { background-image: url('../img/hero/services.jpg'); background-position: 70% center; }
#devices-hero { background-image: url('../img/hero/devices.jpg'); background-position: 75% center; }
#about-hero { background-image: url('../img/hero/about.jpg'); background-position: 75% top; }
#resources-hero { background-image: url('../img/hero/resources.jpg'); background-position: 75% center; }
#customer-support-hero { background-image: url('../img/hero/customer-solutions.jpg'); background-position: 75% center; }
#public-sector-hero { background-image: url('../img/hero/public-sector.jpg'); background-position: 75% center; }
#interoperability-hero { background-image: url('../img/hero/interoperability.jpg'); background-position: 75% center; }
#mcptt-hero { background-image: url('../img/hero/mcptt.jpg'); background-position: 75% center; }
#data-hero { background-image: url('../img/hero/data.jpg'); background-position: 75% center; }
#service-plans-hero { background-image: url('../img/hero/service-plans.jpg'); background-position: 75% center; }
#phones-hero { background-image: url('../img/hero/phones.jpg'); background-position: 75% center; }
#data-devices-hero { background-image: url('../img/hero/data-devices.jpg'); background-position: 75% center; }
#knowledge-center-hero { background-image: url('../img/hero/knowledge-center.jpg'); background-position: 75% center; }
#success-stories-hero { background-image: url('../img/hero/success-stories.jpg'); background-position: 75% center; }
#criticallinc-hero { background-image: url('../img/hero/criticallinc.jpg'); background-position: 75% center; }
#truetrack-hero { background-image: url('../img/hero/truetrack.jpg'); background-position: 75% center; }

#apple-hero { background-image: url('../img/hero/apple.jpg'); background-position: 75% center; }
#sonim-hero { background-image: url('../img/hero/sonim.jpg'); background-position: 75% center; }
#samsung-hero { background-image: url('../img/hero/samsung.jpg'); background-position: 75% center; }

/* Contact Form Section */
section.contact {
   background: url('../img/bg/cta-footer.png') no-repeat center / cover;
}

section.contact .form-select {
   background-color: var(--primary);
   border-color: var(--primary);
   color: white;
   background-position: right 0.75rem top 1rem;
   --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M6.62138 -0.000488281C7.15804 -0.000118351 7.44458 0.631648 7.0911 1.03564L4.09403 4.46143C3.84503 4.74601 3.40163 4.74601 3.15263 4.46143L0.155556 1.03564C-0.197971 0.631614 0.0885228 -0.00022695 0.625283 -0.000488281H6.62138Z' fill='white'/%3E%3C/svg%3E");
}

.btn:hover .border-secondary,
.btn.show .border-secondary {
   border-color: #FFF !important
}

/* Fixed first column width to match your original 300px */
.plan-col-fixed {
   width: 300px;
   min-width: 300px;
}

/* Optional: use your brand font everywhere in this table */
.plan-font {
   font-family: "Bernina Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Header gradient blocks (map to your CSS variables) */
.plan-hdr-basic {
   background: linear-gradient(180deg, var(--Base-Colors-Dark-Blue, #003A5D) 0%, var(--Subset-Colors-Dark-Blue-800, #001F30) 100%);
}

.plan-hdr-2gb {
   background: linear-gradient(180deg, var(--Base-Colors-Blue, #007DB9) 0%, var(--Subset-Colors-Blue-700, #004665) 100%);
}

.plan-hdr-5gb {
   background: linear-gradient(180deg, var(--Base-Colors-Teal, #00B5AF) 0%, var(--Subset-Colors-Teal-700, #007C78) 100%);
}

.plan-hdr-10gb {
   background: linear-gradient(180deg, var(--Base-Colors-Light-Green, #B2D235) 0%, var(--Subset-Colors-Light-Green-700, #7F9725) 100%);
}

@media (min-width: 768px) {
   .float-truetrack-phone {
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 9;
      max-width: 350px;
   }
}

/* Footer Section */
.footer {
   background-color: var(--dark-blue) !important;
   padding: 30px 0 !important;
}

.footer a { transition: opacity 0.3s ease; }
.footer a:hover { opacity: 0.8; }
.footer-nav-link { font-size: 0.875rem; font-weight: 400; }

/* Visual Overlays */
.waves-overlay { background: url('../img/bg/blue-bg-overlay.png') center no-repeat; background-size: cover; }

.anniversary-badge {
   position: absolute;
   bottom: -12rem;
   right: .5rem;
   width: 150px;
}

@media (max-width: 768px) {
   .anniversary-badge {
      bottom: -10rem;
      width: 120px;
   }
   .icon {
      max-width: 56px;
   }
}