.step {
  
  position: relative;
}

.step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 65px;
  left: 214px;
  width: 80px;
  height: 4px;
  background-color: #00b6ce;
}

.step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 67px;
  left: 196px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #00b6ce;
  border: 4px solid #00b6ce;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .step::before,
  .step::after {
    display: none;
  }

.step 
{
text-align: center;
}
	
	.ce-testimonial-carousel-controls 
	{
		
		display: none;
	}
}

.flex 
{
    
    display: flex;
}

.flex-col 
{
    
    flex-direction: column;
}

.flex-row 
{
    
    flex-direction: row;
}

.flex-center 
{
    justify-content: center;
    align-items: center;
}

.pad-horizontal-2r
{
 padding-left: 2rem;
 padding-right: 2rem;
}

.pad-horizontal-3r
{
 padding-left: 3rem;
 padding-right: 3rem;
}

.pad-vertical-100p
{
 padding-top: 100px;
 padding-bottom: 100px;
}

.pad-vertical-15p
{
 padding-top: 15px;
 padding-bottom: 15px;
}

.grey-background 
{
    background: var(--codeless-p-header-bg-color);
}

.gradient-background 
{
    --background-overlay: '';
      background-image: linear-gradient(0deg, #E9E9F9 0.76%, #E1E2FF00 100%);
}

.glow-background 
{
    
    background-image: url("https://codeforgesolutions.co.uk/wp-content/uploads/2023/02/bg-pattern-image-min.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.spikey-background 
{
    background-image: url("https://codeforgesolutions.co.uk/wp-content/uploads/2023/02/business-bg-1.png");
  background-position: 50px 50px;
  background-repeat: no-repeat;
  background-size: auto;
    
}

.wavey-background 
{
    
    background-color: #F8FAFC;
  background-image: url("https://codeforgesolutions.co.uk/wp-content/uploads/2023/02/bg-pattern-1.png");
  background-repeat: no-repeat;
}

.elementor-divier
{
    min-height: 1px;
    padding-top: 15px;
    padding-bottom: 15px;
}
.elementor-divider-separator 
{
    border-bottom: 1px solid #E7E7E7;
    min-height: 1px;
      display: flex;
      width: 100%;
      height: 1px;
}

.case-study-testimonial 
{
    position: relative;
}

.case-study-testimonial h2
{
    font-size: 1.6rem !important;
    font-weight: normal !important;
}

.case-study-testimonial.blockquote::before 
{
    content: " ";
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='48' height='38' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.221 34.19C1.475 31.271 0 28 0 22.695 0 13.363 6.552 4.997 16.08.861l2.381 3.675C9.568 9.346 7.83 15.589 7.136 19.526c1.432-.742 3.307-1 5.144-.83 4.81.445 8.603 4.395 8.603 9.304a9.333 9.333 0 0 1-9.334 9.333c-2.861 0-5.597-1.306-7.328-3.144Zm26.667 0c-2.747-2.918-4.221-6.19-4.221-11.494 0-9.333 6.552-17.699 16.08-21.835l2.381 3.675c-8.893 4.81-10.632 11.053-11.325 14.99 1.432-.742 3.306-1 5.144-.83 4.81.445 8.6 4.395 8.6 9.304a9.333 9.333 0 0 1-9.334 9.333c-2.861 0-5.597-1.306-7.328-3.144h.003Z' fill='%234C6FFF'/%3E%3C/svg%3E");
    position: absolute;
  left: 0;
  top: -3rem;
  width: 48px;
  height: 38px;
}

.font-weight-normal 
{
    
    font-weight: normal !important;
}

.separator-left 
{
    border-left: 1px solid #e8eaf0;
}




/* Base Flickity styles */
.main-carousel {
  position: relative;
  overflow: visible; /* Allow visibility of partially hidden items */
  perspective: 1000px; /* 3D perspective */
  height: 450px; /* Set a fixed height for the carousel */
  max-height: 70vh;
}

.carousel-cell {
  width: 50%; /* Set the base width for the carousel items */
  height: 100%; /* Make sure the cell takes the full height of the carousel */
  margin: 0 10px; /* Add some space between the items */
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 0.6; /* Initial opacity for the items */
  transform: scale(0.9); /* Initial scale for the items */
  position: relative; /* Ensure pseudo-elements are positioned correctly */
  box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

.carousel-cell img {
  width: 100%;
  height: 100%;
  object-fit: fill; /* Ensure the image covers the entire cell */
  border-radius: 10px;
  display: block;
}

/* Highlight the selected carousel item */
.carousel-cell.is-selected {
  transform: scale(1);
  opacity: 1;
  z-index: 2; /* Bring the selected item to the front */
}

/* Apply perspective and transform for the next and previous items */
.carousel-cell:not(.is-selected) {
  transform: scale(0.9);
}

/* Style the Flickity navigation buttons */
.flickity-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.flickity-button-icon {
  fill: #333; /* Color of the navigation arrows */
  width: 50px;
  height: 50px;
}

/* Hide the default Flickity paging dots */
.flickity-page-dots {
  display: none;
}

.text-center 
{
    
    text-align: center;
}

.font-bold
{
    
    font-weight: bold !important;
}

@media (max-width: 767px) {
    /* COL-MD AND BELOW ONLY */
    
    .no-border-on-md 
    {
        border: none;
    }
    
    .flickity-button
    {
        
        display: none;
    }
    
    .carousel-cell 
    {
        
        width: 100%;
        height: auto;
    }
    
    .carousel-cell img
    {
        
        object-fit: contain;
        border-radius: 10px;
    }
}

.button-outline 
{
	border: 1px solid hsla(0, 0%, 100%, 0.11);
	border-radius: 10px !important;
	transition: box-shadow 0.1s ease-in-out;
}

.button-outline:hover 
{
	
	box-shadow: 0px 0px 15px hsla(0, 0%, 100%, 0.06) inset;
}
