.elementor-1870 .elementor-element.elementor-element-e85bb1e{--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;}.elementor-1870 .elementor-element.elementor-element-e85bb1e:not(.elementor-motion-effects-element-type-background), .elementor-1870 .elementor-element.elementor-element-e85bb1e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1870 .elementor-element.elementor-element-a7b28ee{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:64px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1870 .elementor-element.elementor-element-88ea43c.elementor-element{--align-self:center;}.elementor-1870 .elementor-element.elementor-element-88ea43c{text-align:center;}.elementor-1870 .elementor-element.elementor-element-88ea43c .elementor-heading-title{font-family:"Teko", Sans-serif;font-size:56px;font-weight:700;font-style:italic;line-height:56px;color:#000000;}.elementor-1870 .elementor-element.elementor-element-54901dd{--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;--margin-top:64px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1870 .elementor-element.elementor-element-b282c7f{--display:flex;}.elementor-1870 .elementor-element.elementor-element-66863bc{--display:flex;--min-height:480px;--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;--margin-top:-30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:70px;--padding-bottom:70px;--padding-left:48px;--padding-right:48px;}.elementor-1870 .elementor-element.elementor-element-29e41c0.elementor-element{--align-self:center;}.elementor-1870 .elementor-element.elementor-element-29e41c0{text-align:center;}.elementor-1870 .elementor-element.elementor-element-29e41c0 .elementor-heading-title{font-family:"Teko", Sans-serif;font-size:56px;font-weight:700;font-style:italic;line-height:56px;color:#000000;}.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-1870 .elementor-element.elementor-element-a7cb3de{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Roboto", Sans-serif;font-size:20px;font-weight:400;line-height:27px;color:#000000;}.elementor-1870 .elementor-element.elementor-element-a7cb3de p{margin-block-end:0px;}.elementor-1870 .elementor-element.elementor-element-78ca984{--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:16px 16px;--row-gap:16px;--column-gap:16px;--margin-top:32px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1870 .elementor-element.elementor-element-fbee5e5.elementor-element{--align-self:flex-start;}.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:700;line-height:30px;padding:12px 24px 12px 24px;}.elementor-1870 .elementor-element.elementor-element-699a2ca.elementor-element{--align-self:flex-start;}.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button-content-wrapper{flex-direction:row;}.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:700;line-height:30px;padding:12px 24px 12px 24px;}@media(max-width:767px){.elementor-1870 .elementor-element.elementor-element-fbee5e5{width:100%;max-width:100%;}.elementor-1870 .elementor-element.elementor-element-699a2ca{width:100%;max-width:100%;}}@media(min-width:768px){.elementor-1870 .elementor-element.elementor-element-b282c7f{--width:50%;}.elementor-1870 .elementor-element.elementor-element-66863bc{--width:50%;}}/* Start custom CSS for heading, class: .elementor-element-88ea43c */.elementor-1870 .elementor-element.elementor-element-88ea43c span{
    color: #0035FF;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-29e41c0 */.elementor-1870 .elementor-element.elementor-element-29e41c0 span{
    color: #0035FF;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-fbee5e5 *//* Elementor Button Default */
.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button {
  position: relative;
  border: 2px solid #3386B2; /* normal border */
  background: linear-gradient(90deg, #002DD8 0%, #0035FF 100%); /* normal background */
  color: #fff;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease; /* smooth hover transition */
  overflow: hidden;
}

/* Elementor Button Hover */
.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button:hover {
  border: 2px solid #0035FF; /* hover border */
  background: linear-gradient(90deg, #0035FF 0%, #002DD8 100%); /* hover background */
  color: #fff;
}

/* Shimmer Effect on Button Text */
.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button span {
  position: relative;
  display: inline-block;
  background: linear-gradient(
    90deg,
    rgba(210,214,217,0.2) 0%,
    #D2D6D9 50%,
    rgba(210,214,217,0.2) 100%
  );

  background-size: 200px 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 2s infinite linear;
}

/* Shimmer Keyframes */
@keyframes shimmer {
  0% { 
    background-position: -200px 0; 
  }
  100% { 
    background-position: 200px 0; 
  }
}

/* Fix Elementor Button Alignment */
.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button {
  display: inline-flex;          /* flex for alignment */
  align-items: center;           /* vertical center */
  justify-content: center;       /* horizontal center */
  gap: 8px;                      /* space between icon and text */
  line-height: 1.2;              /* balanced line-height */
}

.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button .elementor-button-icon {
  display: flex;                 /* makes icon align perfectly */
  align-items: center;
}

.elementor-1870 .elementor-element.elementor-element-fbee5e5 .elementor-button span {
  display: inline-flex;          /* text aligns with icon */
  align-items: center;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-699a2ca *//* Elementor Button Default */
.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button {
  position: relative;
  border: 2px solid #3386B2; /* normal border */
  background: linear-gradient(90deg, #002DD8 0%, #0035FF 100%); /* normal background */
  color: #fff;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease; /* smooth hover transition */
  overflow: hidden;
}

/* Elementor Button Hover */
.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button:hover {
  border: 2px solid #0035FF; /* hover border */
  background: linear-gradient(90deg, #0035FF 0%, #002DD8 100%); /* hover background */
  color: #fff;
}

/* Shimmer Effect on Button Text */
.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button span {
  position: relative;
  display: inline-block;
  background: linear-gradient(
    90deg,
    rgba(210,214,217,0.2) 0%,
    #D2D6D9 50%,
    rgba(210,214,217,0.2) 100%
  );

  background-size: 200px 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 2s infinite linear;
}

/* Shimmer Keyframes */
@keyframes shimmer {
  0% { 
    background-position: -200px 0; 
  }
  100% { 
    background-position: 200px 0; 
  }
}

/* Fix Elementor Button Alignment */
.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button {
  display: inline-flex;          /* flex for alignment */
  align-items: center;           /* vertical center */
  justify-content: center;       /* horizontal center */
  gap: 8px;                      /* space between icon and text */
  line-height: 1.2;              /* balanced line-height */
}

.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button .elementor-button-icon {
  display: flex;                 /* makes icon align perfectly */
  align-items: center;
}

.elementor-1870 .elementor-element.elementor-element-699a2ca .elementor-button span {
  display: inline-flex;          /* text aligns with icon */
  align-items: center;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66863bc *//* Apply to your Elementor grid container */
.class-02 {
  position: relative;
  border-radius: 12px; /* adjust if needed */
  overflow: hidden;
}

/* Gradient border wrapper */
.class-02::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 4px 0px 4px 4px; /* border thickness */
  border-radius: inherit;

  background: linear-gradient(
    270deg,
    #3386B2,
    #0E3F66,
    #D2D6D9,
    #363E48,
    #F3F3F4,
    #3386B2
  );

  background-size: 600% 600%;
  animation: gradientBorder 6s ease infinite;

  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);

  -webkit-mask-composite: destination-out;
          mask-composite: exclude;

  pointer-events: none;
}

/* Gradient animation */
@keyframes gradientBorder {
  0% { 
    background-position: 0% 50%; 
  }
  50% { 
    background-position: 100% 50%; 
  }
  100% { 
    background-position: 0% 50%; 
  }
}/* End custom CSS */