.elementor-878 .elementor-element.elementor-element-ece72cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.5;--padding-top:10%;--padding-bottom:5%;--padding-left:8%;--padding-right:8%;}.elementor-878 .elementor-element.elementor-element-ece72cb:not(.elementor-motion-effects-element-type-background), .elementor-878 .elementor-element.elementor-element-ece72cb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:radial-gradient(at center center, var( --e-global-color-accent ) 0%, var( --e-global-color-primary ) 100%);}.elementor-878 .elementor-element.elementor-element-ece72cb::before, .elementor-878 .elementor-element.elementor-element-ece72cb > .elementor-background-video-container::before, .elementor-878 .elementor-element.elementor-element-ece72cb > .e-con-inner > .elementor-background-video-container::before, .elementor-878 .elementor-element.elementor-element-ece72cb > .elementor-background-slideshow::before, .elementor-878 .elementor-element.elementor-element-ece72cb > .e-con-inner > .elementor-background-slideshow::before, .elementor-878 .elementor-element.elementor-element-ece72cb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-text );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-878 .elementor-element.elementor-element-2ec1b60{text-align:center;}.elementor-878 .elementor-element.elementor-element-2ec1b60 .elementor-heading-title{font-family:var( --e-global-typography-0fdf3b9-font-family ), Sans-serif;font-size:var( --e-global-typography-0fdf3b9-font-size );font-weight:var( --e-global-typography-0fdf3b9-font-weight );text-transform:var( --e-global-typography-0fdf3b9-text-transform );text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-88526cd );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );fill:var( --e-global-color-88526cd );color:var( --e-global-color-88526cd );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-88526cd );border-radius:100px 100px 100px 100px;padding:13px 30px 13px 30px;}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button:hover, .elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button:focus{background-color:var( --e-global-color-88526cd );color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button-content-wrapper{flex-direction:row;}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button:hover svg, .elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button:focus svg{fill:var( --e-global-color-accent );}.elementor-878 .elementor-element.elementor-element-bd9ce5c{--display:flex;--gap:35px 100px;--row-gap:35px;--column-gap:100px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:8%;--padding-right:8%;}.elementor-878 .elementor-element.elementor-element-851b8fa{--display:flex;--gap:35px 100px;--row-gap:35px;--column-gap:100px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-878 .elementor-element.elementor-element-04ddfaa{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:20px 50px;--row-gap:20px;--column-gap:50px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-878 .elementor-element.elementor-element-7ccf83a{text-align:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-878 .elementor-element.elementor-element-02a5608{text-align:center;}.elementor-878 .elementor-element.elementor-element-4596e1f{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-878 .elementor-element.elementor-element-23fd2f6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-878 .elementor-element.elementor-element-b805967 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-878 .elementor-element.elementor-element-2a149fd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-878 .elementor-element.elementor-element-1e9ef5f{text-align:center;}.elementor-878 .elementor-element.elementor-element-1e9ef5f .elementor-heading-title{font-family:var( --e-global-typography-cc9f0c2-font-family ), Sans-serif;font-size:var( --e-global-typography-cc9f0c2-font-size );font-weight:var( --e-global-typography-cc9f0c2-font-weight );text-transform:var( --e-global-typography-cc9f0c2-text-transform );}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );fill:var( --e-global-color-88526cd );color:var( --e-global-color-88526cd );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-88526cd );border-radius:100px 100px 100px 100px;padding:13px 30px 13px 30px;}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button:hover, .elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button:focus{background-color:var( --e-global-color-88526cd );color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-878 .elementor-element.elementor-element-e7f13c4 > .elementor-widget-container{margin:35px 0px 0px 0px;}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button-content-wrapper{flex-direction:row;}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button:hover svg, .elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button:focus svg{fill:var( --e-global-color-accent );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-878 .elementor-element.elementor-element-ece72cb{--justify-content:center;--padding-top:20%;--padding-bottom:10%;--padding-left:8%;--padding-right:8%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-878 .elementor-element.elementor-element-2ec1b60 .elementor-heading-title{font-size:var( --e-global-typography-0fdf3b9-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-878 .elementor-element.elementor-element-851b8fa{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:35px 35px;--row-gap:35px;--column-gap:35px;}.elementor-878 .elementor-element.elementor-element-04ddfaa{--min-height:100px;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-878 .elementor-element.elementor-element-1e9ef5f .elementor-heading-title{font-size:var( --e-global-typography-cc9f0c2-font-size );}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-878 .elementor-element.elementor-element-ece72cb{--justify-content:flex-end;--padding-top:40px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-878 .elementor-element.elementor-element-2ec1b60 > .elementor-widget-container{margin:70px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-878 .elementor-element.elementor-element-2ec1b60 .elementor-heading-title{font-size:var( --e-global-typography-0fdf3b9-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-878 .elementor-element.elementor-element-d11c4a2{width:100%;max-width:100%;}.elementor-878 .elementor-element.elementor-element-d11c4a2 .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-878 .elementor-element.elementor-element-1e9ef5f .elementor-heading-title{font-size:var( --e-global-typography-cc9f0c2-font-size );}.elementor-878 .elementor-element.elementor-element-e7f13c4{width:100%;max-width:100%;}.elementor-878 .elementor-element.elementor-element-e7f13c4 .elementor-button{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS for html, class: .elementor-element-3f449da *//* Styles for the main booking process container */
#booking-process {
  background-color: transparent; /* Dark grey/greenish background color */
  padding: 40px 20px; /* Add padding around the section */
  color: #000000; /* Default text color */
  font-family: var(--e-global-typography-text-font-family); /* Use a common sans-serif font, adjust if needed */
}

/* Container to hold the steps */
.booking-process-container {
  display: flex; /* Use flexbox for horizontal layout on desktop */
  justify-content: space-between; /* Distribute steps evenly */
  align-items: flex-start; /* Align items to the top */
  margin: 0 auto; /* Center the container */
  position: relative; /* Needed for absolute positioning of the line */
}

/* Horizontal line connecting the steps (Desktop) */
.booking-process-container::before {
    content: '';
    position: absolute;
    top: 20px; /* Vertical position, approximately aligned with number centers */
    left: 5%; /* Start the line after the estimated space of the first number area */
    right: 5%; /* End the line before the estimated space of the last number area */
    height: 3px; /* Thickness of the line */
    background-color: var(--e-global-color-accent); /* Green line color */
    z-index: 0; /* Position behind the step content */
}

/* Styles for individual steps */
.step {
  flex: 1; /* Allow steps to grow and shrink evenly */
  text-align: center; /* Center text content within each step */
  padding: 0 35px; /* Add horizontal padding between steps */
  position: relative; /* Needed for z-index and potential pseudo-elements */
  z-index: 1; /* Ensure step content is above the horizontal line */
}

/* Styles for the numbered circle */
.step-number {
  width: 50px; /* Width of the circle */
  height: 50px; /* Height of the circle */
  background-color: var(--e-global-color-88526cd); /* Green circle background color */
  border-radius: 50%; /* Make it round */
  display: flex; /* Use flexbox to center the number inside */
  justify-content: center;
  align-items: center;
  font-size: 24px; /* Size of the number */
  font-weight: bold;
  color: var(--e-global-color-text); /* White number color */
  margin: 0 auto 20px auto; /* Center the number and add bottom margin */
  position: relative;
  z-index: 2; /* Ensure number is above the line */
  /* Add a box-shadow the color of the background to visually "cut" the line */
  box-shadow: 0 0 0 5px var(--e-global-color-secondary);
}

/* Styles for step headings */
.step h3 {
  margin: 0 0 10px 0;
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-52ba7ab-font-family), Sans-serif;
    font-size: var(--e-global-typography-52ba7ab-font-size);
    font-weight: var(--e-global-typography-52ba7ab-font-weight);
    line-height: 1.2;
}

/* Styles for step paragraphs */
.step p {
  margin: 0 0 10px 0;
    color: #000000;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
}

/* Remove bottom margin from the last paragraph in a step */
.step p:last-child {
    margin-bottom: 0;
}


/* --- Responsive Styles (for screens smaller than 1024px) --- */
@media (max-width: 1024px) {
  .booking-process-container {
    flex-direction: column; /* Stack steps vertically on smaller screens */
    align-items: center; /* Center items horizontally */
  }

   /* Hide the horizontal line on mobile */
  .booking-process-container::before {
      display: none;
  }

  .step {
    width: 100%; /* Make each step take the full width */
    margin-bottom: 40px; /* Add space between stacked steps */
    padding: 0 15px; /* Add some horizontal padding */
    text-align: center; /* Center content within each step */
    position: relative; /* Needed for vertical line pseudo-elements */
  }
   /* Remove bottom margin from the last step */
   .step:last-child {
       margin-bottom: 0;
   }

  /* Center number on mobile */
  .step-number {
    margin: 0 auto 20px auto;
  }

  /* Add vertical line segments between steps on mobile */

  /* Line segment above the step (on all steps except the first) */
  .step:not(:first-child)::before {
    content: '';
    position: absolute;
    top: -20px; /* Start 20px above the step, connecting to the previous step's line segment */
    left: 50%; /* Center horizontally */
    width: 3px; /* Thickness */
    height: 20px; /* Height of the segment */
    background-color: var(--e-global-color-accent);
    z-index: 0;
    transform: translateX(-50%); /* Ensure precise centering */
  }

   /* Line segment below the number (on all steps except the last) */
   .step:not(:last-child) .step-number::after {
       content: '';
       position: absolute;
       bottom: -20px; /* Extend 20px below the number */
       left: 50%; /* Center horizontally within the number */
       width: 3px;
       height: 20px; /* Height of the segment */
       background-color: var(--e-global-color-accent);
       z-index: -1; /* Position below the number */
       transform: translateX(-50%); /* Ensure precise centering */
   }

} /* End of media query *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bd9ce5c */.elementor-878 .elementor-element.elementor-element-bd9ce5c {
    padding-top: 100px;
    padding-bottom: 100px;
}
@media screen and (max-width:768px){
 .elementor-878 .elementor-element.elementor-element-bd9ce5c {
    padding-top: 20px;
    padding-bottom: 20px;
}   
}/* End custom CSS */