/* Mobile Responsive Styles for Dycom Careers Pages */

/* Tablet and Mobile (768px and below) */
@media (max-width: 768px) {
   /* Target the main content containers that are causing excessive padding */
   .container-wrap {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .container.main-content {
      padding-left: 0 !important;
      padding-right: 0 !important;
      max-width: 100% !important;
   }
   
   .container.main-content .row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Override Visual Composer row padding */
   .wpb_row {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   /* Target the specific column wrappers */
   .row_col_wrap_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   h1 {
      font-size: 1.8rem !important;
      line-height: 1.2 !important;
      padding: 0 10px !important;
   }
   
   h2 {
      font-size: 1.6rem !important;
      line-height: 1.3 !important;
   }
   
   h3 {
      font-size: 1.4rem !important;
      line-height: 1.3 !important;
   }

   h4 {
      font-size: 1.2rem !important;
      line-height: 1.3 !important;
   }
   
   /* Make career boxes stack in single column on mobile */
   .vc_col-sm-4 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
      margin-bottom: 20px !important;
   }
   
   /* Make 2-column layouts stack in single column on mobile */
   .vc_col-sm-6 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
      margin-bottom: 20px !important;
   }
   
   .vc_col-sm-5 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
      margin-bottom: 20px !important;
   }
   
   .nectar-fancy-box {
      min-height: 250px !important;
   }
   
   /* Always show fancy box highlight on mobile (bottom white bar) */
   .nectar-fancy-box:after {
      transform: scaleX(1) translateZ(0) !important;
      -webkit-transform: scaleX(1) translateZ(0) !important;
   }
   
   /* Always show gradient overlay on hover_desc style fancy boxes */
   .nectar-fancy-box[data-style="hover_desc"] .box-bg:after {
      opacity: 1 !important;
   }
   
   /* Improve fancy box hover on mobile - always show content so users can see it before tapping */
   .nectar-fancy-box[data-style="hover_desc"] {
      /* Show hover content by default on mobile */
   }
   
   .nectar-fancy-box[data-style="hover_desc"] .hover-content {
      opacity: 1 !important;
      transform: translateY(0) !important;
      position: relative !important;
      margin-top: 15px !important;
      margin-bottom: 0 !important;
      display: block !important;
   }
   
   .nectar-fancy-box[data-style="hover_desc"] .heading-wrap {
      transform: translateY(0) !important;
      margin-bottom: 10px !important;
      position: relative !important;
   }
   
   /* Add visual feedback that box is tappable */
   .nectar-fancy-box[data-style="hover_desc"] {
      cursor: pointer !important;
   }
   
   /* Add active state feedback */
   .nectar-fancy-box[data-style="hover_desc"]:active {
      transform: scale(0.98) !important;
      transition: transform 0.1s ease !important;
   }

   .row_col_wrap_12 {
      gap: 0px !important;
   }
   
   .vc_col-sm-5 {
      margin-bottom: 20px !important;
   }
   
   .vc_col-sm-6 {
      margin-bottom: 20px !important;
   }
   .wpb_video_wrapper {
      padding-top: 45% !important;
   }

   .row_col_wrap_12 {
      gap: 0px !important;
   }
   

   .wpb_video_wrapper iframe {
      width: 100% !important;
      height: 200px !important;
   }
   
   .row_col_wrap_12_inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .nectar-split-heading {
      padding: 0 10px !important;
      margin-left: 13px !important;
   }
   
   /* Fix uneven horizontal padding in CTA section on theme 2 pages */
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12.light.center,
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12.light,
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0d0cd .vc_col-sm-12.wpb_column,
   #fws_67b79e1c0d0cd .vc_column_container {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0d0cd .vc_column-inner,
   #fws_67b79e1c0d0cd .wpb_wrapper {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Reset nectar-split-heading margin in CTA section */
   #fws_67b79e1c0d0cd .nectar-split-heading {
      margin-left: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Target opportunities page CTA section (doesn't have ID) */
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .row_col_wrap_12.col.span_12.light.center,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .row_col_wrap_12.col.span_12.light.center {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .vc_col-sm-12.wpb_column,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .vc_col-sm-12.wpb_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .vc_column-inner,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .vc_column-inner,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .wpb_wrapper,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .wpb_wrapper {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .nectar-split-heading,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .nectar-split-heading {
      margin-left: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .divider-wrap {
      height: 250px !important;
   }

   .wpb_text_column {
      padding: 0 10px !important;
   }
   
   .wrapper-footer .container {
      padding-left: 0px !important;
      padding-right: 0px !important;
      max-width: 370px !important;
   }
   
   .wrapper-footer .row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .wrapper-footer hr {
      margin: 1.5rem 0 !important;
   }

   .wrapper-footer .col-lg-4,
   .wrapper-footer .col-md-6 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-bottom: 20px !important;
   }

   /* Job listings mobile optimization */
   .job-openings {
      padding: 0 10px !important;
   }

   .nectar-hor-list-item[data-columns="3"] > .nectar-list-item:nth-child(1) {
      width: 50% !important;
    }

    .nectar-hor-list-item[data-columns="3"] > .nectar-list-item:nth-child(2) {
      width: 30%;
    }
    
    
   .nectar-hor-list-item {
      margin-bottom: 15px !important;
      padding: 0 10px !important;
      text-align: left !important;
   }
   
   body .vc_row.vc_row-flex.vc_row-o-equal-height > .span_12, body .vc_row.vc_row-flex.vc_row-o-equal-height>.span_12>.vc_column_container>.vc_column-inner, body .vc_row.vc_row-flex.vc_row-o-equal-height>.span_12>.vc_column_container {
      margin-left: 0.2px !important;
   }
   /* Search form mobile optimization */
   .dycom-job-search-form {
      padding: 0 10px !important;
   }
   
   .dycom-job-search-form input,
   .dycom-job-search-form select {
      width: 100% !important;
      margin-bottom: 10px !important;
   }
   
   .dycom-job-search-form button {
      width: 100% !important;
   }
   
   /* Make custom slider layouts stack on mobile */
   .slide-content {
      flex-direction: column !important;
      gap: 20px !important;
   }
   
   .slide-image-column,
   .slide-text-column {
      max-width: 100% !important;
      flex: none !important;
   }
   
   /* Override any inline styles */
   [style*="flex: 0 0 40%"],
   [style*="flex: 0 0 60%"],
   [style*="max-width: 40%"],
   [style*="max-width: 60%"] {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Benefits categories: Stack image then slider on mobile */
   #fws_category_0 .row_col_wrap_12.d-flex,
   #fws_category_1 .row_col_wrap_12.d-flex,
   #fws_category_2 .row_col_wrap_12.d-flex,
   #fws_category_3 .row_col_wrap_12.d-flex,
   #fws_category_4 .row_col_wrap_12.d-flex,
   #fws_category_5 .row_col_wrap_12.d-flex,
   [id^="fws_category_"] .row_col_wrap_12.d-flex,
   .row_col_wrap_12.d-flex {
      flex-direction: column !important;
      display: flex !important;
   }
   
   /* Override template-specific CSS rules - force full width and stacking */
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_3 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_3 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_4 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_4 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_5 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_5 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 {
      flex: 0 0 100% !important;
      flex-basis: 100% !important;
      flex-grow: 0 !important;
      flex-shrink: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      float: none !important;
      clear: both !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      position: relative !important;
      margin-bottom: 0 !important;
   }
   
   /* Ensure columns have proper height and don't overlap */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .vc_column-inner,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .vc_column-inner {
      position: relative !important;
      min-height: 300px !important;
      overflow: hidden !important;
   }
   
   /* Ensure image columns have proper height */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      min-height: 300px !important;
   }
   
   /* Ensure vc_col-sm-40 (theme 2 even rows) has same height as vc_col-sm-2/5 (theme 2 odd rows) */
   /* Target all rows in theme 2 (when vc_col-sm-40 exists anywhere) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40,
   .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 {
      min-height: 400px !important;
   }
   
   /* Also target category 1 specifically when theme 2 is present (has vc_col-sm-40 in other categories) */
   /* Use sibling selector to detect theme 2 context */
   #fws_category_0:has(.vc_col-sm-40) ~ #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_0:has(.vc_col-sm-40) ~ #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      min-height: 400px !important;
   }
   
   /* Ensure vc_column-inner for both image column types in theme 2 have same height */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40 .vc_column-inner,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 .vc_column-inner {
      min-height: 400px !important;
   }
   
   /* Also target category 1 vc_column-inner when theme 2 is present */
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner {
      min-height: 400px !important;
   }
   
   /* Ensure column-image-bg-wrap fills the full height in theme 2 */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40 .column-image-bg-wrap,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 .column-image-bg-wrap {
      min-height: 400px !important;
      height: 100% !important;
   }
   
   /* Also target category 1 column-image-bg-wrap when theme 2 is present */
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap {
      min-height: 400px !important;
      height: 100% !important;
   }
   
   /* Fix overlap: Add spacing to first and last categories (0 and 2) only - THEME 2 ONLY */
   /* Theme 2 uses vc_col-sm-40, so we target only when that class is present */
   /* Add margin-bottom to image columns to create space before slider */
   #fws_category_0 .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   #fws_category_2 .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-40,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-40 {
      margin-bottom: 20px !important;
   }
   
   /* Remove margin-top - columns are now same height, no extra spacing needed */
   
   /* Ensure category titles are visible above image backgrounds */
   [id^="fws_category_"] .custom-highlight,
   [id^="fws_category_"] .custom-highlight h2,
   [id^="fws_category_"] .category-title-wrapper,
   [id^="fws_category_"] .category-title-button {
      position: relative !important;
      z-index: 10 !important;
   }
   
   /* Fix uneven horizontal padding for theme 1 category titles (nested vc_col-sm-2/5 structure) */
   /* Theme 1 has nested vc_col-sm-2/5 inside another vc_col-sm-2/5 for the title */
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_col-sm-2\/5 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_col-sm-2\/5 .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   [id^="fws_category_"] .category-title-wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      text-align: center !important;
   }
   
   [id^="fws_category_"] .category-title-button {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      display: inline-block !important;
   }
   
   /* Ensure wpb_wrapper with title is above background layers */
   [id^="fws_category_"] .vc_col-sm-2\/5 .wpb_wrapper,
   [id^="fws_category_"] .vc_col-sm-40 .wpb_wrapper {
      position: relative !important;
      z-index: 10 !important;
   }
   
   /* Ensure vc_column-inner with title is above overlay */
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_column-inner,
   [id^="fws_category_"] .vc_col-sm-40 .vc_column-inner {
      position: relative !important;
      z-index: 5 !important;
   }
   
   /* Ensure overlay doesn't cover titles - set lower z-index */
   [id^="fws_category_"] .column-bg-overlay-wrap,
   [id^="fws_category_"] .column-overlay-layer {
      z-index: 2 !important;
   }
   
   /* Ensure image background doesn't cause overlap */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .column-image-bg-wrap,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .column-image-bg-wrap {
      position: absolute !important;
      height: 100% !important;
      width: 100% !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 1 !important;
   }
   
   /* Order image columns first (vc_col-sm-2/5 with image background) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5:has(.column-image-bg),
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5:has(.column-image-bg) {
      order: 1 !important;
   }
   
   /* Order slider columns second (vc_col-sm-3/5 with slider) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.benefits-slider),
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.slider-wrapper),
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.benefits-slider),
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.slider-wrapper) {
      order: 2 !important;
   }
   
   /* Fallback for browsers without :has() support - apply order to parent columns */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      order: 1 !important;
   }
   
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 {
      order: 2 !important;
   }
   
   /* Additional overrides for nested containers */
   .container.main-content .row > * {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Override any Bootstrap container padding */
   .container {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Fix navbar on mobile - disable flexbox and position hamburger absolutely */
   #main-nav,
   .navbar,
   nav#main-nav {
      position: relative !important;
      padding: .5rem 0 !important;
   }
   
   #main-nav .container,
   .navbar .container,
   nav#main-nav .container {
      display: block !important;
      position: relative !important;
      padding-left: 0px !important;
      padding-right: 0px !important;
   }
   
   /* Position hamburger menu absolutely to the right of navbar - stays fixed when menu expands */
   .navbar-toggler {
      position: absolute !important;
      right: 0px !important;
      top: .5rem !important;
      bottom: auto !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0.25rem 0rem !important;
      z-index: 1000 !important;
      margin-right: -10px !important;
   }
   
   /* Ensure navbar brand stays on left */
   .navbar-brand {
      position: relative !important;
      margin-right: auto !important;
      z-index: 1 !important;
   }
   
   /* Ensure collapsed menu doesn't affect hamburger position */
   .navbar-collapse {
      margin-top: 0 !important;
      padding-top: 0 !important;
   }
   
   /* Target any remaining wrapper classes */
   .inner-wrap {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .inner {
      padding-top: 2rem !important;
      padding-bottom: 0 !important;
   }
   /* Add more top padding to hero sections on mobile (but not header navigation) */
   .wpb_row.first-section:not(header .wpb_row),
   .wpb_row.parallax_section.first-section:not(header .wpb_row) {
      padding-top: calc(100vw * 0.25) !important;
   }
   
   /* Specific targeting for hero sections with IDs (but not header navigation) */
   #fws_67b776c63086f:not(header #fws_67b776c63086f),
   #hero-section:not(header #hero-section) {
      padding-top: calc(100vw * 0.25) !important;
   }
   
   /* Ensure header navigation is not affected by our padding changes */
   header .wpb_row,
   header .wpb_row.first-section,
   header .wpb_row.parallax_section.first-section,
   .navbar .wpb_row,
   .navbar .wpb_row.first-section,
   .navbar .wpb_row.parallax_section.first-section {
      padding-top: 0 !important;
   }
   
   /* Ensure benefit slider icons are consistently sized on mobile */
   .benefits-slider .iwt-icon,
   .swiper-slide .iwt-icon,
   .benefit-slider .iwt-icon {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      min-height: 80px !important;
      max-width: 80px !important;
      max-height: 80px !important;
      flex-shrink: 0 !important;
   }
   
   .benefits-slider .iwt-icon img,
   .swiper-slide .iwt-icon img,
   .benefit-slider .iwt-icon img,
   .benefits-slider .iwithtext .iwt-icon img,
   .swiper-slide .iwithtext .iwt-icon img {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      min-height: 80px !important;
      max-width: 80px !important;
      max-height: 80px !important;
      object-fit: contain !important;
   }

   .swiper-button-prev, .swiper-rtl .swiper-button-next {
      left: 0 !important;
   }

   .swiper-button-next, .swiper-rtl .swiper-button-prev {
      right: 0 !important;
  }

  .diverse-content {
   margin-left: 3% !important;
  }

  .custom-logo-link {
    margin-left: 0 !important; /* Override mx-auto to left-align on mobile */
    margin-right: auto !important;
    display: block !important;
    text-align: left !important;
    max-width: 170px !important;
  }

  /* Ensure parent container doesn't center the logo on mobile */
  .text-md-center .custom-logo-link,
  .text-center .custom-logo-link {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }

  .navbar-toggler {
    margin-right: -10px !important;
  }

   /* Job Categories Section - Ensure even spacing on mobile */
   /* Aggressively reset ALL parent containers to zero padding/margin */
   .full-width-section .row_col_wrap_12.col.span_12.light.left,
   .full-width-section .row_col_wrap_12.col.span_12.light,
   .full-width-section .row_col_wrap_12.col.span_12,
   .full-width-section .col.span_12.light.left,
   .full-width-section .col.span_12.light,
   .full-width-section .col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .vc_col-sm-12.wpb_column,
   .full-width-section .vc_col-sm-12,
   .full-width-section .wpb_column.no-extra-padding,
   .full-width-section .wpb_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .vc_column_container,
   .full-width-section .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0b0f0 .categories-row,
   .row.categories-row,
   .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
      overflow: visible !important;
      position: relative !important;
   }
   
   /* Force equal spacing by ensuring the row takes full width */
   .full-width-section .wpb_wrapper .categories-row {
      width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category items respect the container padding */
   .categories-row .category-item {
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
   }
   
   /* Override any Bootstrap row negative margins */
   .row.categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0b0f0 .category-item,
   .category-item {
      padding: 10px !important;
      margin-left: 10px !important;
      margin-right: 10px !important;
      margin-bottom: 20px !important;
      width: calc(100% - 20px) !important;
      flex: 0 0 calc(100% - 20px) !important;
      max-width: calc(100% - 20px) !important;
      box-sizing: border-box !important;
   }
   
   /* Theme 2 specific fix - ensure right margin/padding for category items */
   .full-width-section:not(#fws_67b79e1c0b0f0) .category-item {
      padding-right: 10px !important;
      margin-right: 0 !important;
   }
   
   /* Ensure theme 2 category items have proper width accounting for margins */
   .full-width-section:not(#fws_67b79e1c0b0f0) .categories-row .category-item {
      width: calc(100% - 20px) !important;
      flex: 0 0 calc(100% - 20px) !important;
      max-width: calc(100% - 22px) !important;
   }
   
   /* Theme 3 Careers Page - Fix uneven padding on fancy boxes section and text */
   /* Target the main section wrapper - add even padding */
   #fws_67b776c633fda .row_col_wrap_12.col.span_12.dark.left,
   #fws_67b776c633fda .row_col_wrap_12.col.span_12,
   #fws_67b776c633fda .col.span_12.dark.left,
   #fws_67b776c633fda .col.span_12 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target the column container - reset padding */
   #fws_67b776c633fda .vc_col-sm-12.wpb_column,
   #fws_67b776c633fda .wpb_column.column_container {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target vc_column-inner and wpb_wrapper - reset padding */
   #fws_67b776c633fda .vc_column-inner,
   #fws_67b776c633fda .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target inner_row elements - reset padding */
   #fws_67b776c633fda .inner_row,
   #fws_67b776c633fda #fws_67b776c6341fc,
   #fws_67b776c633fda #fws_67b776c6345b1 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target row_col_wrap_12_inner - add even padding here */
   #fws_67b776c633fda .row_col_wrap_12_inner,
   #fws_67b776c633fda .row_col_wrap_12_inner.col.span_12 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target child columns (fancy boxes) - reset padding */
   #fws_67b776c633fda .child_column.vc_col-sm-4,
   #fws_67b776c633fda .vc_col-sm-4.child_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target text column - reset padding */
   #fws_67b776c633fda .wpb_text_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b776c633fda .wpb_text_column .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category-item inner doesn't add extra padding */
   .category-item .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category items don't overflow container */
   .categories-row .category-item {
      box-sizing: border-box !important;
   }
   
   /* Ensure parent wrapper has equal padding (none) */
   #fws_67b79e1c0b0f0 .wpb_wrapper,
   #fws_67b79e1c0b0f0 .vc_column-inner,
   /* Target theme 2 which doesn't have an ID - use parent container */
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .vc_column-inner:has(.categories-row),
   .full-width-section .wpb_wrapper .categories-row,
   .full-width-section .vc_column-inner .categories-row {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure the categories-row container itself is properly positioned */
   .full-width-section .wpb_wrapper,
   .full-width-section .vc_column-inner {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Specifically target the wrapper that contains categories-row in theme 2 */
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .wpb_wrapper .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Ensure vc_column_container doesn't add padding */
   .full-width-section .vc_column_container:has(.categories-row),
   .full-width-section .vc_column_container .vc_column-inner:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure vc_col-sm-12 doesn't add padding */
   .full-width-section .vc_col-sm-12:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure row wrapper doesn't add extra padding in theme 2 */
   .full-width-section .row_col_wrap_12:has(.categories-row),
   .full-width-section .col.span_12:has(.categories-row),
   /* Fallback for browsers without :has() - target by structure */
   .full-width-section .row_col_wrap_12 .categories-row,
   .full-width-section .col.span_12 .categories-row {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Additional theme 2 specific fixes - ensure vc_column_container doesn't add padding */
   .full-width-section .vc_col-sm-12:has(.categories-row),
   .full-width-section .wpb_column:has(.categories-row),
   .full-width-section .vc_column_container:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Fallback selectors for theme 2 */
   .full-width-section .vc_col-sm-12 .categories-row,
   .full-width-section .wpb_column .categories-row,
   .full-width-section .vc_column_container .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Theme 3 Opportunities Page - Center align button text on mobile, keep heading left-aligned */
   #fws_67b79e1c09e11 .nectar-button {
      text-align: center !important;
   }
   
   #fws_67b79e1c09e11 .nectar-button span {
      text-align: center !important;
      display: block !important;
   }
   
   #fws_67b79e1c09e11 .nectar-split-heading h1 {
      text-align: left !important;
   }
   
   /* Theme 3 Life Page - Center align button text on mobile, keep heading left-aligned */
   #fws_hero .nectar-button {
      text-align: center !important;
   }
   
   #fws_hero .nectar-button span {
      text-align: center !important;
      display: block !important;
   }
   
   #fws_hero .nectar-split-heading h1 {
      text-align: left !important;
   }
   
   /* Theme 3 Life Page - Add even horizontal padding to "What We Stand For" section */
   #fws_stand_for .row_col_wrap_12_inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_stand_for .child_column.vc_col-sm-7 {
      padding-left: 20px !important;
      padding-right: 20px !important;
   }
   
   #fws_stand_for .child_column.vc_col-sm-5 {
      padding-left: 20px !important;
      padding-right: 20px !important;
   }
   
   #fws_stand_for .child_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .vc_column-inner,
   #fws_stand_for .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .wpb_text_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 20px !important;
   }
   
   #fws_stand_for .wpb_text_column .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 20px !important;
   }
   
   #fws_stand_for .wpb_text_column h2,
   #fws_stand_for .wpb_text_column p {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .img-with-aniamtion-wrap {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Video Section - Fix uneven horizontal padding on all themes */
   /* Reset row wrapper padding */
   .full-width-section .row_col_wrap_12.col.span_12.light.left:has(.vc_col-sm-5 .nectar-split-heading),
   .full-width-section .row_col_wrap_12.col.span_12.light.left:has(.vc_col-sm-6 .nectar-split-heading),
   /* Fallback for browsers without :has() */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5 + .vc_col-sm-5,
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6 + .vc_col-sm-6 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Target video text column (second column) - add even padding */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5:has(.nectar-split-heading),
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6:has(.nectar-split-heading),
   /* Fallback - target second column */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5:nth-child(2),
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6:nth-child(2) {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   /* Reset inner padding on text column */
   .full-width-section .vc_col-sm-5:has(.nectar-split-heading) .vc_column-inner,
   .full-width-section .vc_col-sm-6:has(.nectar-split-heading) .vc_column-inner,
   .full-width-section .row_col_wrap_12 .vc_col-sm-5:nth-child(2) .vc_column-inner,
   .full-width-section .row_col_wrap_12 .vc_col-sm-6:nth-child(2) .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Theme 3 specific - has ID */
   #fws_67b776c63579b .row_col_wrap_12.col.span_12.light.left {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_67b776c63579b .vc_col-sm-6:nth-child(2) {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   #fws_67b776c63579b .vc_col-sm-6 .vc_column-inner,
   #fws_67b776c63579b .vc_col-sm-6 .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
   h1 {
      font-size: 1.4rem !important;
      padding: 0 5px !important;
   }
   
   h2 {
      font-size: 1.3rem !important;
   }
   
   h3 {
      font-size: 1.2rem !important;
   }
   
   .container-wrap {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .container.main-content {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .wpb_row {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   .row_col_wrap_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   .nectar-split-heading {
      padding: 0 5px !important;
      margin-left: 13px !important;
   }
   
   /* Fix uneven horizontal padding in CTA section on theme 2 pages */
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12.light.center,
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12.light,
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0d0cd .vc_col-sm-12.wpb_column,
   #fws_67b79e1c0d0cd .vc_column_container {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0d0cd .vc_column-inner,
   #fws_67b79e1c0d0cd .wpb_wrapper {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Reset nectar-split-heading margin in CTA section */
   #fws_67b79e1c0d0cd .nectar-split-heading {
      margin-left: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Target opportunities page CTA section (doesn't have ID) */
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .row_col_wrap_12.col.span_12.light.center,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .row_col_wrap_12.col.span_12.light.center {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .vc_col-sm-12.wpb_column,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .vc_col-sm-12.wpb_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .vc_column-inner,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .vc_column-inner,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .wpb_wrapper,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .wpb_wrapper {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .nectar-split-heading,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .nectar-split-heading {
      margin-left: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }

   .nectar-hor-list-item[data-columns="3"] > .nectar-list-item:nth-child(1) {
      width: 50% !important;
    }

    .nectar-hor-list-item[data-columns="3"] > .nectar-list-item:nth-child(2) {
      width: 30% !important;
    }
    
   
   .divider-wrap {
      height: 250px !important;
   }

   .wpb_text_column {
      padding: 0 5px !important;
   }
   
   .wrapper-footer .container {
      padding-left: 0px !important;
      padding-right: 0px !important;
   }
   
   .wrapper-footer .col-lg-4,
   .wrapper-footer .col-md-6 {
      padding-left: 0px !important;
      padding-right: 0px !important;
   }
   
   .job-openings {
      padding: 0 5px !important;
   }
   
   .dycom-job-search-form {
      padding: 0 5px !important;
   }
   
   /* Job Categories Section - Ensure even spacing on small mobile */
   /* Aggressively reset ALL parent containers to zero padding/margin */
   .full-width-section .row_col_wrap_12.col.span_12.light.left,
   .full-width-section .row_col_wrap_12.col.span_12.light,
   .full-width-section .row_col_wrap_12.col.span_12,
   .full-width-section .col.span_12.light.left,
   .full-width-section .col.span_12.light,
   .full-width-section .col.span_12 {
      padding-left: 2% !important;
      padding-right: 2% !important;
      padding-top: 4% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .vc_col-sm-12.wpb_column,
   .full-width-section .vc_col-sm-12,
   .full-width-section .wpb_column.no-extra-padding,
   .full-width-section .wpb_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .vc_column_container,
   .full-width-section .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0b0f0 .categories-row,
   .row.categories-row,
   .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
      overflow: visible !important;
      position: relative !important;
   }
   
   /* Force equal spacing by ensuring the row takes full width */
   .full-width-section .wpb_wrapper .categories-row {
      width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category items respect the container padding */
   .categories-row .category-item {
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
   }
   
   /* Override any Bootstrap row negative margins */
   .row.categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0b0f0 .category-item,
   .category-item {
      padding: 10px !important;
      margin-left: 5px !important;
      margin-right: 5px !important;
      margin-bottom: 20px !important;
      width: calc(100% - 10px) !important;
      flex: 0 0 calc(100% - 10px) !important;
      max-width: calc(100% - 10px) !important;
      box-sizing: border-box !important;
   }
   
   /* Theme 2 specific fix - ensure right margin/padding for category items */
   .full-width-section:not(#fws_67b79e1c0b0f0) .category-item {
      padding-right: 2px !important;
      margin-right: 0 !important;
   }
   
   /* Ensure theme 2 category items have proper width accounting for margins */
   .full-width-section:not(#fws_67b79e1c0b0f0) .categories-row .category-item {
      width: calc(100% - 10px) !important;
      flex: 0 0 calc(100% - 10px) !important;
      max-width: calc(100% - 13px) !important;
   }
   
   /* Theme 3 Careers Page - Fix uneven padding on fancy boxes section and text */
   /* Target the main section wrapper - add even padding */
   #fws_67b776c633fda .row_col_wrap_12.col.span_12.dark.left,
   #fws_67b776c633fda .row_col_wrap_12.col.span_12,
   #fws_67b776c633fda .col.span_12.dark.left,
   #fws_67b776c633fda .col.span_12 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target the column container - reset padding */
   #fws_67b776c633fda .vc_col-sm-12.wpb_column,
   #fws_67b776c633fda .wpb_column.column_container {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target vc_column-inner and wpb_wrapper - reset padding */
   #fws_67b776c633fda .vc_column-inner,
   #fws_67b776c633fda .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target inner_row elements - reset padding */
   #fws_67b776c633fda .inner_row,
   #fws_67b776c633fda #fws_67b776c6341fc,
   #fws_67b776c633fda #fws_67b776c6345b1 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target row_col_wrap_12_inner - add even padding here */
   #fws_67b776c633fda .row_col_wrap_12_inner,
   #fws_67b776c633fda .row_col_wrap_12_inner.col.span_12 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target child columns (fancy boxes) - reset padding */
   #fws_67b776c633fda .child_column.vc_col-sm-4,
   #fws_67b776c633fda .vc_col-sm-4.child_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target text column - reset padding */
   #fws_67b776c633fda .wpb_text_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b776c633fda .wpb_text_column .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category-item inner doesn't add extra padding */
   .category-item .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category items don't overflow container */
   .categories-row .category-item {
      box-sizing: border-box !important;
   }
   
   /* Ensure parent wrapper has equal padding (none) */
   #fws_67b79e1c0b0f0 .wpb_wrapper,
   #fws_67b79e1c0b0f0 .vc_column-inner,
   /* Target theme 2 which doesn't have an ID - use parent container */
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .vc_column-inner:has(.categories-row),
   .full-width-section .wpb_wrapper .categories-row,
   .full-width-section .vc_column-inner .categories-row {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure the categories-row container itself is properly positioned */
   .full-width-section .wpb_wrapper,
   .full-width-section .vc_column-inner {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Specifically target the wrapper that contains categories-row in theme 2 */
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .wpb_wrapper .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Ensure vc_column_container doesn't add padding */
   .full-width-section .vc_column_container:has(.categories-row),
   .full-width-section .vc_column_container .vc_column-inner:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure vc_col-sm-12 doesn't add padding */
   .full-width-section .vc_col-sm-12:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure row wrapper doesn't add extra padding in theme 2 */
   .full-width-section .row_col_wrap_12:has(.categories-row),
   .full-width-section .col.span_12:has(.categories-row),
   /* Fallback for browsers without :has() - target by structure */
   .full-width-section .row_col_wrap_12 .categories-row,
   .full-width-section .col.span_12 .categories-row {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Additional theme 2 specific fixes - ensure vc_column_container doesn't add padding */
   .full-width-section .vc_col-sm-12:has(.categories-row),
   .full-width-section .wpb_column:has(.categories-row),
   .full-width-section .vc_column_container:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Fallback selectors for theme 2 */
   .full-width-section .vc_col-sm-12 .categories-row,
   .full-width-section .wpb_column .categories-row,
   .full-width-section .vc_column_container .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Theme 3 Opportunities Page - Center align button text on mobile, keep heading left-aligned */
   #fws_67b79e1c09e11 .nectar-button {
      text-align: center !important;
   }
   
   #fws_67b79e1c09e11 .nectar-button span {
      text-align: center !important;
      display: block !important;
   }
   
   #fws_67b79e1c09e11 .nectar-split-heading h1 {
      text-align: left !important;
   }
   
   /* Theme 3 Life Page - Center align button text on mobile, keep heading left-aligned */
   #fws_hero .nectar-button {
      text-align: center !important;
   }
   
   #fws_hero .nectar-button span {
      text-align: center !important;
      display: block !important;
   }
   
   #fws_hero .nectar-split-heading h1 {
      text-align: left !important;
   }
   
   /* Theme 3 Life Page - Add even horizontal padding to "What We Stand For" section */
   #fws_stand_for .row_col_wrap_12_inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_stand_for .child_column.vc_col-sm-7 {
      padding-left: 15px !important;
      padding-right: 15px !important;
   }
   
   #fws_stand_for .child_column.vc_col-sm-5 {
      padding-left: 15px !important;
      padding-right: 15px !important;
   }
   
   #fws_stand_for .child_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .vc_column-inner,
   #fws_stand_for .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .wpb_text_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 15px !important;
   }
   
   #fws_stand_for .wpb_text_column .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 15px !important;
   }
   
   #fws_stand_for .wpb_text_column h2,
   #fws_stand_for .wpb_text_column p {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .img-with-aniamtion-wrap {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Video Section - Fix uneven horizontal padding on all themes */
   /* Reset row wrapper padding */
   .full-width-section .row_col_wrap_12.col.span_12.light.left:has(.vc_col-sm-5 .nectar-split-heading),
   .full-width-section .row_col_wrap_12.col.span_12.light.left:has(.vc_col-sm-6 .nectar-split-heading),
   /* Fallback for browsers without :has() */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5 + .vc_col-sm-5,
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6 + .vc_col-sm-6 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Target video text column (second column) - add even padding */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5:has(.nectar-split-heading),
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6:has(.nectar-split-heading),
   /* Fallback - target second column */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5:nth-child(2),
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6:nth-child(2) {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   /* Reset inner padding on text column */
   .full-width-section .vc_col-sm-5:has(.nectar-split-heading) .vc_column-inner,
   .full-width-section .vc_col-sm-6:has(.nectar-split-heading) .vc_column-inner,
   .full-width-section .row_col_wrap_12 .vc_col-sm-5:nth-child(2) .vc_column-inner,
   .full-width-section .row_col_wrap_12 .vc_col-sm-6:nth-child(2) .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Theme 3 specific - has ID */
   #fws_67b776c63579b .row_col_wrap_12.col.span_12.light.left {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_67b776c63579b .vc_col-sm-6:nth-child(2) {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   #fws_67b776c63579b .vc_col-sm-6 .vc_column-inner,
   #fws_67b776c63579b .vc_col-sm-6 .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Fix navbar on small mobile - disable flexbox and position hamburger absolutely */
   #main-nav,
   .navbar,
   nav#main-nav {
      position: relative !important;
      padding: .5rem 0 !important;
   }
   
   #main-nav .container,
   .navbar .container,
   nav#main-nav .container {
      display: block !important;
      position: relative !important;
      padding-left: 0px !important;
      padding-right: 0px !important;
   }
   
   .navbar-toggler {
      position: absolute !important;
      right: 0px !important;
      top: .5rem !important;
      bottom: auto !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0.25rem 0rem !important;
      z-index: 1000 !important;
      margin-right: -10px !important;
   }
   
   .navbar-brand {
      position: relative !important;
      margin-right: auto !important;
      z-index: 1 !important;
   }
   
   .navbar-collapse {
      margin-top: 0 !important;
      padding-top: 0 !important;
   }
   
   /* Ensure benefit slider icons are consistently sized on mobile */
   .benefits-slider .iwt-icon,
   .swiper-slide .iwt-icon,
   .benefit-slider .iwt-icon {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      min-height: 80px !important;
      max-width: 80px !important;
      max-height: 80px !important;
      flex-shrink: 0 !important;
   }
   
   .benefits-slider .iwt-icon img,
   .swiper-slide .iwt-icon img,
   .benefit-slider .iwt-icon img,
   .benefits-slider .iwithtext .iwt-icon img,
   .swiper-slide .iwithtext .iwt-icon img {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      min-height: 80px !important;
      max-width: 80px !important;
      max-height: 80px !important;
      object-fit: contain !important;
   }
   
   /* Ensure career boxes stay stacked on small mobile */
   .vc_col-sm-4 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Ensure 2-column layouts stay stacked on small mobile */
   .vc_col-sm-6 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   .vc_col-sm-5 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Override any inline styles */
   [style*="flex: 0 0 40%"],
   [style*="flex: 0 0 60%"],
   [style*="max-width: 40%"],
   [style*="max-width: 60%"] {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Benefits categories: Stack image then slider on mobile */
   #fws_category_0 .row_col_wrap_12.d-flex,
   #fws_category_1 .row_col_wrap_12.d-flex,
   #fws_category_2 .row_col_wrap_12.d-flex,
   #fws_category_3 .row_col_wrap_12.d-flex,
   #fws_category_4 .row_col_wrap_12.d-flex,
   #fws_category_5 .row_col_wrap_12.d-flex,
   [id^="fws_category_"] .row_col_wrap_12.d-flex,
   .row_col_wrap_12.d-flex {
      flex-direction: column !important;
      display: flex !important;
   }
   
   /* Override template-specific CSS rules - force full width and stacking */
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_3 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_3 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_4 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_4 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_5 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_5 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 {
      flex: 0 0 100% !important;
      flex-basis: 100% !important;
      flex-grow: 0 !important;
      flex-shrink: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      float: none !important;
      clear: both !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      position: relative !important;
      margin-bottom: 0 !important;
   }
   
   /* Ensure columns have proper height and don't overlap */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .vc_column-inner,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .vc_column-inner {
      position: relative !important;
      min-height: 300px !important;
      overflow: hidden !important;
   }
   
   /* Ensure image columns have proper height */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      min-height: 300px !important;
   }
   
   /* Ensure vc_col-sm-40 (theme 2 even rows) has same height as vc_col-sm-2/5 (theme 2 odd rows) */
   /* Target all rows in theme 2 (when vc_col-sm-40 exists anywhere) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40,
   .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 {
      min-height: 400px !important;
   }
   
   /* Also target category 1 specifically when theme 2 is present (has vc_col-sm-40 in other categories) */
   /* Use sibling selector to detect theme 2 context */
   #fws_category_0:has(.vc_col-sm-40) ~ #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_0:has(.vc_col-sm-40) ~ #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      min-height: 400px !important;
   }
   
   /* Ensure vc_column-inner for both image column types in theme 2 have same height */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40 .vc_column-inner,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 .vc_column-inner {
      min-height: 400px !important;
   }
   
   /* Also target category 1 vc_column-inner when theme 2 is present */
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner {
      min-height: 400px !important;
   }
   
   /* Ensure column-image-bg-wrap fills the full height in theme 2 */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40 .column-image-bg-wrap,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 .column-image-bg-wrap {
      min-height: 400px !important;
      height: 100% !important;
   }
   
   /* Also target category 1 column-image-bg-wrap when theme 2 is present */
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap {
      min-height: 400px !important;
      height: 100% !important;
   }
   
   /* Ensure image background doesn't cause overlap */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .column-image-bg-wrap,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .column-image-bg-wrap {
      position: absolute !important;
      height: 100% !important;
      width: 100% !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 1 !important;
   }
   
   /* Order image columns first (vc_col-sm-2/5 with image background) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5:has(.column-image-bg),
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5:has(.column-image-bg) {
      order: 1 !important;
   }
   
   /* Order slider columns second (vc_col-sm-3/5 with slider) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.benefits-slider),
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.slider-wrapper),
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.benefits-slider),
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.slider-wrapper) {
      order: 2 !important;
   }
   
   /* Fallback for browsers without :has() support - apply order to parent columns */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      order: 1 !important;
   }
   
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 {
      order: 2 !important;
   }
   
   /* Fix overlap: Add spacing to first and last categories (0 and 2) only - THEME 2 ONLY */
   /* Theme 2 uses vc_col-sm-40, so we target only when that class is present */
   /* Add margin-bottom to image columns to create space before slider */
   #fws_category_0 .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   #fws_category_2 .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-40,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-40 {
      margin-bottom: 20px !important;
   }
   
   /* Remove margin-top - columns are now same height, no extra spacing needed */
   
   /* Ensure category titles are visible above image backgrounds */
   [id^="fws_category_"] .custom-highlight,
   [id^="fws_category_"] .custom-highlight h2,
   [id^="fws_category_"] .category-title-wrapper,
   [id^="fws_category_"] .category-title-button {
      position: relative !important;
      z-index: 10 !important;
   }
   
   /* Fix uneven horizontal padding for theme 1 category titles (nested vc_col-sm-2/5 structure) */
   /* Theme 1 has nested vc_col-sm-2/5 inside another vc_col-sm-2/5 for the title */
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_col-sm-2\/5 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_col-sm-2\/5 .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   [id^="fws_category_"] .category-title-wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      text-align: center !important;
   }
   
   [id^="fws_category_"] .category-title-button {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      display: inline-block !important;
   }
   
   /* Ensure wpb_wrapper with title is above background layers */
   [id^="fws_category_"] .vc_col-sm-2\/5 .wpb_wrapper,
   [id^="fws_category_"] .vc_col-sm-40 .wpb_wrapper {
      position: relative !important;
      z-index: 10 !important;
   }
   
   /* Ensure vc_column-inner with title is above overlay */
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_column-inner,
   [id^="fws_category_"] .vc_col-sm-40 .vc_column-inner {
      position: relative !important;
      z-index: 5 !important;
   }
   
   /* Ensure overlay doesn't cover titles - set lower z-index */
   [id^="fws_category_"] .column-bg-overlay-wrap,
   [id^="fws_category_"] .column-overlay-layer {
      z-index: 2 !important;
   }
   
   .nectar-fancy-box {
      min-height: 200px !important;
   }
   
   /* Always show fancy box highlight on small mobile (bottom white bar) */
   .nectar-fancy-box:after {
      transform: scaleX(1) translateZ(0) !important;
      -webkit-transform: scaleX(1) translateZ(0) !important;
   }
   
   /* Always show gradient overlay on hover_desc style fancy boxes */
   .nectar-fancy-box[data-style="hover_desc"] .box-bg:after {
      opacity: 1 !important;
   }
   
   /* Improve fancy box hover on small mobile */
   .nectar-fancy-box[data-style="hover_desc"] .hover-content {
      opacity: 1 !important;
      transform: translateY(0) !important;
      position: relative !important;
      margin-top: 15px !important;
      margin-bottom: 0 !important;
      display: block !important;
   }
   
   .nectar-fancy-box[data-style="hover_desc"] .heading-wrap {
      transform: translateY(0) !important;
      margin-bottom: 10px !important;
      position: relative !important;
   }
   
   .nectar-fancy-box[data-style="hover_desc"] {
      cursor: pointer !important;
   }
   
   .nectar-fancy-box[data-style="hover_desc"]:active {
      transform: scale(0.98) !important;
      transition: transform 0.1s ease !important;
   }

   .wpb_video_wrapper {
      padding-top: 45% !important;
   }

   body .vc_row.vc_row-flex.vc_row-o-equal-height > .span_12, body .vc_row.vc_row-flex.vc_row-o-equal-height>.span_12>.vc_column_container>.vc_column-inner, body .vc_row.vc_row-flex.vc_row-o-equal-height>.span_12>.vc_column_container {
      margin-left: 0.2px !important;
   }
   
   .wpb_video_wrapper iframe {
      height: 150px !important;
   }
   
   /* Add more top padding to hero sections on small mobile (but not header navigation) */
   .wpb_row.first-section:not(header .wpb_row),
   .wpb_row.parallax_section.first-section:not(header .wpb_row) {
      padding-top: calc(100vw * 0.30) !important;
   }
   
   /* Specific targeting for hero sections with IDs (but not header navigation) */
   #fws_67b776c63086f:not(header #fws_67b776c63086f),
   #hero-section:not(header #hero-section) {
      padding-top: calc(100vw * 0.30) !important;
   }
   
   /* Ensure header navigation is not affected by our padding changes */
   header .wpb_row,
   header .wpb_row.first-section,
   header .wpb_row.parallax_section.first-section,
   .navbar .wpb_row,
   .navbar .wpb_row.first-section,
   .navbar .wpb_row.parallax_section.first-section {
      padding-top: 0 !important;
   }
}

/* Extra small devices (320px and below) */
@media (max-width: 320px) {
   h1 {
      font-size: 1.2rem !important;
   }
   
   h2 {
      font-size: 1.1rem !important;
   }
   
   h3 {
      font-size: 1rem !important;
   }
   
   .container-wrap {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   .container.main-content {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   .wpb_row {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   .vc_column-inner {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   .wpb_wrapper {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   .nectar-split-heading {
      padding: 0 3px !important;
      margin-left: 13px !important;
   }
   
   /* Fix uneven horizontal padding in CTA section on theme 2 pages */
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12.light.center,
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12.light,
   #fws_67b79e1c0d0cd .row_col_wrap_12.col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0d0cd .vc_col-sm-12.wpb_column,
   #fws_67b79e1c0d0cd .vc_column_container {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0d0cd .vc_column-inner,
   #fws_67b79e1c0d0cd .wpb_wrapper {
      padding-left: 3px !important;
      padding-right: 3px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Reset nectar-split-heading margin in CTA section */
   #fws_67b79e1c0d0cd .nectar-split-heading {
      margin-left: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Target opportunities page CTA section (doesn't have ID) */
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .row_col_wrap_12.col.span_12.light.center,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .row_col_wrap_12.col.span_12.light.center {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .vc_col-sm-12.wpb_column,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .vc_col-sm-12.wpb_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .vc_column-inner,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .vc_column-inner,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .wpb_wrapper,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .wpb_wrapper {
      padding-left: 3px !important;
      padding-right: 3px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h2) .nectar-split-heading,
   .full-width-section:has(.row_col_wrap_12.col.span_12.light.center .nectar-split-heading h4) .nectar-split-heading {
      margin-left: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }

   .nectar-hor-list-item[data-columns="3"] > .nectar-list-item:nth-child(1) {
      width: 50% !important;
    }

    .nectar-hor-list-item[data-columns="3"] > .nectar-list-item:nth-child(2) {
      width: 30% !important;
    }


   .divider-wrap {
      height: 250px !important;
   }
   
   body .vc_row.vc_row-flex.vc_row-o-equal-height > .span_12, body .vc_row.vc_row-flex.vc_row-o-equal-height>.span_12>.vc_column_container>.vc_column-inner, body .vc_row.vc_row-flex.vc_row-o-equal-height>.span_12>.vc_column_container {
      margin-left: 0.2px !important;
   }
   
   .wpb_text_column {
      padding: 0 3px !important;
   }
   
   .wrapper-footer .container {
      padding-left: 8px !important;
      padding-right: 8px !important;
   }
   
   .wrapper-footer .col-lg-4,
   .wrapper-footer .col-md-6 {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   /* Ensure career boxes stay stacked on extra small screens */
   .vc_col-sm-4 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Ensure 2-column layouts stay stacked on extra small screens */
   .vc_col-sm-6 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   .vc_col-sm-5 {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Override any inline styles */
   [style*="flex: 0 0 40%"],
   [style*="flex: 0 0 60%"],
   [style*="max-width: 40%"],
   [style*="max-width: 60%"] {
      width: 100% !important;
      flex: 0 0 100% !important;
      max-width: 100% !important;
   }
   
   /* Benefits categories: Stack image then slider on mobile */
   #fws_category_0 .row_col_wrap_12.d-flex,
   #fws_category_1 .row_col_wrap_12.d-flex,
   #fws_category_2 .row_col_wrap_12.d-flex,
   #fws_category_3 .row_col_wrap_12.d-flex,
   #fws_category_4 .row_col_wrap_12.d-flex,
   #fws_category_5 .row_col_wrap_12.d-flex,
   [id^="fws_category_"] .row_col_wrap_12.d-flex,
   .row_col_wrap_12.d-flex {
      flex-direction: column !important;
      display: flex !important;
   }
   
   /* Override template-specific CSS rules - force full width and stacking */
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_3 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_3 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_4 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_4 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   #fws_category_5 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_5 .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 {
      flex: 0 0 100% !important;
      flex-basis: 100% !important;
      flex-grow: 0 !important;
      flex-shrink: 0 !important;
      max-width: 100% !important;
      width: 100% !important;
      min-width: 0 !important;
      float: none !important;
      clear: both !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      position: relative !important;
      margin-bottom: 0 !important;
   }
   
   /* Ensure columns have proper height and don't overlap */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .vc_column-inner,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .vc_column-inner {
      position: relative !important;
      min-height: 300px !important;
      overflow: hidden !important;
   }
   
   /* Ensure image columns have proper height and spacing */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      min-height: 300px !important;
   }
   
   /* Ensure vc_col-sm-40 (theme 2 even rows) has same height as vc_col-sm-2/5 (theme 2 odd rows) */
   /* Target all rows in theme 2 (when vc_col-sm-40 exists anywhere) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40,
   .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 {
      min-height: 400px !important;
   }
   
   /* Also target category 1 specifically when theme 2 is present (has vc_col-sm-40 in other categories) */
   /* Use sibling selector to detect theme 2 context */
   #fws_category_0:has(.vc_col-sm-40) ~ #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   #fws_category_0:has(.vc_col-sm-40) ~ #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      min-height: 400px !important;
   }
   
   /* Ensure vc_column-inner for both image column types in theme 2 have same height */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40 .vc_column-inner,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 .vc_column-inner {
      min-height: 400px !important;
   }
   
   /* Also target category 1 vc_column-inner when theme 2 is present */
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .vc_column-inner {
      min-height: 400px !important;
   }
   
   /* Ensure column-image-bg-wrap fills the full height in theme 2 */
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-40 .column-image-bg-wrap,
   [id^="fws_category_"] .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5 .column-image-bg-wrap {
      min-height: 400px !important;
      height: 100% !important;
   }
   
   /* Also target category 1 column-image-bg-wrap when theme 2 is present */
   body:has(#fws_category_0 .vc_col-sm-40) #fws_category_1 .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap {
      min-height: 400px !important;
      height: 100% !important;
   }
   
   /* Ensure image background doesn't cause overlap */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap,
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .column-image-bg-wrap,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 .column-image-bg-wrap,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 .column-image-bg-wrap {
      position: absolute !important;
      height: 100% !important;
      width: 100% !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 1 !important;
   }
   
   /* Order image columns first (vc_col-sm-2/5 with image background) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5:has(.column-image-bg),
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5:has(.column-image-bg) {
      order: 1 !important;
   }
   
   /* Order slider columns second (vc_col-sm-3/5 with slider) */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.benefits-slider),
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.slider-wrapper),
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.benefits-slider),
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5:has(.slider-wrapper) {
      order: 2 !important;
   }
   
   /* Fallback for browsers without :has() support - apply order to parent columns */
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-2\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-2\/5 {
      order: 1 !important;
   }
   
   [id^="fws_category_"] .row_col_wrap_12.d-flex > .vc_col-sm-3\/5,
   .row_col_wrap_12.d-flex > .vc_col-sm-3\/5 {
      order: 2 !important;
   }
   
   /* Fix overlap: Add spacing to first and last categories (0 and 2) only - THEME 2 ONLY */
   /* Theme 2 uses vc_col-sm-40, so we target only when that class is present */
   /* Add margin-bottom to image columns to create space before slider */
   #fws_category_0 .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   #fws_category_2 .row_col_wrap_12.d-flex:has(.vc_col-sm-40) > .vc_col-sm-2\/5,
   #fws_category_0 .row_col_wrap_12.d-flex > .vc_col-sm-40,
   #fws_category_2 .row_col_wrap_12.d-flex > .vc_col-sm-40 {
      margin-bottom: 20px !important;
   }
   
   /* Remove margin-top - columns are now same height, no extra spacing needed */
   
   /* Ensure category titles are visible above image backgrounds */
   [id^="fws_category_"] .custom-highlight,
   [id^="fws_category_"] .custom-highlight h2,
   [id^="fws_category_"] .category-title-wrapper,
   [id^="fws_category_"] .category-title-button {
      position: relative !important;
      z-index: 10 !important;
   }
   
   /* Fix uneven horizontal padding for theme 1 category titles (nested vc_col-sm-2/5 structure) */
   /* Theme 1 has nested vc_col-sm-2/5 inside another vc_col-sm-2/5 for the title */
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_col-sm-2\/5 {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_col-sm-2\/5 .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   [id^="fws_category_"] .category-title-wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      text-align: center !important;
   }
   
   [id^="fws_category_"] .category-title-button {
      padding-left: 5px !important;
      padding-right: 5px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      display: inline-block !important;
   }
   
   /* Ensure wpb_wrapper with title is above background layers */
   [id^="fws_category_"] .vc_col-sm-2\/5 .wpb_wrapper,
   [id^="fws_category_"] .vc_col-sm-40 .wpb_wrapper {
      position: relative !important;
      z-index: 10 !important;
   }
   
   /* Ensure vc_column-inner with title is above overlay */
   [id^="fws_category_"] .vc_col-sm-2\/5 .vc_column-inner,
   [id^="fws_category_"] .vc_col-sm-40 .vc_column-inner {
      position: relative !important;
      z-index: 5 !important;
   }
   
   /* Ensure overlay doesn't cover titles - set lower z-index */
   [id^="fws_category_"] .column-bg-overlay-wrap,
   [id^="fws_category_"] .column-overlay-layer {
      z-index: 2 !important;
   }
   
   .job-openings {
      padding: 0 3px !important;
   }
   
   .dycom-job-search-form {
      padding: 0 3px !important;
   }
   
   /* Job Categories Section - Ensure even spacing on extra small mobile */
   /* Aggressively reset ALL parent containers to zero padding/margin */
   .full-width-section .row_col_wrap_12.col.span_12.light.left,
   .full-width-section .row_col_wrap_12.col.span_12.light,
   .full-width-section .row_col_wrap_12.col.span_12,
   .full-width-section .col.span_12.light.left,
   .full-width-section .col.span_12.light,
   .full-width-section .col.span_12 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .vc_col-sm-12.wpb_column,
   .full-width-section .vc_col-sm-12,
   .full-width-section .wpb_column.no-extra-padding,
   .full-width-section .wpb_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .vc_column_container,
   .full-width-section .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0b0f0 .categories-row,
   .row.categories-row,
   .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
      overflow: visible !important;
      position: relative !important;
   }
   
   /* Force equal spacing by ensuring the row takes full width */
   .full-width-section .wpb_wrapper .categories-row {
      width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category items respect the container padding */
   .categories-row .category-item {
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
   }
   
   /* Override any Bootstrap row negative margins */
   .row.categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b79e1c0b0f0 .category-item,
   .category-item {
      padding: 10px !important;
      margin-left: 3px !important;
      margin-right: 3px !important;
      margin-bottom: 20px !important;
      width: calc(100% - 6px) !important;
      flex: 0 0 calc(100% - 6px) !important;
      max-width: calc(100% - 6px) !important;
      box-sizing: border-box !important;
   }
   
   /* Theme 2 specific fix - ensure right margin/padding for category items */
   .full-width-section:not(#fws_67b79e1c0b0f0) .category-item {
      margin-right: 0 !important;
      padding-right: 3px !important;
   }
   
   /* Ensure theme 2 category items have proper width accounting for margins */
   .full-width-section:not(#fws_67b79e1c0b0f0) .categories-row .category-item {
      width: calc(100% - 6px) !important;
      flex: 0 0 calc(100% - 6px) !important;
      max-width: calc(100% - 8px) !important;
   }
   
   /* Ensure category-item inner doesn't add extra padding */
   .category-item .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure category items don't overflow container */
   .categories-row .category-item {
      box-sizing: border-box !important;
   }
   
   /* Theme 3 Careers Page - Fix uneven padding on fancy boxes section and text */
   /* Target the main section wrapper - add even padding */
   #fws_67b776c633fda .row_col_wrap_12.col.span_12.dark.left,
   #fws_67b776c633fda .row_col_wrap_12.col.span_12,
   #fws_67b776c633fda .col.span_12.dark.left,
   #fws_67b776c633fda .col.span_12 {
      padding-left: 3px !important;
      padding-right: 3px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target the column container - reset padding */
   #fws_67b776c633fda .vc_col-sm-12.wpb_column,
   #fws_67b776c633fda .wpb_column.column_container {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target vc_column-inner and wpb_wrapper - reset padding */
   #fws_67b776c633fda .vc_column-inner,
   #fws_67b776c633fda .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target inner_row elements - reset padding */
   #fws_67b776c633fda .inner_row,
   #fws_67b776c633fda #fws_67b776c6341fc,
   #fws_67b776c633fda #fws_67b776c6345b1 {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target row_col_wrap_12_inner - add even padding here */
   #fws_67b776c633fda .row_col_wrap_12_inner,
   #fws_67b776c633fda .row_col_wrap_12_inner.col.span_12 {
      padding-left: 3px !important;
      padding-right: 3px !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target child columns (fancy boxes) - reset padding */
   #fws_67b776c633fda .child_column.vc_col-sm-4,
   #fws_67b776c633fda .vc_col-sm-4.child_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Target text column - reset padding */
   #fws_67b776c633fda .wpb_text_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_67b776c633fda .wpb_text_column .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure parent wrapper has equal padding (none) */
   #fws_67b79e1c0b0f0 .wpb_wrapper,
   #fws_67b79e1c0b0f0 .vc_column-inner,
   /* Target theme 2 which doesn't have an ID - use parent container */
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .vc_column-inner:has(.categories-row),
   .full-width-section .wpb_wrapper .categories-row,
   .full-width-section .vc_column-inner .categories-row {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure the categories-row container itself is properly positioned */
   .full-width-section .wpb_wrapper,
   .full-width-section .vc_column-inner {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Specifically target the wrapper that contains categories-row in theme 2 */
   .full-width-section .wpb_wrapper:has(.categories-row),
   .full-width-section .wpb_wrapper .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Ensure vc_column_container doesn't add padding */
   .full-width-section .vc_column_container:has(.categories-row),
   .full-width-section .vc_column_container .vc_column-inner:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure vc_col-sm-12 doesn't add padding */
   .full-width-section .vc_col-sm-12:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure row wrapper doesn't add extra padding in theme 2 */
   .full-width-section .row_col_wrap_12:has(.categories-row),
   .full-width-section .col.span_12:has(.categories-row),
   /* Fallback for browsers without :has() - target by structure */
   .full-width-section .row_col_wrap_12 .categories-row,
   .full-width-section .col.span_12 .categories-row {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Additional theme 2 specific fixes - ensure vc_column_container doesn't add padding */
   .full-width-section .vc_col-sm-12:has(.categories-row),
   .full-width-section .wpb_column:has(.categories-row),
   .full-width-section .vc_column_container:has(.categories-row) {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Fallback selectors for theme 2 */
   .full-width-section .vc_col-sm-12 .categories-row,
   .full-width-section .wpb_column .categories-row,
   .full-width-section .vc_column_container .categories-row {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   /* Fix navbar on extra small screens - disable flexbox and position hamburger absolutely */
   #main-nav,
   .navbar,
   nav#main-nav {
      position: relative !important;
      padding: .5rem 0 !important;
   }
   
   #main-nav .container,
   .navbar .container,
   nav#main-nav .container {
      display: block !important;
      position: relative !important;
      padding-left: 0px !important;
      padding-right: 0px !important;
   }
   
   .navbar-toggler {
      position: absolute !important;
      right: 0px !important;
      top: .5rem !important;
      bottom: auto !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0.25rem 0rem !important;
      z-index: 1000 !important;
      margin-right: -10px !important;
   }
   
   .navbar-brand {
      position: relative !important;
      margin-right: auto !important;
      z-index: 1 !important;
   }
   
   .navbar-collapse {
      margin-top: 0 !important;
      padding-top: 0 !important;
   }
   
   /* Ensure benefit slider icons are consistently sized on mobile */
   .benefits-slider .iwt-icon,
   .swiper-slide .iwt-icon,
   .benefit-slider .iwt-icon {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      min-height: 80px !important;
      max-width: 80px !important;
      max-height: 80px !important;
      flex-shrink: 0 !important;
   }
   
   .benefits-slider .iwt-icon img,
   .swiper-slide .iwt-icon img,
   .benefit-slider .iwt-icon img,
   .benefits-slider .iwithtext .iwt-icon img,
   .swiper-slide .iwithtext .iwt-icon img {
      width: 80px !important;
      height: 80px !important;
      min-width: 80px !important;
      min-height: 80px !important;
      max-width: 80px !important;
      max-height: 80px !important;
      object-fit: contain !important;
   }
   
   /* Add more top padding to hero sections on extra small screens (but not header navigation) */
   .wpb_row.first-section:not(header .wpb_row),
   .wpb_row.parallax_section.first-section:not(header .wpb_row) {
      padding-top: calc(100vw * 0.35) !important;
   }
   
   /* Specific targeting for hero sections with IDs (but not header navigation) */
   #fws_67b776c63086f:not(header #fws_67b776c63086f),
   #hero-section:not(header #hero-section) {
      padding-top: calc(100vw * 0.35) !important;
   }
   
   /* Theme 3 Opportunities Page - Center align button text on mobile, keep heading left-aligned */
   #fws_67b79e1c09e11 .nectar-button {
      text-align: center !important;
   }
   
   #fws_67b79e1c09e11 .nectar-button span {
      text-align: center !important;
      display: block !important;
   }
   
   #fws_67b79e1c09e11 .nectar-split-heading h1 {
      text-align: left !important;
   }
   
   /* Theme 3 Life Page - Center align button text on mobile, keep heading left-aligned */
   #fws_hero .nectar-button {
      text-align: center !important;
   }
   
   #fws_hero .nectar-button span {
      text-align: center !important;
      display: block !important;
   }
   
   #fws_hero .nectar-split-heading h1 {
      text-align: left !important;
   }
   
   /* Theme 3 Life Page - Add even horizontal padding to "What We Stand For" section */
   #fws_stand_for .row_col_wrap_12_inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
   
   #fws_stand_for .child_column.vc_col-sm-7 {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   #fws_stand_for .child_column.vc_col-sm-5 {
      padding-left: 5px !important;
      padding-right: 5px !important;
   }
   
   #fws_stand_for .child_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .vc_column-inner,
   #fws_stand_for .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .wpb_text_column {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 10px !important;
   }
   
   #fws_stand_for .wpb_text_column .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 10px !important;
   }
   
   #fws_stand_for .wpb_text_column h2,
   #fws_stand_for .wpb_text_column p {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_stand_for .img-with-aniamtion-wrap {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Video Section - Fix uneven horizontal padding on all themes */
   /* Reset row wrapper padding */
   .full-width-section .row_col_wrap_12.col.span_12.light.left:has(.vc_col-sm-5 .nectar-split-heading),
   .full-width-section .row_col_wrap_12.col.span_12.light.left:has(.vc_col-sm-6 .nectar-split-heading),
   /* Fallback for browsers without :has() */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5 + .vc_col-sm-5,
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6 + .vc_col-sm-6 {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Target video text column (second column) - add even padding */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5:has(.nectar-split-heading),
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6:has(.nectar-split-heading),
   /* Fallback - target second column */
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-5:nth-child(2),
   .full-width-section .row_col_wrap_12.col.span_12.light.left .vc_col-sm-6:nth-child(2) {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   /* Reset inner padding on text column */
   .full-width-section .vc_col-sm-5:has(.nectar-split-heading) .vc_column-inner,
   .full-width-section .vc_col-sm-6:has(.nectar-split-heading) .vc_column-inner,
   .full-width-section .row_col_wrap_12 .vc_col-sm-5:nth-child(2) .vc_column-inner,
   .full-width-section .row_col_wrap_12 .vc_col-sm-6:nth-child(2) .vc_column-inner {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Theme 3 specific - has ID */
   #fws_67b776c63579b .row_col_wrap_12.col.span_12.light.left {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   #fws_67b776c63579b .vc_col-sm-6:nth-child(2) {
      padding-left: 3px !important;
      padding-right: 3px !important;
   }
   
   #fws_67b776c63579b .vc_col-sm-6 .vc_column-inner,
   #fws_67b776c63579b .vc_col-sm-6 .wpb_wrapper {
      padding-left: 0 !important;
      padding-right: 0 !important;
   }
   
   /* Ensure header navigation is not affected by our padding changes */
   header .wpb_row,
   header .wpb_row.first-section,
   header .wpb_row.parallax_section.first-section,
   .navbar .wpb_row,
   .navbar .wpb_row.first-section,
   .navbar .wpb_row.parallax_section.first-section {
      padding-top: 0 !important;
   }
}