/*
Theme Name: RCI Theme
Theme URI: http://thrivethemes.com/
Version: 1.0
Author: <a href="http://www.thrivethemes.com">Thrive Themes</a>
Description: Fully customizable, front end theme and template editing for WordPress has arrived! 
Template: thrive-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, custom-everything
*/
/* ==============================================
   STACKED SECTIONS — desktop only
   Short sections stick at the top of the viewport.
   Tall sections (e.g. Priority Investment Areas) scroll
   fully into view first, then stick at their bottom edge —
   handled by the min() formula, no JS measuring needed.
   ============================================== */
html, body {
    scroll-behavior: auto !important;
}
@media (min-width: 768px) {

  .rci-stack {
    position: -webkit-sticky;
    position: sticky;
    /* 'top' and 'margin-bottom' are calculated per section by JS,
       because CSS percentages in 'top' resolve against the parent,
       not the element itself — unreliable inside Thrive wrappers. */
    /*min-height: calc(100vh - var(--rci-header, 80px));*/
    background-color: #ffffff;
    will-change: transform;
  }

  /* Everything after the stack must paint above the last sticky section */
  .rci-stack ~ *:not(.rci-stack) {
    position: relative;
    z-index: 60;
  }
}
.menu-item-11-a .tve-disabled-text-inner{font-weight: bold;}
/* Make the why-now section fill the usable viewport so the stack script
   gives it a hold margin — and center its content vertically */
#why-not-section {
  min-height: calc(100vh - var(--rci-header, 0px));
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Initial hidden state for the opportunity boxes */
#box1, #box2, #box3 {
  opacity: 0;
}
/* Initial hidden states */
#circle1, #circle2, #circle3 {
  opacity: 0;
}

#circles-row {
  position: relative;
}

/* Connector line — sized to fit strictly BETWEEN circles, so stacking order doesn't matter */
.rc-connector {
  position: absolute;
  height: 2px;
  background: #cc0033;
  transform-origin: left center;
  transform: scaleX(0);
  pointer-events: none;
}
/* Make the opportunity section fill the usable viewport so the stack
   script grants it a hold margin — content vertically centered */
#opportunity-section {
  min-height: calc(100vh - var(--rci-header, 0px));
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Initial hidden state for all animated info boxes */
.box-info {
  opacity: 0;
}
/* Initial hidden state for animated text headers */
.small-title,
.section-title,
.section-intro {
  opacity: 0;
}
/* Excluded sections can NEVER be scaled — beats inline styles */
.rci-stack.first-section,
.rci-stack.last-section {
  transform: none !important;
}
/* ============================================
   Gravity Forms - layout & spacing fix   
   ============================================ */

/* --- Grid spacing between rows and columns --- */
#gform_wrapper_1 .gform_fields {
    grid-row-gap: 22px !important;
    grid-column-gap: 30px !important;
}

#gform_wrapper_1 .gfield {
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Labels --- */
#gform_wrapper_1 .gfield_label {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
}

/* Hide the red asterisk to match the design */
#gform_wrapper_1 .gfield_required {
    display: none !important;
}

/* --- Text inputs and textarea --- */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 textarea {
    width: 95% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    border: 1px solid #c4c4c4 !important;
    border-radius: 4px !important;
    background: #fff !important;
    font-size: 15px !important;
    margin: 0 !important;
    box-shadow: none !important;
}

#gform_wrapper_1 input[type="text"]:focus,
#gform_wrapper_1 input[type="email"]:focus,
#gform_wrapper_1 textarea:focus {
    border-color: #D0043C !important;
    outline: none !important;
}

/* Textarea height */
#gform_wrapper_1 textarea {
    height: 95px !important;
    min-height: 95px !important;
    resize: vertical !important;
}

/* --- "I'm interested in" checkboxes: 2 columns, top-to-bottom flow --- */
#gform_wrapper_1 .gfield_checkbox {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: repeat(2, auto) !important;
    grid-auto-flow: column !important;
    column-gap: 30px !important;
    row-gap: 10px !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
}

#gform_wrapper_1 .gfield_checkbox .gchoice {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#gform_wrapper_1 .gfield_checkbox input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    top: 0 !important;
    position: relative !important;
}

#gform_wrapper_1 .gfield_checkbox label {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    color: #333 !important;
}

/* --- Submit button --- */
#gform_wrapper_1 .gform_footer {
    display: flex !important;
    justify-content: center !important;
    margin: 30px 0 0 0 !important;
    padding: 0 !important;
}

#gform_wrapper_1 .gform_button {
    background: #D0043C !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 3px !important;
    padding: 16px 50px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    width: auto !important;
}

#gform_wrapper_1 .gform_button:hover {
    background: #a80331 !important;
}

/* --- Validation / description spacing cleanup --- */
#gform_wrapper_1 .gfield_description,
#gform_wrapper_1 .gform_validation_errors {
    margin-top: 6px !important;
    padding: 4px 0 !important;
}
.gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li{
    width: 100% !important;
}
body .gform_legacy_markup_wrapper ul li.field_description_below div.ginput_container_checkbox, body .gform_legacy_markup_wrapper ul li.field_description_below div.ginput_container_radio{
    margin-top: 0 !important;
}
#gform_wrapper_1 .gfield_label{
    margin: 20px 0 0 0 !important;
}
.gform_legacy_markup_wrapper div.validation_error{
  margin-bottom: 0 !important;
}
h2.gform_submission_error.hide_summary {
    font-size: 14px !important;
    color: #cc0033 !important;
}
#gform_wrapper_1 .gform_button{
    border: 2px solid #a80331 !important;
}
#gform_wrapper_1 .gform_button:hover{
    background-color: #fff !important;
    color: #a80331 !important;
    border: 2px solid #a80331 !important;
}
/* Keep "Transformation" on one line — no mid-word breaking */
#circle2 p {
  white-space: nowrap;   /* never wrap; the <br> still controls the two lines */
  word-break: normal;
  overflow-wrap: normal;
}

/* Allow the text to extend past the padded content area into the circle's full width */
#circle2 .tve-cb,
#circle2 .thrv_text_element {
  overflow: visible;
}
#go-top-btn {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #cc0033;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.15);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(204, 0, 51, 0.35),
              0 2px 6px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.85);
  transition: background 0.25s ease, box-shadow 0.25s ease;
  z-index: 9999;
  padding: 0;
}

#go-top-btn:hover {
  background: #ff4d73;
  color: #ffffff;
  box-shadow: 0 12px 32px rgba(204, 0, 51, 0.45),
              0 4px 8px rgba(0, 0, 0, 0.15);
}

#go-top-btn:active {
  background: #990026;
}

/* Subtle pulse ring on hover */
#go-top-btn::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid #ff4d73;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

#go-top-btn:hover::before {
  opacity: 0.4;
  transform: scale(1);
}
/* ---- Inverted state: button sitting over a .red-bg-section ---- */
#go-top-btn.is-on-red {
  background: #ffffff;
  color: #cc0033;
  border-color: rgba(204, 0, 51, 0.25);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18),
              0 2px 6px rgba(0, 0, 0, 0.12);
}

#go-top-btn.is-on-red:hover {
  background: #fff3f5;
  color: #cc0033;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25),
              0 4px 8px rgba(0, 0, 0, 0.15);
}

#go-top-btn.is-on-red:active {
  background: #ffe1e7;
}

/* Pulse ring switches to white so it reads on red */
#go-top-btn.is-on-red::before {
  border-color: #ffffff;
}

/* Hover styles only on devices that actually hover — prevents sticky
 * hover after tap on touch screens */
@media (hover: none) {
  #go-top-btn:hover,
  #go-top-btn.is-on-red:hover {
    background: #cc0033;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(204, 0, 51, 0.35),
                0 2px 6px rgba(0, 0, 0, 0.12);
  }
  #go-top-btn.is-on-red:hover {
    background: #ffffff;
    color: #cc0033;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18),
                0 2px 6px rgba(0, 0, 0, 0.12);
  }
  #go-top-btn:hover::before {
    opacity: 0;
  }
}
.contact-us-menu ul li .menu-item span{
	font-size: 14px;
}
/* --- Mobile: single column --- */
@media only screen and (max-width: 640px) {
    #gform_wrapper_1 .gform_fields {
        grid-row-gap: 18px !important;
    }
    #gform_wrapper_1 .gfield_checkbox {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        grid-auto-flow: row !important;
    }
    #gform_wrapper_1 .gform_button {
        width: 100% !important;
    }
}


@media (max-width: 767px) {
  .rci-stack {
    position: relative !important; /* disable sticky stacking on mobile */
    top: auto !important;          /* kill saved top: -723px */
    margin-bottom: 0 !important;   /* kill saved hold margin */
    transform: none !important;    /* kill saved transform */
  }
	
	.txt-center-align-767{
		text-align : center;
	}
	.footer-menu ul{
		justify-content: flex-start !important;
	}

  /* =========================================================
     Circles row — MOBILE ONLY (≤767px). Desktop rules untouched.
     ========================================================= */

  /* Single source of truth for the mobile circle diameter.
     min() keeps it fluid on narrow phones, capped on large ones. */
  #circles-row {
    --rc-circle: min(56vw, 220px);
  }
  /* Enlarge the circles. ID + !important beats Thrive's generated
     [data-css] mobile rules and any inline width it saved. */
  #circle1, #circle2, #circle3 {
    width: var(--rc-circle) !important;
    max-width: none !important;
    height: var(--rc-circle) !important;
    min-height: var(--rc-circle) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 50% !important;
    /* keep the label vertically centered inside the fixed-height box */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  /* Thrive's absolutely-positioned bg layer follows the wrapper size */
  #circle1 .tve-content-box-background,
  #circle2 .tve-content-box-background,
  #circle3 .tve-content-box-background {
    border-radius: 50% !important;
  }
  /* Thrive's inner content wrapper — center if it is a flex column */
  #circle1 .tve-cb, #circle2 .tve-cb, #circle3 .tve-cb {
    justify-content: center !important;
  }
  /* Optional: scale the label with the bigger circle — tune to taste */
  #circle1 .tve-cb p, #circle2 .tve-cb p, #circle3 .tve-cb p {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }
  /* Connector is vertical on mobile: grows from the top edge downward.
     Position/size are set inline by JS — this is only the resting state. */
  #circles-row .rc-connector {
    width: 2px;
    height: 0;
    transform-origin: top center;
    transform: scaleY(0);
  }
}