/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Author: ZTD
Version: 1.0
*/

.foot-fade {
  position: relative;
}

@media (max-width: 767px) {
  .foot-fade::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    pointer-events: none;
  }
}

.hero-slash {
    left: -1px;
}

@media (max-width: 1500px) and (min-width: 1024px) {
    .hero-slash {
        left: -200px!important;
    }
}

/* ================================
   Header CTA (Contact button)
   ================================ */

/* Desktop */
.elementor-nav-menu .menu-cta > a{
  background-color:#0e8dcc;
  padding:10px 50px!important;
  margin-left:20px!important;
  transition:background-color .3s ease;
  color:#fff !important;
}

.elementor-nav-menu .menu-cta > a:hover{
  background-color:#0c7ab8;
}

.elementor-nav-menu .menu-cta > a:after{
  background-color:transparent!important;
}

/* Medium screens */
@media (max-width:1365px) and (min-width:1025px){
  .elementor-nav-menu > li > a{
    font-size:14px !important;
    padding:0 12px !important;
  }

  .elementor-nav-menu .menu-cta > a{
    padding:8px 26px !important;
    margin-left:12px !important;
    font-size:14px !important;
  }
	.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
    font-size: 0.85em!important;
}
}

/* Mobile dropdown */
@media (max-width:1024px){

  .elementor-nav-menu--dropdown .menu-cta > a{
    color:#fff !important;
    margin-left:0 !important;
    padding:14px 20px !important;
    background-color:#0e8dcc !important;
  }
	
  .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
    font-size: 1em!important;
}

  .elementor-nav-menu--dropdown .menu-cta > a:hover{
    background-color:#0c7ab8 !important;
  }
}

/* Search results styles */

.allelys-search-filters {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.allelys-search-filters .search-filter {
  padding: 5px 12px;
  font-size: 0.9rem;
  border: 1px solid #0e8dcc;
  text-decoration: none;
  transition: 0.2s ease;
  color:#fff;
}

.allelys-search-filters .search-filter:hover {
  background: #0e8dcc;
}

.allelys-search-filters .search-filter.is-active {
  background: #0e8dcc;
  color: #fff;
  border-color: #0e8dcc;
}

.allelys-search-heading{
  margin: 10px 0 18px;
  font-size: 18px;
  opacity: 0.9;
  color:#fff;
}

/* Contact page tabs styling */
.contact-step1.has-selection #tab-general[aria-selected="false"],
.contact-step1.has-selection #tab-sales-main[aria-selected="false"],
.contact-step1.has-selection #tab-department[aria-selected="false"],
.contact-step1.has-selection #tab-address[aria-selected="false"]{
  opacity: .35;
  filter: grayscale(1);
  transition: opacity .2s ease, filter .2s ease, transform .2s ease;
}

.contact-step1.has-selection #tab-general[aria-selected="true"],
.contact-step1.has-selection #tab-sales-main[aria-selected="true"],
.contact-step1.has-selection #tab-department[aria-selected="true"],
.contact-step1.has-selection #tab-address[aria-selected="true"]{
  opacity: 1;
  filter: none;
}

.contact-step1.has-selection #tab-general[aria-selected="false"]:hover,
.contact-step1.has-selection #tab-sales-main[aria-selected="false"]:hover,
.contact-step1.has-selection #tab-department[aria-selected="false"]:hover,
.contact-step1.has-selection #tab-address[aria-selected="false"]:hover{
  opacity: .75;
  filter: none;
  transform: translateY(-1px);
}

.contact-step2.has-selection .e-n-tab-title[aria-selected="false"]{
  opacity: .65;
  transition: opacity .2s ease, transform .2s ease;
}

.contact-step2.has-selection .e-n-tab-title[aria-selected="false"]:hover{
  opacity: 1;
  transform: translateY(-1px);
}

.contact-links a{color:#fff!important;}
.contact-links a:hover {color:#E0E0E0!important}

span.sub-arrow {
	display: none !important;}

button#tab-null {
    display: none;
}

/* Plus Addons horizontal accordion disables pointer-events on active panels.
   This restores interactivity for visible content. */

/* Re-enable interaction on the accordion item that owns the active panel */
.tp-acc-hori 
.plus-accordion-content.active-default
{
    pointer-events: auto !important;
}

.tp-acc-hori 
.theplus-accordion-item.tp-acc-disable:has(.plus-accordion-content.active-default)
{
    pointer-events: auto !important;
}

/* Fix Plus Addons horizontal accordion content shifting */
.tp-acc-hori .plus-content-editor {
    position: relative !important;
    left: 0 !important;
    transform: none !important;
}

.tp-acc-hori .btn-accordion {
    position: relative;
    z-index: 5;
    transform: translateZ(0);
}

.tp-acc-hori .btn-accordion a {
    position: relative;
    z-index: 5;
    pointer-events: auto;
}

.img-cascade img.parallax_image {border: 1px solid #0e8dcc;
}	
	.cs-accordion .plus-content-editor {
    padding: 100px 100px;
}

.search-results .elementor-post__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* adjust to taste */
    overflow: hidden;
}

.tp-acc-hori .plus-content-editor { left:0 !important; transform:none !important; }

/* Visual spacing without breaking accordion width */
.cs-accordion 
.theplus-accordion-item {
    padding: 0 8px;
    box-sizing: border-box;
}

/* Keep content aligned with container */
.cs-accordion 
.plus-content-editor {
    margin-left: -8px;
    margin-right: -8px;
}

.cs-accordion 
.theplus-accordion-wrapper.tp-acc-hori {
    gap: 16px;
}

/* Tab states */
.cs-accordion .elementor-tab-title.plus-accordion-header {
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.cs-accordion .elementor-tab-title.plus-accordion-header.active {
    opacity: 1;
}

.cs-accordion 
.elementor-tab-title.plus-accordion-header.active-default.active {
    opacity: 1;
}

.cs-accordion .elementor-tab-title.plus-accordion-header:hover {
    opacity: 0.85;
}

/* breadcrumbs alignment fix */

span.current {
    padding-bottom: 3px;
}

/*.elementor-1210 .elementor-element.elementor-element-3e3539b .theplus-accordion-wrapper .theplus-accordion-item .plus-accordion-header.active{visibility:hidden;width:0px;}*/

.slash-svg {
  height: 90px!important;
  vertical-align: middle;
  position: relative;
  top: -6px;
  margin-left: 4px;
}

/* Blue bullets */

.blue-bullets ul {
    list-style: none;
    padding-left: 20px;
}

.blue-bullets ul li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 10px;
}

.blue-bullets ul li::before {
    content: "•";                  
    color: #0e8dcc;
    font-size: 26px;
    line-height: 1;
    position: absolute;
    left: 0;
    top: 0;
}

input#search-d2c12f3 {
    color: #222222;
}

/* Animated H1 Slashes */

h1.animated-heading, h2.animated-heading {color:#fff;}

h1.animated-heading-case, h2.animated-heading-case {color:#fff; font-size:52px!important;}

.svg-slashes {
  display: inline-flex;
  vertical-align: middle;
  position: relative;
  top: -6px;
}

.slash {
  height: 90px;
  width: 51px;
  opacity: 0;
  position: relative;
  top: 2px;
  transition: transform 0.8s ease-out 1s, opacity 0.8s ease-out 1s;
}


.blue-slash {
  transform: translate(-35px, 100px);
}

.green-slash {
  transform: translate(35px, -100px);
  margin-left: -18px;
}

.animated-heading.loaded .slash {
  opacity: 1;
  transform: translate(0, 0);
}
.animated-heading-case.loaded .slash {
  opacity: 1;
  transform: translate(0, 0);
}

.animated-heading, .animated-heading-case {text-shadow: 0px 0px 4px rgba(45,45,45,0.5);}

/* Nav Transform */

.e-con.nav-transform {
  background: transparent;
  transition: background 0.5s ease-in-out, box-shadow 2s ease-in-out;
  box-shadow: none;
}

.e-con.nav-transform--scrolled {
  background: #161616;
  box-shadow: 0 -6px 10px 5px rgba(14,141,204,0.7);
}

/* Animated buttons */

.btn-animate a, button#tab-general, button#tab-sales-main, button#tab-sales, button#tab-sales3, button#tab-department, button#tab-address, button#tab-secondary, button#tab-sales2, button#tab-engineering, button#tab-pm, button#tab-routing, button#tab-ops, button#tab-hseq, button#tab-accounts, button#tab-hr, button#tab-dvsa, button#tab-tacho, button#tab-garages {
  border-radius:0px;
  font-size: 18px;
  padding: 12px 40px;
  font-family: "elza", Sans-serif!important;
  font-weight: 900!important;
  text-transform: uppercase;
  background: linear-gradient(-90deg, #099a98, #099a98, #0e8dcc, #0e8dcc);
  background-size: 300%;
  -webkit-animation: anime 6s linear infinite;
          animation: anime 6s linear infinite;
}
.btn-animate a:hover, button#tab-general:hover, button#tab-sales-main:hover, button#tab-sales:hover, button#tab-sales3:hover, button#tab-department:hover, button#tab-address:hover, button#tab-secondary:hover, button#tab-sales2:hover, button#tab-engineering:hover, button#tab-pm:hover, button#tab-routing:hover, button#tab-ops:hover, button#tab-hseq:hover, button#tab-accounts:hover, button#tab-hr:hover, button#tab-dvsa:hover, button#tab-tacho:hover, button#tab-garages:hover {filter: brightness(1.15);}
.contact-step1 .e-n-tab-title[aria-selected="true"]{
  filter: brightness(1.15);
}

.btn-animate-cs a {
  border-radius:0px;
  font-size: 18px;
  padding: 24px 60px;
  font-family: "elza", Sans-serif!important;
  font-weight: 900!important;
  text-transform: uppercase;
  background: linear-gradient(-90deg, #099a98, #099a98, #0e8dcc, #0e8dcc);
  background-size: 300%;
  -webkit-animation: anime 6s linear infinite;
          animation: anime 6s linear infinite;
}
.btn-animate-cs a:hover {filter: brightness(1.15);}

.contact-step1 .e-n-tab-title[aria-selected="true"]{
  filter: brightness(1.15);
}

input#gform_submit_button_1, input#gform_submit_button_2, input#gform_submit_button_3 {
  border-radius:0px;
  font-size: 18px;
  padding: 12px 40px;
  text-transform: uppercase!important;
  font-family: 'elza';
  font-weight: 900;
  background: linear-gradient(-90deg, #099a98, #099a98, #0e8dcc, #0e8dcc);
  background-size: 300%;
  -webkit-animation: anime 6s linear infinite;
          animation: anime 6s linear infinite;
}

.btn-animate, .elementor-post__read-more-wrapper  a:hover,
input#gform_submit_button_1:hover {
  filter: brightness(1.15);
}

.elementor-post__read-more-wrapper a {
  border-radius:0px;
	font-family: 'elza' sans-serif!important;
  font-weight: 900!important;
	color:#fff!important;
  font-size: 18px!important;
  padding: 12px 40px;
  text-transform: uppercase;
  background: linear-gradient(-90deg, #099a98, #099a98, #0e8dcc, #0e8dcc);
  background-size: 300%;
  -webkit-animation: anime 6s linear infinite;
          animation: anime 6s linear infinite;
}

/* Secondary buttons */

.btn-secondary a{
  font-family: 'elza' !important;
  font-weight: 900!important;
  color:#fff!important;
  padding:0px;
  margin-top:20px;
  background-color:transparent!important;
  font-size: 18px!important;
  text-transform: uppercase;
}

.btn-secondary .elementor-button-text::after {
    content: "\f061"; /* FA arrow */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    color: #fff;
    transition: transform .25s ease;
	margin-left:8px;
}

.btn-secondary:hover .elementor-button-text::after {
    transform: translateX(4px);
}

.btn-accordion, .text-accordion{
	margin-top:30px;
}

.btn-accordion a {
	font-family: 'Elza';
	font-weight:900;
	font-size:18px;
	color:#fff!important;
	text-transform:uppercase;
}
.btn-accordion::after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    color: #fff;
    transition: transform .25s ease;
	margin-left:8px;
}

.btn-accordion:hover::after {
    transform: translateX(4px);
}

/* Search box */

.search-box-container {
  position: relative;
  overflow: hidden;
  width: 0;
  opacity: 0;
  transform: translateX(-10px);
  transition: 
    width 0.35s ease,
    opacity 0.25s ease,
    transform 0.35s ease;
  pointer-events: none;
	padding:10px
}

.search-box-container.active {
  width: 500px;
  max-width: 90vw;
  opacity: 1;
  transform: translateX(0px);
  pointer-events: auto;
	padding:10px;
}

/* Jobs Carousel Customisation */

.jobs-slider-wrap {
  overflow: visible !important;
  position: relative;
}

.jobs-slider-wrap .swiper {
  overflow: visible !important;
  margin-left: -220px !important;
  margin-right: -220px !important;
}

.jobs-slider-wrap .swiper-slide {
  opacity: .4;
  transition: opacity .35s ease;
}

.jobs-slider-wrap .swiper-slide.in-focus {
  opacity: 1 !important;
}

/* Responsive tuning */
@media (max-width: 1600px) {
  .jobs-slider-wrap .swiper {
    margin-left: -200px !important;
    margin-right: -200px !important;
  }
}

@media (max-width: 1400px) {
  .jobs-slider-wrap .swiper {
    margin-left: -120px !important;
    margin-right: -120px !important;
  }
}

@media (max-width: 1024px) {
  .jobs-slider-wrap .swiper {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* No side fade on tablet/mobile */
  .jobs-slider-wrap .swiper-slide {
    opacity: 1 !important;
  }
}

/* Gravity Forms */
label.gfield_label.gform-field-label {
    color: #fff;
	font-size:16px;
	font-weight:700;
}
legend.gfield_label.gform-field-label.gfield_label_before_complex {
    color: #fff;
	font-size:16px;
	font-weight:700;
}
span#gfield_upload_rules_2_6 {
    color: #cccccc;
}
.gfield--type-html {
    color: #fff!important;
	font-size:16px;
	font-weight:700;
}

div#input_3_14 {
    display: inline;
}
.gform-theme--framework .gfield--type-choice .gchoice, .gform-theme--framework .gfield--type-choice .ginput_container_consent {padding-right:20px;}

/* Full JD Styling */
.full-jd h3 {
    margin-top: 50px;
}

.full-jd ul {
    list-style-position: outside;
    padding-left: 1.2em;
}

.full-jd ul li {
    margin-bottom: 6px;
    position: relative;
    padding-left: 6px;
}

.full-jd ul li::marker {
    color: #0e8dcc;
    font-size: 1.2em;
}

/* Case Study Pullout List */

.cs-terms-list a {
  color: #fff!important;
  text-decoration: none;
}

.cs-terms-list a:hover {
  text-decoration: underline;
}

.cs-slideout-trigger {
    position: fixed!important;
    top: 25%;
    right: 33px;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: right center;
    border-radius: 0;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    cursor: pointer;
    transition: right .35s cubic-bezier(.4, 0, .4, 1) .15s;
}

body.cs-panel-open .cs-slideout-trigger { transition: right .35s cubic-bezier(.4, 0, .3, 1) .15s; } 
body.cs-panel-closed .cs-slideout-trigger { transition: right .35s cubic-bezier(.5, 0, .1, 1) .02s; }

.cs-slideout-trigger .elementor-button-text {
    position: relative;
}

.cs-slideout-trigger .elementor-button-text::before,
.cs-slideout-trigger .elementor-button-text::after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    position: absolute;
	display:block;
    top: 9px;
	transform-origin: center;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 18px;
	animation: cs-arrow-nudge 2s ease-in-out infinite;
	opacity: 1;
	transition: opacity 0.6s ease;
	will-change:transform;
}

.cs-slideout-trigger .elementor-button-text::after {
    left: -1.9em;
}

.cs-slideout-trigger .elementor-button-text::before {
    right: -1.9em;
}

.cs-slideout-trigger .elementor-button-text::before {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    position: absolute;
	display:block;
    right: -1.9em;
    top: 9px;
	transform-origin: center;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 18px;
	animation: cs-arrow-nudge 2s ease-in-out infinite;
	opacity: 1;
	transition: opacity 0.6s ease;
	will-change:transform;
}

@keyframes cs-arrow-nudge {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(-50%) rotate(-90deg);
    }
    40% {
        transform: translateY(-25%) rotate(-90deg);
    }
    60% {
        transform: translateY(-42%) rotate(-90deg);
    }
}

body.cs-panel-open 
.cs-slideout-trigger 
.elementor-button-text::before,
body.cs-panel-open 
.cs-slideout-trigger 
.elementor-button-text::after {
    opacity: 0;
    transition: opacity 0.6s ease;
}

.cs-terms-list {
    list-style: disc;
}

.cs-terms-list li {
    color: #ffffff;
    position: relative;
    padding-left: 0.5rem;
	font-size:16px
}

.cs-terms-list li::marker {
    color: #0e8dcc;
}

.cs-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cs-thumb {
    aspect-ratio: 5 / 4;
    overflow: hidden;
    display: block;
}

.cs-loop-style .elementor-icon-list-text a {color:#161616;}

.cs-loop-style {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.cs-loop-style .btn-secondary, .cs-loop-style .btn-animate {
    margin-top: auto;
}

.cs-loop-style-b .btn-secondary {
    margin-top: auto !important;
    display: inline-flex;
    align-items: center;
}

/* Generic "cards in a carousel" equal-height behaviour */
.even-card-carousel .swiper-slide{
  height: auto;
  display: flex;
}

.even-card-carousel .swiper-slide > .e-con{
  display: flex;
  width: 100%;
}

.even-card-carousel .swiper-slide .e-con-inner{
  display: flex;
  width: 100%;
}

/* Generic card stack */
.even-card-carousel .services-loop-style{
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

/* Pin CTA to bottom */
.even-card-carousel .services-loop-style .btn-animate{
  margin-top: auto;
}
/* Pin CTA to bottom */
.even-card-carousel .services-loop-style .btn-download{
  margin-top: auto;
}

.angled-image-right {
    overflow: hidden;
    clip-path: polygon(23.5% 0, 100% 0, 100% 100%, 0 100%);
}
.angled-image-left {
    clip-path: polygon(0 0, 100% 0, 76.5% 100%, 0 100%);
}

.cs-angled-image-right {
    overflow: hidden;
    clip-path: polygon(27.7% 0, 100% 0, 100% 100%, 0 100%);
}
.cs-angled-image-left {
    clip-path: polygon(0 0, 100% 0, 72.3% 100%, 0 100%);
}

@media (max-width: 1024px) {
    .angled-image-right,
    .angled-image-left,
    .cs-angled-image-right,
    .cs-angled-image-left {
        clip-path: none;
        overflow: visible;
    }
}

p.gform_required_legend {
    display: none;
}

.gform-theme--foundation .gform_fields {
    grid-row-gap: 10px!important;
    column-gap: 10px!important;
}

.gform-theme--framework .gform-field-label--type-inline:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    color: #fff!important;
}

.gform-theme--foundation .gfield textarea {
    color: #999999!important;
}

.gform-theme--foundation .gfield .ginput_password.large, .gform-theme--foundation .gfield input.large, .gform-theme--foundation .gfield select.large {
    color: #999999!important;
}

.elementor-post__thumbnail {
    border: 1px solid;
}

.elementor-post-date::before,
.elementor-post__meta-data time::before {
    content: "\f073"; /* calendar-alt */
    font-family: "Font Awesome 5 Free";
    font-weight: 900; /* solid */
    margin-right: 6px;
    color: #0e8dcc;
}


@-webkit-keyframes anime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes anime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}


@media (max-width: 1024px) {
	    .cs-angled-image-right,
    .cs-angled-image-left {
        clip-path: none !important;
        overflow: visible;
    }
  h1.animated-heading.loaded {
    font-size:38px;
  }
  .e-con h2.animated-heading {
    font-size:30px;
  }
  h2.elementor-headline.elementor-headline-animation-type-swirl.elementor-headline-letters {
    font-size: 30px;
}
}

@media (max-width: 767px) {
	    .cs-angled-image-right,
    .cs-angled-image-left {
        clip-path: none !important;
        overflow: visible;
    }
  h1.animated-heading.loaded {
    font-size:20px;
  }
  .e-con h2.animated-heading {
    font-size:18px;
  }
  h2.elementor-headline.elementor-headline-animation-type-swirl.elementor-headline-letters {
    font-size: 18px;
}
  .skew-section::before {
    display: none;
  }
	.search-box-container.active {
    width: 350px;
	padding:0 5px 0 0;
  }
	.search-box-container {padding:0 5px 0 0;}
	.cs-accordion .plus-content-editor {
        padding: 20px;
    }
	.solution-accord img {width:150px;height:150px;float:none;display:block;margin:0 auto;padding-bottom:20px;}
	.solution-accord h2 {line-height:100px;text-align:center;font-size:32px!important;line-height:1.5em;}
}