/*
CTC Separate Stylesheet
Updated: 2026-03-30 16:16:09
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,accessibility-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.4.5.1774887369
*/

html {
  scroll-behavior: auto !important;
}
body, h1, h2, h3, h4, h5, h6, p{
	font-family: 'StackSansHeading', sans-serif !important;
}

html body #wrapper{
	background-color: #20272F !important;
}
@font-face {
  font-family: 'StackSansHeading';
  src: url('fonts/StackSansHeadline-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'StackSansHeading';
  src: url('fonts/StackSansHeadline-Bold.ttf') format('truetype');
  font-weight: 700;
}

@font-face {
  font-family: 'StackSansHeading';
  src: url('fonts/StackSansHeadline-Medium.ttf') format('truetype');
  font-weight: 500;
}

@font-face {
  font-family: 'StackSansHeading';
  src: url('fonts/StackSansHeadline-Light.ttf') format('truetype');
  font-weight: 300;
}

@font-face {
  font-family: 'StackSansHeading';
  src: url('fonts/StackSansHeadline-ExtraLight.ttf') format('truetype');
  font-weight: 200;
}

@font-face {
  font-family: 'StackSansHeading';
  src: url('fonts/StackSansHeadline-SemiBold.ttf') format('truetype');
  font-weight: 600;
}




.elementor-heading-title  span{
	font-family: "Playfair Display", Sans-serif;
    font-style: italic;
	color: #00FF9D;
	font-weight: 600;
}
.my-btn a.elementor-button,
.my-btn a.elementor-button-link {
    position: relative;
    display: inline-block;
    background: linear-gradient(90deg, rgba(0, 223, 130, 1) 0%, rgba(1, 80, 74, 1) 100%);
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    z-index: 1;
    overflow: visible;
    transition: transform 0.25s ease,
                background 0.3s ease !important;
}

/* OUTER GLOW (11px equivalent) */
.my-btn a.elementor-button::before,
.my-btn a.elementor-button-link::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(0, 230, 118, 0.5), rgba(0, 86, 79, 0.35));
    z-index: -1;
    transition: all 0.35s ease;
}

/* INNER RING (6px equivalent) */
.my-btn a.elementor-button::after,
.my-btn a.elementor-button-link::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(0, 230, 118, 0.5), rgba(0, 86, 79, 0.35));
    z-index: -1;
    transition: all 0.35s ease;
}

/* HOVER STATE */
.my-btn a.elementor-button:hover,
.my-btn a.elementor-button-link:hover {
    background: linear-gradient(135deg, #69f0ae, #00e676) !important;
    transform: scale(1.02) !important;
}

/* HOVER - ENHANCED GLOW */
.my-btn a.elementor-button:hover::before,
.my-btn a.elementor-button-link:hover::before {
    inset: -10px;
    filter: blur(16px);
    background: linear-gradient(90deg, rgba(0, 230, 118, 0.6), rgba(105, 240, 174, 0.4));
}

.my-btn a.elementor-button:hover::after,
.my-btn a.elementor-button-link:hover::after {
    inset: -6px;
    background: linear-gradient(90deg, rgba(0, 230, 118, 0.8), rgba(105, 240, 174, 0.6));
}

#primary-menu > li > a {
    position: relative;
    padding-bottom: 4px;
}

#primary-menu > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    height: 2px;
    background: #00DF82;
    transition: width 0.3s ease;
}

#primary-menu > li > a:hover::after,
#primary-menu > li.current-menu-item > a::after {
    width: 64%;
}

.box-shad-heading{
	box-shadow: 0 0 0 6px rgb(0 230 118 / 34%), 0 0 0px 11px rgb(0 230 118 / 15%) !important;
}

.elementor-widget-text-editor p{
	margin-top: 0px;
}

.grad-border .elementor-heading-title {
    position: relative;
    display: inline-block;
    color: #fff;
    padding: 8px 10px;
}

/* .top-bottom-grad{
	background: radial-gradient(ellipse 61% 59% at 50% 0%, #00ff9d 0%, transparent 70%), radial-gradient(ellipse 44% 23% at 50% 100%, #00ff9dab 0%, transparent 70%), #0d1a1f !important;
} */


/* ─── Gradient border layer ─── */
.grad-border .elementor-heading-title::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    padding: 2px;
    background: linear-gradient(90deg, #00bd74, #01442a);
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}



.counter-block .elementor-counter-title{
	text-align: center;
}



/* Contact Form 7 */
/* ============================================================
   Contact Form 7 — Newsletter Banner (exact match Group_40)
   Layout : Heading top | Email input + Pill button on same row
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ── Outer wrapper ── */
.cf7-newsletter-wrap {
    background: radial-gradient(ellipse at left bottom, #00ff9d 0%, #1a2a2e 40%, #2D343C 60%, #00FF9D 100%);
    border-radius: 20px;
    padding: 32px 36px;
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

/* ── Heading ── */
.cf7-newsletter-wrap .cf7-newsletter-heading {
  display: block;
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 20px;
  line-height: 1.2;
	text-align: left;
}

/* ── CF7 form ── */
.cf7-newsletter-wrap .wpcf7-form {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin: 0;
}

/* Flatten CF7 <p> wrappers CF7 injects */
.cf7-newsletter-wrap .wpcf7-form > p,
.cf7-newsletter-wrap .wpcf7-form .wpcf7-field-group {
  display: contents;
  margin: 0;
}

/* ── Email input — pill shaped ── */
.cf7-newsletter-wrap .wpcf7-form input[type="email"], .cf7-newsletter-wrap .wpcf7-form input.wpcf7-email {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    border-radius: 17.4px;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    padding: 16px 26px;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
}

.cf7-newsletter-wrap .wpcf7-form input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.38);
}

.cf7-newsletter-wrap .wpcf7-form input[type="email"]:focus {
  border-color: rgba(52, 211, 153, 0.7);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.15);
}

/* ── Submit button — bright green pill ── */
.cf7-newsletter-wrap .wpcf7-form input[type="submit"],
.cf7-newsletter-wrap .wpcf7-form .wpcf7-submit {
  flex-shrink: 0;
  background: linear-gradient(90deg,rgba(0, 255, 157, 1) 0%, rgba(8, 196, 124, 1) 100%);
  border: none;
  border-radius: 17.4px;
  color: #0d1f17;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 16px 32px;
  white-space: nowrap;
  transition: transform 0.18s ease, box-shadow 0.2s ease, filter 0.2s ease;
  box-shadow: 0 6px 24px rgba(46, 204, 113, 0.45);
  -webkit-appearance: none;
	width: 28%;
}

.cf7-newsletter-wrap .wpcf7-form input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(46, 204, 113, 0.55);
  filter: brightness(1.06);
}

.cf7-newsletter-wrap .wpcf7-form input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: 0 4px 14px rgba(46, 204, 113, 0.35);
}

/* ── CF7 validation messages ── */
.cf7-newsletter-wrap .wpcf7-not-valid-tip {
  color: #f87171;
  font-size: 0.78rem;
  margin-top: 6px;
  display: block;
}

.cf7-newsletter-wrap .wpcf7-response-output {
  border: none !important;
  font-size: 0.84rem;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  color: #6ee7b7;
}

.cf7-newsletter-wrap .wpcf7-mail-sent-ok   { color: #6ee7b7 !important; }
.cf7-newsletter-wrap .wpcf7-mail-sent-ng,
.cf7-newsletter-wrap .wpcf7-spam-blocked   { color: #f87171 !important; }

.cf7-newsletter-wrap .wpcf7-form.submitting input[type="submit"] {
  opacity: 0.65;
  cursor: wait;
}
.cf7-newsletter-wrap .wpcf7-form-control-wrap{
	width: 70%;
}

.elementor-element.corner-round, .corner-vector img{
	transition: 0.35s ease;
}

.offer-block:hover .elementor-element.corner-round{
	width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
	inset-inline-end: 20px;
    inset-block-end: 10px;
}
.offer-block:hover .elementor-element.corner-vector img{
	max-width: 100px !important;
}

.who-icon-box .elementor-icon-box-icon{
	text-align: right;
}

/* ===========================
   Sherpa Contact Form
=========================== */

/* Parent wrapper */
.sherpa-contact-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

/* Label */
.sherpa-contact-form .cf7-label {
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    display: block;
    margin-bottom: 6px;
    margin-top: 0px;
}

.sherpa-contact-form .cf7-label:first-child {
    margin-top: 0;
}

/* Control wrap */
.sherpa-contact-form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

/* Input fields */
.sherpa-contact-form .cf7-input {
    width: 100% !important;
    height: 50px !important;
    padding: 0 16px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-family: inherit !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, background 0.2s !important;
    display: block !important;
	margin-top: -20px;
}

/* Textarea */
.sherpa-contact-form .cf7-textarea {
    width: 100% !important;
    height: 130px !important;
    padding: 14px 16px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-family: inherit !important;
    outline: none !important;
    resize: vertical !important;
    box-sizing: border-box !important;
    display: block !important;
    transition: border-color 0.2s, background 0.2s !important;
	margin-top: -20px;
}

/* Placeholder */
.sherpa-contact-form .cf7-input::placeholder,
.sherpa-contact-form .cf7-textarea::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}

/* Focus state */
.sherpa-contact-form .cf7-input:focus,
.sherpa-contact-form .cf7-textarea:focus {
    border-color: #00e5a0 !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

/* Submit button */
.sherpa-contact-form .cf7-submit {
    height: 46px !important;
    padding: 0 32px !important;
    background: linear-gradient(135deg, #00e676, #00c853) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.03em !important;
    cursor: pointer !important;
    margin-top: 8px !important;
    display: inline-block !important;
    box-shadow: 0 0 0 6px rgb(0 230 118 / 34%),
                0 0 0px 11px rgb(0 230 118 / 15%) !important;
    transition: transform 0.25s ease,
                box-shadow 0.35s ease,
                background 0.3s ease !important;
}

.sherpa-contact-form .cf7-submit:hover {
    background: linear-gradient(135deg, #69f0ae, #00e676) !important;
    transform: scale(1.05) !important;
    box-shadow: 0 0 0 6px rgba(0, 230, 118, 0.2),
                0 0 28px rgba(0, 230, 118, 0.6),
                0 0 60px rgba(0, 230, 118, 0.3) !important;
}

/* Validation error */
.sherpa-contact-form .wpcf7-not-valid-tip {
    font-size: 12px !important;
    color: #ff6b6b !important;
    margin-top: 4px !important;
    display: block !important;
}

/* Success message */
.sherpa-contact-form .wpcf7-response-output {
    margin: 8px 0 0 !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    border: none !important;
    background: rgba(0, 229, 160, 0.12) !important;
    color: #00e5a0 !important;
}

/* ===========================
   Responsive
=========================== */

@media (max-width: 768px) {
    .sherpa-contact-form {
        max-width: 100%;
    }

    .sherpa-contact-form .cf7-input {
        height: 46px !important;
        font-size: 14px !important;
    }

    .sherpa-contact-form .cf7-textarea {
        height: 110px !important;
        font-size: 14px !important;
    }

    .sherpa-contact-form .cf7-submit {
        width: 100% !important;
        font-size: 14px !important;
    }
	.cf7-newsletter-wrap .wpcf7-form-control-wrap {
		width: 100%;
	}
}

@media (max-width: 480px) {
    .sherpa-contact-form .cf7-label {
        font-size: 13px;
    }

    .sherpa-contact-form .cf7-input {
        height: 44px !important;
    }

    .sherpa-contact-form .cf7-submit {
        height: 44px !important;
    }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px){
		#masthead, #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap), #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
		background: #20272f !important;
	}
}

@media (max-width: 680px) {
  .cf7-newsletter-wrap {
    padding: 26px 24px;
  }
  .cf7-newsletter-wrap .cf7-newsletter-heading {
    font-size: 1.15rem;
    margin-bottom: 16px;
  }
  .cf7-newsletter-wrap .wpcf7-form {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .cf7-newsletter-wrap .wpcf7-form input[type="email"] {
    width: 100%;
  }
  .cf7-newsletter-wrap .wpcf7-form input[type="submit"] {
    width: 100%;
    text-align: center;
    padding: 15px 24px;
  }
	body .tsw-card {
		 align-items: flex-start !important;
	}
}

@media (max-width: 400px) {
  .cf7-newsletter-wrap {
    padding: 22px 18px;
    border-radius: 14px;
  }
  .cf7-newsletter-wrap .cf7-newsletter-heading {
    font-size: 1.05rem;
  }
  .cf7-newsletter-wrap .wpcf7-form input[type="email"],
  .cf7-newsletter-wrap .wpcf7-form input[type="submit"] {
    font-size: 0.93rem;
    padding: 14px 20px;
  }
}




