.elementor-10 .elementor-element.elementor-element-333c209{--display:flex;--min-height:104vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:135px;--padding-bottom:85px;--padding-left:15px;--padding-right:15px;}.elementor-10 .elementor-element.elementor-element-333c209:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-333c209 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EBEFF1;}.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-10 .elementor-element.elementor-element-e59b75d{width:100%;max-width:100%;text-align:center;}.elementor-10 .elementor-element.elementor-element-e59b75d .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:100px;font-weight:700;letter-spacing:-3px;word-spacing:1px;color:#2A3440;}.elementor-10 .elementor-element.elementor-element-32ea03e{width:100%;max-width:100%;text-align:center;}.elementor-10 .elementor-element.elementor-element-32ea03e .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:70px;font-weight:700;letter-spacing:-3px;word-spacing:1px;color:#00000000;}.elementor-10 .elementor-element.elementor-element-1363353{margin:45px 0px calc(var(--kit-widget-spacing, 0px) + -185px) 520px;z-index:2;}.elementor-10 .elementor-element.elementor-element-d063cd1{--e-image-carousel-slides-to-show:1;width:var( --container-widget-width, 560px );max-width:560px;margin:-90px 0px calc(var(--kit-widget-spacing, 0px) + -420px) 0px;--container-widget-width:560px;--container-widget-flex-grow:0;}.elementor-10 .elementor-element.elementor-element-7ba873b{--display:flex;--min-height:900px;--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-10 .elementor-element.elementor-element-7ba873b:not(.elementor-motion-effects-element-type-background), .elementor-10 .elementor-element.elementor-element-7ba873b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(min-width:768px){.elementor-10 .elementor-element.elementor-element-333c209{--content-width:2100px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-10 .elementor-element.elementor-element-e59b75d .elementor-heading-title{font-size:40px;line-height:1.2em;}.elementor-10 .elementor-element.elementor-element-32ea03e .elementor-heading-title{font-size:40px;line-height:1.2em;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-10 .elementor-element.elementor-element-e59b75d .elementor-heading-title{font-size:30px;}.elementor-10 .elementor-element.elementor-element-32ea03e .elementor-heading-title{font-size:30px;}}/* Start custom CSS for heading, class: .elementor-element-e59b75d */.grad {
  background: linear-gradient(-45deg, #87ebff, #0083c7);
  -webkit-background-clip: text;
}

.solid {
  background: #2A3440;
  -webkit-background-clip: text;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-32ea03e */.grad {
  background: linear-gradient(-45deg, #87ebff, #0083c7);
  -webkit-background-clip: text;
}

.solid {
  background: #2A3440;
  -webkit-background-clip: text;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1363353 */.custom-square-button {
  position: relative; /* Establishes a positioning context for the pseudo-element */
  display: flex; /* Using flexbox to easily center the text */
  justify-content: center; /* Horizontally centers the text */
  align-items: center; /* Vertically centers the text */
  width: 120px; /* Set a specific width */
  height: 120px; /* Set the same height to make it a square */
  font-family: manrope; /* You can change this to your website's font */
  font-size: 14px; /* Adjust font size as needed */
  font-weight: 400;
  color: #333; /* Initial text color */
  background-color: transparent;
  border: 1px solid #333; /* Initial border color */
  border-radius: 40px; /* As requested */
  text-decoration: none;
  text-align: center;
  overflow: hidden; /* Hides the pseudo-element when it's outside the button's bounds */
  transition: color 0.4s ease-in-out, border-color 0.4s ease-in-out;
  z-index: 1; /* Ensures the text is above the pseudo-element */
  box-sizing: border-box; /* Ensures padding and border are included in the total width/height */
}

/* This is the expanding circle effect */
.custom-square-button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: #333; /* Background color on hover */
  border-radius: 30px; /* Match the button's border radius */
  transform: translate(-50%, -50%) scale(0); /* Starts at the center and invisible */
  transition: transform 0.4s ease-in-out;
  z-index: -1; /* Places the circle behind the text */
}

/* This triggers the animation on hover */
.custom-square-button:hover {
  color: #fff; /* Text color on hover */
  border-color: #333; /* Ensures border color matches the hover background */
}

.custom-square-button:hover::before {
  transform: translate(-50%, -50%) scale(1.2); /* Scales the element to fill the button */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-333c209 */.animated-circles {
    position: relative;
    overflow: hidden;
}

.animated-circles::before,
.animated-circles::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border: 2px solid rgba(61, 178, 224, 0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: circle-pulse 5s linear infinite;
}

.animated-circles::after {
    animation-delay: 2s;
}

@keyframes circle-pulse {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        width: 2000px;
        height: 2000px;
        opacity: 0;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Manrope';
	font-display: auto;
	src: url('https://blucraftsmiles.com/wp-content/uploads/2025/10/Manrope-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */