.elementor-kit-6{--e-global-color-fa4376f:#FFFFFF;--e-global-color-4561e55:#505825;--e-global-color-c2882c8:#3C411C;--e-global-color-5f4cf07:#737851;--e-global-color-e97bb9e:#969A7C;--e-global-color-4734ee9:#B9BBA8;--e-global-color-648d29e:#292825;--e-global-color-f0640ae:#535351;--e-global-color-adaeccb:#7E7E7C;--e-global-color-72defd5:#A9A9A8;--e-global-color-3e76f6f:#D4D4D3;--e-global-color-6be29d5:#A5ACAF;--e-global-color-887f60f:#8A9193;--e-global-color-c852818:#B7BDBF;--e-global-color-515c96d:#C9CDCF;--e-global-color-7a63f4d:#DBDEDF;--e-global-color-2fb6412:#887661;--e-global-color-f104ee3:#665949;--e-global-color-945ccb5:#A09181;--e-global-color-b35d476:#BBADA0;--e-global-color-a581152:#CFC8C0;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:800;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:500;font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#FFFFFF;font-family:"Inter", Sans-serif;font-size:20px;font-weight:500;color:var( --e-global-color-648d29e );border-radius:10px 10px 10px 10px;padding:20px 15px 20px 15px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{font-family:"Inter", Sans-serif;font-size:20px;font-weight:600;}.elementor-kit-6 h1{font-size:48px;font-weight:700;}.elementor-kit-6 h2{font-size:45px;font-weight:700;}.elementor-kit-6 h3{font-size:45px;font-weight:700;}.elementor-kit-6 h4{font-family:"Inter", Sans-serif;font-size:18px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1700px;}.e-con{--container-max-width:1700px;--container-default-padding-top:40px;--container-default-padding-right:40px;--container-default-padding-bottom:40px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{--lightbox-header-icons-size:25px;--lightbox-navigation-icons-size:25px;}@media(max-width:1060px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:35px;--e-global-typography-text-font-size:18px;--e-global-typography-accent-font-size:18px;font-size:19px;}.elementor-kit-6 a{font-size:18px;}.elementor-kit-6 h1{font-size:38px;}.elementor-kit-6 h2{font-size:35px;}.elementor-kit-6 h3{font-size:35px;}.elementor-kit-6 h4{font-size:16px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*--------------------------------------------------*/
/*----- Global -----*/
/*----- General -----*/
.custom-btn-link:hover p, .custom-btn-link:hover h2, .custom-btn-link:hover .elementor-icon {
    color: white !important;
    transition: color 0.3s ease;
}

.custom-btn-link:hover .elementor-icon svg{
    fill: white !important;
    transition: color 0.3s ease;
}

.limit-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#mobile-menu .sub-menu .menu-item a {
    font-size: 18px;
}

/*----- Scroll to top icon -----*/
.top-scroll-icon {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}
.top-scroll-icon.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/*----- Menu Hover styling -----*/
.e-n-menu-item .e-n-menu-title:has(.e-n-menu-dropdown-icon):hover {
    background-color: #292825;
}

.e-n-menu-item .e-n-menu-title:has(.e-n-menu-dropdown-icon[aria-expanded="true"]) {
    background-color: #292825;
}
.e-n-menu-item:hover {
    border-radius: 10px;
}

.e-n-menu-title-text,
.main-sub-menu .elementor-item {
  text-decoration: underline solid 1px;
  text-decoration-color: transparent;
  text-underline-offset: 8px;
  transition: text-decoration-color .2s ease;
}

.e-n-menu-item > .e-n-menu-title:hover .e-n-menu-title-text {
  text-decoration-color: currentColor;
}

.e-n-menu-item.is-current > .e-n-menu-title .e-n-menu-title-text {
  text-decoration-color: currentColor;
}

.main-sub-menu .menu-item:hover > .elementor-item,
.main-sub-menu .elementor-item.elementor-item-active {
  text-decoration-color: currentColor;
}

/*----- Left and Right image clamping - general -----*/
.edge-bleed {
  position: relative !important;
  overflow: hidden !important;
  --img-w: 1480px;
  --img-x: 40px;   
}
.edge-bleed-img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: var(--img-w);
  transform: translate(var(--img-x), -50%);
  max-width: none;
  z-index: 0;
}

.edge-bleed-left .edge-bleed-img {
  left: auto !important;
  right: 50% !important;
  transform: translate(calc(var(--img-x) * -1), -50%);
}

@media (min-width: 2400px) {
  .edge-bleed { --img-w: 1000px; }
}

/*----- Left and Right image clamping - specific -----*/
.edge-bleed-specific {
  position: relative !important;
  overflow: hidden !important;
  --img-w: calc(50% - var(--img-x));
  --img-x: 40px;
}

.edge-bleed-specific-img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: var(--img-w);
  transform: translate(var(--img-x), -50%);
  max-width: none;
  z-index: 0;
}

.edge-bleed-specific-left .edge-bleed-specific-img {
  left: auto !important;
  right: 50% !important;
  transform: translate(calc(var(--img-x) * -1), -50%);
}

@media (min-width: 2400px) {
  .edge-bleed-specific { --img-w: 1000px; }
}

/*----- Popup settings -----*/
.dialog-lightbox-message {
  scrollbar-width: thin;
  scrollbar-color: white transparent;
}

.dialog-lightbox-message::-webkit-scrollbar-track {
  background: transparent;
}

.dialog-lightbox-message::-webkit-scrollbar-thumb {
  background: white;
}

.dialog-lightbox-close-button {
    padding: 5px;
    border-radius: 50%;
}

.dialog-lightbox-close-button:hover svg{
    fill: #292825 !important;
    transition: fill 0.3s ease;
}

/*----- Lightbox settings -----*/
html:has(.elementor-lightbox:not([style*="display: none"])) {
  overflow: hidden !important;
}

.elementor-lightbox .swiper-zoom-container img,
.elementor-lightbox .elementor-lightbox-image {
    width: 50vw;
    height: 50vh;
    object-fit: cover;
    margin: auto;
}

@media (min-width: 2560px) {
    .elementor-lightbox .swiper-zoom-container img,
    .elementor-lightbox .elementor-lightbox-image {
        width: 50vw;
        height: 70vh;
        object-fit: cover;
        margin: auto;
    }
}

@media (max-width: 767px) {
    .elementor-lightbox .swiper-zoom-container img,
    .elementor-lightbox .elementor-lightbox-image {
        width: auto !important;
        height: auto !important;
        max-width: 85vw !important;
        max-height: 85vw !important;
        object-fit: contain !important;
        margin: auto;
    }
}

/*----- normal button -----*/
.underline-btn .elementor-button-content-wrapper {
    text-decoration: underline transparent 1px;
    transition: all 0.3s ease;
}

.btn-hover:hover .elementor-button-content-wrapper {
    text-decoration: underline solid 1px;
    text-underline-offset: 8px;
}

.btn-hover:hover .elementor-button-content-wrapper .elementor-button-icon {
    transform: translateX(0px);
    transition: all 0.3s ease;
}

.btn-hover:hover .elementor-button-content-wrapper .elementor-button-icon {
    transform: translateX(2px);
}

/*----- Underline button -----*/
.underline-btn .elementor-button-content-wrapper {
    text-decoration: underline solid 1px;
    text-underline-offset: 8px;
    transition: all 0.3s ease;
}

.block-hover:hover .elementor-button-content-wrapper {
    text-decoration: underline solid transparent 1px;
    transform: translateX(10px);
}

/*----- Reverse Underline button -----*/
.reverse-underline-btn .elementor-button-content-wrapper {
    text-decoration: underline solid transparent 1px;
    text-underline-offset: 8px;
    transition: all 0.3s ease;
}

.reverse-underline-btn:hover .elementor-button-content-wrapper {
    text-decoration: underline solid 1px;
    text-underline-offset: 8px;
}

.reverse-underline-btn .elementor-button-content-wrapper .elementor-button-icon {
    transform: translateX(0px);
    transition: all 0.3s ease;
}

.reverse-underline-btn:hover .elementor-button-content-wrapper .elementor-button-icon {
    transform: translateX(-2px);
}

/*----- Carousel Bullets - White -----*/
.swiper-pagination-bullet {
    background-color: transparent !important;
    opacity: 1;
    border: solid white 1px !important;
}

.swiper-pagination-bullet:hover {
    background-color: white !important;
}

.swiper-pagination-bullet-active {
    background-color: white !important;
}

/*----- Carousel Bullets - Black -----*/
.black-carousel .swiper-pagination-bullet {
    background-color: transparent !important;
    opacity: 1;
    border: solid black 1px !important;
}

.black-carousel .swiper-pagination-bullet:hover {
    background-color: black !important;
}

.black-carousel .swiper-pagination-bullet-active {
    background-color: black !important;
}

/*----- Case study blocks hovering -----*/
.loop-medical-container:hover .loop-heading h3 {
    color: #A5ACAF !important;
    transition: all 0.3s ease;
}

.loop-medical-container:hover .loop-heading {
    background-color: #292825 !important;
    transition: all 0.3s ease;
}

.loop-mining-container:hover .loop-heading h3 {
    color: #292825 !important;
    transition: all 0.3s ease;
}

.loop-mining-container:hover .loop-heading {
    background-color: #FFFFFF !important;
    transition: all 0.3s ease;
}

.loop-military-container:hover .loop-heading h3 {
    color: #505625 !important;
    transition: all 0.3s ease;
}

.loop-military-container:hover .loop-heading {
    background-color: #FFFFFF !important;
    transition: all 0.3s ease;
}

/*----- Global Curves -----*/
.curve-both-large img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  -webkit-clip-path: url(#curve-both-large);
  clip-path: url(#curve-both-large);
}

.curve-both-small img{
  -webkit-clip-path: url(#curve-both-small);
  clip-path: url(#curve-both-small);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.curve-right img{
  -webkit-clip-path: url(#curve-right);
  clip-path: url(#curve-right);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.curve-left img{
  -webkit-clip-path: url(#curve-left);
  clip-path: url(#curve-left);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.curve-profile img{
  -webkit-clip-path: url(#curve-profile);
  clip-path: url(#curve-profile);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.curve-both-projects a{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  -webkit-clip-path: url(#curve-both-large);
  clip-path: url(#curve-both-large);
}

.curve-right-projects a{
  -webkit-clip-path: url(#curve-right);
  clip-path: url(#curve-right);
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.curve-both-large-no-img {
  -webkit-clip-path: url(#curve-both-large);
  clip-path: url(#curve-both-large);
}

.curve-both-small-no-img {
  -webkit-clip-path: url(#curve-both-small);
  clip-path: url(#curve-both-small);
  object-fit: cover;
}

.curve-right-no-img {
  -webkit-clip-path: url(#curve-right);
  clip-path: url(#curve-right);
  object-fit: cover;
}

.curve-left-no-img {
  -webkit-clip-path: url(#curve-left);
  clip-path: url(#curve-left);
  object-fit: cover;
}

.curve-right-specific {
  -webkit-clip-path: url(#curve-right-specific);
  clip-path: url(#curve-right-specific);
  object-fit: cover;
}

.curve-left-specific {
  -webkit-clip-path: url(#curve-left-specific);
  clip-path: url(#curve-left-specific);
  object-fit: cover;
}

.curve-bottom {
  -webkit-clip-path: url(#curve-bottom);
  clip-path: url(#curve-bottom);
  object-fit: cover;
}

.curve-top-bottom {
  -webkit-clip-path: url(#curve-top-bottom);
  clip-path: url(#curve-bottom);
  object-fit: cover;
}

/*--------------------------------------------------*/
/*----- Tent categories (Military grade, a-frame etc) -----*/
/*----- gallery format----*/
.e-gallery-container {
    row-gap: 60px !important;
}

.tent-gallery .elementor-gallery-item:first-child {
    grid-column: 1 / -1;
}

.e-gallery-image {
    -webkit-clip-path: url(#curve-both-small);
      clip-path: url(#curve-both-small);
}

.e-gallery-item:first-child .e-gallery-image {
    height: 440px;
}

.e-gallery-item:not(:first-child) .e-gallery-image {
    height: 125px;
}

.elementor-gallery-item__overlay {
    -webkit-clip-path: url(#curve-both-small);
      clip-path: url(#curve-both-small);
}


/*--------------------------------------------------*/
/*----- Services-----*/
/*----- Align button to bottom----*/
.align-btn-bottom {
    margin-top: auto;
}

/*----- Give green boxes set height----*/
.green-box {
    height: 230px;
}

@media (max-width: 1845px) {
  .all-products-layout {
      flex-direction: column !important;
      padding-top: 30px !important;
      padding-bottom: 30px !important;
  }
  
  .all-products-layout .elementor-icon-list-items {
      row-gap: 25px !important;
      justify-content: center !important;
  }
}

@media (max-width: 600px) {
  .product-icon-list .elementor-icon-list-items {
      flex-direction: column;
      align-items: center;
      row-gap: 30px !important;
  }
}

/*--------------------------------------------------*/
/*----- Proven Experience-----*/
/*----- Active filter button----*/
.solution-filter a.elementor-button.active {
  background: #505825 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/*--------------------------------------------------*/
/*----- Products -----*/
/*----- Hide and show products----*/
.pe-results { 
    display: none !important; 
}

body.pe-active .pe-results { 
    display: block !important; 
}

body.pe-active .pe-browse  { 
    display: none  !important; 
}

.e-filter-item[aria-pressed="true"] {
    font-weight: 700;
}

/*--------------------------------------------------*/
/*----- Category pages -----*/
.btn-container {
  align-items: stretch;
}

.btn-container .elementor-widget-button {
  display: flex;
  width: 100%;
  height: 100%;
}

.btn-container .elementor-button {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}

.btn-container .elementor-button-content-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.btn-container .elementor-button-icon {
  margin: 0;
  flex-shrink: 0;
}

@media (min-width: 1061px) and (max-width: 1300px) {
  .btn-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 1061px) and (max-width: 1200px) {
    .category-grid-blocks {
        width: 100% !important;
    }
}


/*--------------------------------------------------*/
/*----- Case Studies-----*/
.image-gallery .elementor-element a {
    width: 100%;
}

.case-study-blocks a {
    width: 100%;
}

/*--------------------------------------------------*/
/*----- Contact Form -----*/
#wpforms-81 {
    margin: 0;
}

#wpforms-81-field_7-container {
    display: none !important;
}

#wpforms-81 input {
    padding-left: 15px;
    padding-right: 15px;
}

#wpforms-81 textarea {
    padding: 20px 15px;
}

#wpforms-81 input, #wpforms-81 select {
    min-height: 49px;
}

.wpforms-required-label {
    color: #292825 !important;
}

.wpforms-field-label {
    font-weight: 600 !important;
}

#wpforms-81-field_6::placeholder {
    color: #292825 !important;
    opacity: 1;
}

#wpforms-81-field_6 {
    min-height: 140px;
}

#wpforms-submit-81 {
    padding: 20px 15px;
    min-height: 60px;
}

#wpforms-submit-81:hover {
    background: #505825;
    text-decoration: underline solid 1px;
    text-underline-offset: 8px;
}

/*--------------------------------------------------*/
/*----- About Us -----*/
.grey-box {
    max-width: 1270px !important;
}

/*----- About Us Profiles -----*/
.profile:hover .popup-expand-icon path {
    fill: #505825;
    transition: fill 0.3s ease;
}

.why-bushtec-boxes {
    max-width: 500px !important;
}

@media (min-width: 1061px) and (max-width: 1700px) {
  .about-container-size {
      width: 90% !important;
  }
}


/*--------------------------------------------------*/
/*----- Mobile Menu -----*/
#mobile-menu .sub-menu .menu-item {
    padding-left: 20px;
}

#mobile-menu .menu-item a:hover {
    text-decoration: underline;
    text-underline-offset: 10px;
}

/*--------------------------------------------------*/
/*----- Solutions page -----*/
@media (min-width: 1061px) and (max-width: 1350px) {
    .solution-blocks {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1061px) and (max-width: 1499px) {
    .solution-blocks-military {
        grid-template-columns: 1fr !important;
    }
}

/*--------------------------------------------------*/
/*----- Media Queries -----*/

@media (min-width: 1401px) and (max-width: 1700px) {
  .nav-text .e-n-menu-title-text {
      font-size: 16px !important;
  }
  
  .nav-btn .elementor-button-text {
      font-size: 16px !important;
  }
  
  .main-nav .e-con-inner {
      gap: 20px !important;
  }
 
}

@media (min-width: 1287px) and (max-width: 1400px) {
  .nav-text .e-n-menu-title-text {
      font-size: 14px !important;
  }
  
  .nav-btn .elementor-button-text {
      font-size: 14px !important;
  }
  
  .main-nav .e-con-inner {
      gap: 10px !important;
  }
  
  .elementor-element-8e14e1d img {
        width: 100px !important;
    }
}

@media (min-width: 1120px) and (max-width: 1286px) {
  .nav-text .e-n-menu-title-text {
      font-size: 16px !important;
  }
  
  .nav-btn {
      display: none !important;
  }
  
  .main-nav .e-con-inner {
      gap: 20px !important;
  }
  
  .nav-text .e-n-menu-title {
      padding-left: 15px;
      padding-right: 0px;
  }
  
  .elementor-element-8e14e1d img {
        width: 90px !important;
    }
  
  #e-n-menu-title-2174 {
      padding-right: 15px;
  }
}

@media (min-width: 1061px) and (max-width: 1119px) {
  .nav-text .e-n-menu-title-text {
      font-size: 16px !important;
  }
  
  .nav-btn {
      display: none !important;
  }
  
  .main-nav .e-con-inner {
      gap: 20px !important;
  }
  
  .nav-text .e-n-menu-title {
      padding-left: 10px;
      padding-right: 0px;
  }
  
  #e-n-menu-title-2174 {
      padding-right: 10px;
  }
  
  .elementor-element-8e14e1d img {
        width: 90px !important;
    }
}

@media (min-width: 1061px) and (max-width: 1700px) {
  
  .e-gallery-item:first-child .e-gallery-image {
    height: 350px !important;
    }
    
    .e-gallery-item:not(:first-child) .e-gallery-image {
        height: 125px !important;
    }
  
}

@media (max-width: 767px) {
    /* Scroll shell, spaced rows */
    .table-size {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

    /* Rows */
    .table-size > .e-con {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: max-content !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        min-height: 64px;
        padding: 0 !important;
    }

    /* Cells: equal width, padded, centred both ways */
    .table-size > .e-con > .elementor-widget {
        flex: 0 0 130px;
        margin: 0 !important;
        padding: 14px 10px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    /* The text node has to be centred too */
    .table-size > .e-con > .elementor-widget > *,
    .table-size .elementor-widget-container,
    .table-size p,
    .table-size .elementor-heading-title {
        width: 100%;
        margin: 0 !important;
        text-align: center !important;
        white-space: nowrap;
    }

    .table-size > .e-con > .elementor-widget:first-child {
        flex: 0 0 150px;
    }
    .e-gallery-item:first-child .e-gallery-image {
        height: 150px;
    }
    
    .e-gallery-item:not(:first-child) .e-gallery-image {
        height: 150px;
    }
    
    /* Services box */
    .green-box {
        height: auto !important;
    }
    
    .wpforms-one-half {
        width: 100% !important;
        margin-left: 0 !important;
        clear: both !important;
    }
}

@media (max-width: 450px) {
    .mobile-btn {
        display: none !important;
    }
}/* End custom CSS */