.elementor-11977 .elementor-element.elementor-element-49ec68a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11977 .elementor-element.elementor-element-03da2fa{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-11977 .elementor-element.elementor-element-03da2fa > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-11977 .elementor-element.elementor-element-03da2fa.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-11977 .elementor-element.elementor-element-03da2fa .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-11977 .elementor-element.elementor-element-03da2fa .elementor-button{font-family:var( --e-global-typography-ab8d798-font-family ), Sans-serif;font-size:var( --e-global-typography-ab8d798-font-size );font-weight:var( --e-global-typography-ab8d798-font-weight );text-transform:var( --e-global-typography-ab8d798-text-transform );line-height:var( --e-global-typography-ab8d798-line-height );letter-spacing:var( --e-global-typography-ab8d798-letter-spacing );}.elementor-11977 .elementor-element.elementor-element-82946f6{--display:grid;--e-con-grid-template-columns:40% 1fr;--e-con-grid-template-rows:repeat(2, 1fr);--gap:00px 10px;--row-gap:00px;--column-gap:10px;--grid-auto-flow:row;--align-items:center;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11977 .elementor-element.elementor-element-13231bd{grid-row:span 2;}.elementor-11977 .elementor-element.elementor-element-13231bd.elementor-widget-bdt-image-stack{text-align:left;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item span, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item a{border-style:none;width:55px;min-width:55px;height:55px;box-shadow:-5px 0px 10px 0px rgba(4.241165081521741, 5.739364647329875, 16.123437500000012, 0.5);}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item,.elementor-11977 .elementor-element.elementor-element-13231bd  .bdt-ep-image-stack-item span, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item a{border-radius:-5px -5px -5px -5px;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:last-child) span, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:last-child) a{margin-right:0px;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:first-child) a, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:first-child) span{margin-left:-28px;}.tippy-box[data-theme="bdt-tippy-13231bd"]{text-align:center;}.elementor-11977 .elementor-element.elementor-element-3f41535 > .elementor-widget-container{margin:10px 0px 0px 0px;}.elementor-11977 .elementor-element.elementor-element-3f41535.elementor-element{--align-self:center;}.elementor-11977 .elementor-element.elementor-element-3f41535{text-align:left;}.elementor-11977 .elementor-element.elementor-element-3f41535 .elementor-heading-title{font-family:var( --e-global-typography-de6416c-font-family ), Sans-serif;font-size:var( --e-global-typography-de6416c-font-size );font-weight:var( --e-global-typography-de6416c-font-weight );line-height:var( --e-global-typography-de6416c-line-height );letter-spacing:var( --e-global-typography-de6416c-letter-spacing );color:var( --e-global-color-uicore_white );}.elementor-11977 .elementor-element.elementor-element-0b53024{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:left;font-family:var( --e-global-typography-7b4dc5f-font-family ), Sans-serif;font-size:var( --e-global-typography-7b4dc5f-font-size );font-weight:var( --e-global-typography-7b4dc5f-font-weight );line-height:var( --e-global-typography-7b4dc5f-line-height );color:#FFFFFF;}.elementor-11977 .elementor-element.elementor-element-0b53024 > .elementor-widget-container{margin:-3px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-11977 .elementor-element.elementor-element-49ec68a{--width:650px;}}@media(max-width:1024px) and (min-width:768px){.elementor-11977 .elementor-element.elementor-element-49ec68a{--width:100%;}.elementor-11977 .elementor-element.elementor-element-82946f6{--width:100%;}}@media(max-width:1024px){.elementor-11977 .elementor-element.elementor-element-49ec68a{--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;}.elementor-11977 .elementor-element.elementor-element-03da2fa .elementor-button{font-size:var( --e-global-typography-ab8d798-font-size );line-height:var( --e-global-typography-ab8d798-line-height );letter-spacing:var( --e-global-typography-ab8d798-letter-spacing );}.elementor-11977 .elementor-element.elementor-element-82946f6{--e-con-grid-template-columns:18% 1fr;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--grid-auto-flow:row;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item span, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item a{width:45px;min-width:45px;height:45px;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:first-child) a, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:first-child) span{margin-left:-25px;}.elementor-11977 .elementor-element.elementor-element-3f41535 .elementor-heading-title{font-size:var( --e-global-typography-de6416c-font-size );line-height:var( --e-global-typography-de6416c-line-height );letter-spacing:var( --e-global-typography-de6416c-letter-spacing );}.elementor-11977 .elementor-element.elementor-element-0b53024{font-size:var( --e-global-typography-7b4dc5f-font-size );line-height:var( --e-global-typography-7b4dc5f-line-height );}}@media(max-width:767px){.elementor-11977 .elementor-element.elementor-element-49ec68a{--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-11977 .elementor-element.elementor-element-03da2fa > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-11977 .elementor-element.elementor-element-03da2fa .elementor-button{font-size:var( --e-global-typography-ab8d798-font-size );line-height:var( --e-global-typography-ab8d798-line-height );letter-spacing:var( --e-global-typography-ab8d798-letter-spacing );}.elementor-11977 .elementor-element.elementor-element-82946f6{--e-con-grid-template-columns:32% 1fr;--gap:0px 20px;--row-gap:0px;--column-gap:20px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:0px;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item span, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item a{width:50px;min-width:50px;height:50px;}.elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:first-child) a, .elementor-11977 .elementor-element.elementor-element-13231bd .bdt-ep-image-stack-item:not(:first-child) span{margin-left:-35px;}.elementor-11977 .elementor-element.elementor-element-3f41535{width:100%;max-width:100%;text-align:left;}.elementor-11977 .elementor-element.elementor-element-3f41535 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11977 .elementor-element.elementor-element-3f41535 .elementor-heading-title{font-size:var( --e-global-typography-de6416c-font-size );line-height:var( --e-global-typography-de6416c-line-height );letter-spacing:var( --e-global-typography-de6416c-letter-spacing );}.elementor-11977 .elementor-element.elementor-element-0b53024{width:100%;max-width:100%;font-size:var( --e-global-typography-7b4dc5f-font-size );line-height:var( --e-global-typography-7b4dc5f-line-height );}}/* Start custom CSS for button, class: .elementor-element-03da2fa *//* --- Custom Animated Button for Elementor --- */
/* HOW TO USE:
  1. Base Class (Required): .my-custom-hover-btn
  2. Modifier Class (Pick One):
     .btn-style-default  (Transparent bg, orange icon)
     .btn-style-orange   (Orange bg, white circle)
     .btn-style-navy     (White bg, navy circle)
*/

/* --- 1. BASE CLASS (Animation, Layout & Structure) --- */
/* This class controls EVERYTHING *except* the colors. */

.my-custom-hover-btn .elementor-button {
  width: 200px;
  height: 50px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition-duration: 0.3s;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box; /* Added for more stable border sizing */
}

.my-custom-hover-btn .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
}

.my-custom-hover-btn .elementor-button-text {
  width: 145px;
  z-index: 1;
  transition-duration: 0.5s;
  white-space: nowrap;
  font-size: 1.04em;
  padding: 16px;
  margin: 0;
  /* NOTE: 'color' property was moved to the modifier classes
    to allow for different text colors.
  */
}

.my-custom-hover-btn .elementor-button-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition-duration: 0.5s;
  margin: 0 !important;
  padding: 0;
}

.my-custom-hover-btn .elementor-button-icon i {
  rotate: 0deg;
  font-size: 18px;
  line-height: 18px;
}

/* --- BASE HOVER & ACTIVE STATES (Shared by all versions) --- */

.my-custom-hover-btn .elementor-button:hover .elementor-button-icon {
  width: 190px;
  transition-duration: 0.5s;
}

.my-custom-hover-btn .elementor-button:hover .elementor-button-text {
  transform: translate(10px);
  width: 0;
  font-size: 0;
  opacity: 0;
  margin: -2px;
  padding: 0;
  transition-duration: 0.5s;
}

.my-custom-hover-btn .elementor-button:active {
  transform: scale(0.95);
  transition-duration: 0.5s;
}

/* --- 2. MODIFIER: .btn-style-default (Original Transparent) --- */

.my-custom-hover-btn.btn-style-default .elementor-button {
  border: 1px solid rgba(255, 255, 255, 0.349);
  background-color: rgba(7, 10, 67, 0); /* Transparent */
}

.my-custom-hover-btn.btn-style-default .elementor-button-text {
  color: white;
}

.my-custom-hover-btn.btn-style-default .elementor-button-icon {
  background: linear-gradient(to bottom, rgb(239, 101, 42), rgb(236, 70, 40));
}

.my-custom-hover-btn.btn-style-default .elementor-button-icon i {
  color: white;
}

/* --- 3. MODIFIER: .btn-style-orange (Inverted Orange) --- */

.my-custom-hover-btn.btn-style-orange .elementor-button {
  background: linear-gradient(to bottom, rgb(239, 101, 42), rgb(236, 70, 40));
  border: none;
}

.my-custom-hover-btn.btn-style-orange .elementor-button-text {
  color: white;
}

.my-custom-hover-btn.btn-style-orange .elementor-button-icon {
  background: white;
}

.my-custom-hover-btn.btn-style-orange .elementor-button-icon i {
  color: rgb(239, 101, 42);
}

/* --- 4. NEW MODIFIER: .btn-style-navy (White Background) --- */

.my-custom-hover-btn.btn-style-navy .elementor-button {
  /* White background with a navy border */
  background: white;
  border: 1px solid rgb(7, 10, 67, 0.10);
}

.my-custom-hover-btn.btn-style-navy .elementor-button-text {
  /* Navy text */
  color: rgb(7, 10, 67);
}

.my-custom-hover-btn.btn-style-navy .elementor-button-icon {
  /* Navy circle */
  background: rgb(7, 10, 67);
}

.my-custom-hover-btn.btn-style-navy .elementor-button-icon i {
  /* White icon */
  color: white;
}

/* --- 5. SIZE MODIFIER: .btn-size-slim (150x40px) --- */
/*
  This block *overrides* the default sizes from section 1.
  It scales down the button, icon, text, and hover effect.
*/

.my-custom-hover-btn.btn-size-slim .elementor-button {
  width: 155px;
  height: 40px;
  border-radius: 40px; /* Match height for pill shape */
}

.my-custom-hover-btn.btn-size-slim .elementor-button-text {
  /* Recalculated for new size: 150px - 30px icon - 10px gap */
  width: 110px; 
  font-size: 0.95em; /* Slightly smaller text */
  padding: 0; /* Remove old padding, rely on flex center */
}

.my-custom-hover-btn.btn-size-slim .elementor-button-icon {
  /* Scaled down from 40px */
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 30px; /* Match size for circle shape */
}

.my-custom-hover-btn.btn-size-slim .elementor-button-icon i {
  /* Scaled down from 18px */
  font-size: 14px; 
  line-height: 14px;
}

/* --- SLIM HOVER STATE --- */
.my-custom-hover-btn.btn-size-slim .elementor-button:hover .elementor-button-icon {
  /* Fill new width, minus 10px buffer: 150px - 10px */
  width: 145px;
}

/* --- 6. OPACITY MODIFIER for .btn-style-default.btn-size-slim --- */
/*
  These rules ONLY apply when a button has BOTH
  .btn-style-default AND .btn-size-slim classes.
  This controls the main button background opacity.
*/

/* --- Standard (non-hover) state opacity --- */
.my-custom-hover-btn.btn-style-default.btn-size-slim .elementor-button {
  /* --- EDIT OPACITY HERE (for standard state background) --- */
  /* This overrides the 'background-color: rgba(7, 10, 67, 0)' from section 2 */
  background-color: rgba(7, 10, 67, 0.80); 
}

/* --- Hover state opacity --- */
.my-custom-hover-btn.btn-style-default.btn-size-slim .elementor-button:hover {
  /* --- EDIT OPACITY HERE (for hover state background) --- */
  /* This adds an explicit control for the hover state background */
  background-color: rgba(7, 10, 67, 0.80);
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0b53024 */.elementor-11977 .elementor-element.elementor-element-0b53024 {text-wrap: balance;}/* End custom CSS */