.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), overpass;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-26269 .elementor-element.elementor-element-e254213{text-align:center;}.elementor-26269 .elementor-element.elementor-element-e254213 .elementor-heading-title{font-size:50px;font-weight:600;-webkit-text-stroke-width:0px;stroke-width:0px;-webkit-text-stroke-color:#000;stroke:#000;color:#722C8F;}.elementor-26269 .elementor-element.elementor-element-142ac30{text-align:center;}.elementor-26269 .elementor-element.elementor-element-142ac30 .elementor-heading-title{font-weight:400;color:#000000;}.elementor-26269 .elementor-element.elementor-element-f85bccf > .elementor-container{max-width:500px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-26269 .elementor-element.elementor-element-112af8b{width:var( --container-widget-width, 5.765% );max-width:5.765%;--container-widget-width:5.765%;--container-widget-flex-grow:0;bottom:14%;z-index:999;}body:not(.rtl) .elementor-26269 .elementor-element.elementor-element-112af8b{left:1%;}body.rtl .elementor-26269 .elementor-element.elementor-element-112af8b{right:1%;}.elementor-26269 .elementor-element.elementor-element-112af8b .elementor-icon-wrapper{text-align:center;}.elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-stacked .elementor-icon{background-color:#722B8E;}.elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-framed .elementor-icon, .elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-default .elementor-icon{color:#722B8E;border-color:#722B8E;}.elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-framed .elementor-icon, .elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-default .elementor-icon svg{fill:#722B8E;}.elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-framed .elementor-icon:hover{background-color:#8EE28C;}.elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-stacked .elementor-icon:hover{color:#8EE28C;}.elementor-26269 .elementor-element.elementor-element-112af8b.elementor-view-stacked .elementor-icon:hover svg{fill:#8EE28C;}.elementor-26269 .elementor-element.elementor-element-112af8b .elementor-icon{padding:10px;}.elementor-26269 .elementor-element.elementor-element-4c5f101{border-style:none;}.elementor-26269 .elementor-element.elementor-element-e9ea67f{width:var( --container-widget-width, 5.822% );max-width:5.822%;--container-widget-width:5.822%;--container-widget-flex-grow:0;top:69%;}.elementor-26269 .elementor-element.elementor-element-e9ea67f > .elementor-widget-container{background-color:#FFFFFF00;}body:not(.rtl) .elementor-26269 .elementor-element.elementor-element-e9ea67f{left:1%;}body.rtl .elementor-26269 .elementor-element.elementor-element-e9ea67f{right:1%;}.elementor-26269 .elementor-element.elementor-element-e9ea67f .elementor-icon-wrapper{text-align:center;}.elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-stacked .elementor-icon{background-color:#722C8F;}.elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-framed .elementor-icon, .elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-default .elementor-icon{color:#722C8F;border-color:#722C8F;}.elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-framed .elementor-icon, .elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-default .elementor-icon svg{fill:#722C8F;}.elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-framed .elementor-icon:hover{background-color:#8EE28C;}.elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-stacked .elementor-icon:hover{color:#8EE28C;}.elementor-26269 .elementor-element.elementor-element-e9ea67f.elementor-view-stacked .elementor-icon:hover svg{fill:#8EE28C;}.elementor-26269 .elementor-element.elementor-element-e9ea67f .elementor-icon{padding:10px;}body.elementor-page-26269:not(.elementor-motion-effects-element-type-background), body.elementor-page-26269 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}/* Start custom CSS */#field_2_26 {
    display: none !important;
}

/* Section Separator Styles */
.gsection {
  margin: 3rem 0 2rem 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.gform-theme--foundation #gform_fields_2 {
  grid-row-gap: 1px !important;
}

.gsection_title {
  font-family: 'Overpass', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #722c8f !important;
  margin: 0 0 1.5rem 0 !important;
  padding-bottom: 1rem !important;
  border-bottom: 3px solid #722c8f !important;
  position: relative !important;
  display: inline-block !important;
}

/* Optional: Add decorative element */
.gsection_title::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 60%;
  height: 3px;
  background: linear-gradient(90deg, #9d4edd 0%, transparent 100%);
}

/* Alternative: Full-width separator with centered title */
.gsection--alt .gsection_title {
  display: block !important;
  text-align: center !important;
  border-bottom: none !important;
  padding-bottom: 0.75rem !important;
}

.gsection--alt::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #722c8f 50%, transparent 100%);
  margin-top: 0.75rem;
}

/* Responsive */
@media (max-width: 768px) {
  .gsection {
    margin: 2rem 0 1.5rem 0 !important;
  }
  
  .gsection_title {
    font-size: 1.25rem !important;
  }
}



/* Form Heading Styles */
.gform_heading {
  text-align: center !important;
  margin-bottom: 2.5rem!important;
  padding-bottom: 1.5rem!important;
  border-bottom: 2px solid #e5e7eb!important;
}

.gform_title {
  font-family: 'Overpass', sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 700 !important;
  color: #722c8f !important;
  margin: 0 0 0.5rem 0 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
}

.gform_description {
  font-family: 'Overpass', sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  color: #6b7280 !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Optional: Add a gradient underline effect */
.gform_title::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #722c8f 0%, #9d4edd 100%);
  margin: 1rem auto 0;
  border-radius: 2px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .gform_title {
    font-size: 1.75rem !important;
  }
  
  .gform_description {
    font-size: 1rem !important;
  }
}


/* Import Overpass Font */
@import url('https://fonts.googleapis.com/css2?family=Overpass:wght@300!important;400!important;600!important;700&display=swap')!important;

/* Apply Overpass to entire form */
#gform_2,
#gform_2 * {
  font-family: 'Overpass', sans-serif!important;
}

/* Progress Bar Styles */
.gf_progressbar_wrapper {
  margin-bottom: 2rem!important;
}

.gf_progressbar_title {
  font-size: 1rem!important;
  font-weight: 600!important;
  margin-bottom: 0.75rem!important;
  color: #333!important;
}

.gf_progressbar {
  height: 12px!important;
  background-color: #e5e7eb!important;
  border-radius: 6px!important;
  overflow: hidden!important;
}

.gf_progressbar_percentage {
  height: 100%!important;
  background-color: #722c8f!important;
  transition: width 0.3s ease!important;
  display: flex!important;
  align-items: center!important;
  justify-content: flex-end!important;
  padding-right: 8px!important;
}

.gf_progressbar_percentage span {
  font-size: 0.75rem!important;
  color: white!important;
  font-weight: 600!important;
}

/* Form Container */
.gform_body {
  background: white!important;
  padding: 2rem!important;
  border-radius: 8px!important;
}

/* Field Labels */
.gfield_label {
  display: block!important;
  font-weight: 600!important;
  margin-bottom: 0.5rem!important;
  color: #1f2937!important;
  font-size: 1.2rem !important;
}

.gfield_required {
  color: #ef4444!important;
  margin-left: 0.25rem!important;
}

/* Input Fields */
input[type="text"],
input[type="number"],
input[type="email"] {
  width: 100%!important;
  padding: 0.875rem 1rem!important;
  border: 2px solid #e5e7eb!important;
  border-radius: 8px!important;
  font-size: 1.2rem!important;
  transition: all 0.2s!important;
  background: white!important;
  color: #1f2937!important;
}

input[type="text"]:hover,
input[type="number"]:hover,
input[type="email"]:hover {
  border-color: #d1d5db!important;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus {
  outline: none!important;
  border-color: #722c8f!important;
  box-shadow: 0 0 0 3px rgba(114, 44, 143, 0.1)!important;
  background: #fefefe!important;
}

input[type="text"]::placeholder,
input[type="number"]::placeholder,
input[type="email"]::placeholder {
  color: #9ca3af!important;
}

input[readonly] {
  background-color: #f9fafb!important;
  cursor: not-allowed!important;
  border-color: #e5e7eb!important;
}

/* Special styling for postal code field */
#field_2_23 {
  position: relative!important;
  margin-left: 20% !important;
}

#field_2_23 .gfield_label {
  font-size: 1.2rem!important;
  font-weight: 600!important;
  color: #1f2937!important;
  margin-bottom: 0.75rem!important;
  
}

#field_2_23 input {
  font-size: 1.125rem!important;
  padding: 1rem 1rem 1rem 3rem!important;
  letter-spacing: 0.025em!important;
  font-weight: 500!important;
  width: 60%!important;
}

#field_2_23 .ginput_container {
  position: relative!important;
}

#field_2_23 .ginput_container::before {
  content: '📍'!important;
  position: absolute!important;
  left: 1rem!important;
  top: 50%!important;
  transform: translateY(-50%)!important;
  font-size: 1.25rem!important;
  z-index: 1!important;
  pointer-events: none!important;
}

/* Input container improvements */
.ginput_container {
  position: relative!important;
}

/* Remove number spinner for postal code */
#input_2_23::-webkit-outer-spin-button,
#input_2_23::-webkit-inner-spin-button {
  -webkit-appearance: none!important;
  margin: 0!important;
}

#input_2_23[type="number"] {
  -moz-appearance: textfield!important;
}

/* General field wrapper improvements */
.gfield {
  margin-bottom: 1.5rem!important;
}

.gfield--width-full {
  width: 100%!important;
}

/* List Field Styles */
.ginput_list {
  margin-top: 1rem!important;
}

.gfield_list_container {
  background: #fafafa!important;
  padding: 1.5rem!important;
  border-radius: 8px!important;
  border: 1px solid #e5e7eb!important;
}

.gfield_list_header {
  display: grid!important;
  grid-template-columns: 1fr 1fr 1fr auto!important;
  gap: 1rem!important;
  padding-bottom: 0.75rem!important;
  border-bottom: 2px solid #722c8f!important;
  margin-bottom: 1.25rem!important;
}

.gfield_header_item {
  font-weight: 700!important;
  color: #722c8f!important;
  font-size: 0.9375rem!important;
  text-transform: uppercase!important;
  letter-spacing: 0.025em!important;
}

.gfield_list_groups {
  display: flex!important;
  flex-direction: column!important;
  gap: 1rem!important;
}

.gfield_list_group {
  display: grid!important;
  grid-template-columns: 1fr 1fr 1fr auto!important;
  gap: 1rem!important;
  align-items: start!important;
  background: white!important;
  padding: 1rem!important;
  border-radius: 6px!important;
  border: 1px solid #e5e7eb!important;
  transition: all 0.2s!important;
}

.gfield_list_group:hover {
  border-color: #722c8f!important;
  box-shadow: 0 2px 8px rgba(114, 44, 143, 0.08)!important;
}

.gfield_list_row_odd {
  background: white!important;
}

.gfield_list_row_even {
  background: #fcfcfc!important;
}

.gfield_list_group_item {
  display: flex!important;
  flex-direction: column!important;
}

.gfield_list_group_item input {
  width: 100%!important;
}

/* Show data-label on mobile */
.gfield_list_group_item::before {
  content: attr(data-label)!important;
  display: none!important;
  font-size: 0.75rem!important;
  font-weight: 600!important;
  color: #6b7280!important;
  margin-bottom: 0.25rem!important;
  text-transform: uppercase!important;
  letter-spacing: 0.025em!important;
}

.gfield_list_icons {
  display: flex!important;
  flex-direction: column!important;
  gap: 0.5rem!important;
  padding-top: 0!important;
}



/* Responsive Design for List */
@media (max-width: 768px) {
  .gfield_list_header {
    display: none!important;
  }
  
  .gfield_list_group {
    grid-template-columns: 1fr!important;
    gap: 0.75rem!important;
  }
  
  .gfield_list_group_item::before {
    display: block!important;
  }
  
  .gfield_list_icons {
    flex-direction: row!important;
    justify-content: space-between!important;
  }
  
  .add_list_item,
  .delete_list_item {
    flex: 1!important;
  }
}

/* Radio Buttons - General */
.ginput_container_radio {
  margin-top: 0.75rem!important;
}

.gfield_radio {
  display: flex!important;
  flex-direction: column!important;
  gap: 0.75rem!important;
}

.gchoice {
  display: flex!important;
  align-items: flex-start!important;
  gap: 0.75rem!important;
}

.gfield-choice-input[type="radio"] {
  margin-top: 0.25rem!important;
  width: 1.25rem!important;
  height: 1.25rem!important;
  cursor: pointer!important;
  flex-shrink: 0!important;
  accent-color: #722c8f!important;
}

.gform-field-label--type-inline {
  cursor: pointer!important;
  font-weight: 400!important;
  color: #374151!important;
}

/* Membership Radio Buttons - Special 2-column styling */
#field_2_24 .gfield_radio, #field_2_41 .gfield_radio {
  display: grid!important;
  grid-template-columns: repeat(2, 1fr)!important;
  gap: 1rem!important;
}

#field_2_24 .gchoice, #field_2_41 .gchoice {
  border: 2px solid #e5e7eb!important;
  border-radius: 8px!important;
  padding: 1.25rem 1.5rem!important;
  transition: all 0.3s!important;
  background: white!important;
  position: relative!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  cursor: pointer!important;
  min-height: 80px!important;
}

#field_2_24 .gchoice:hover, #field_2_41 .gchoice:hover {
  border-color: #722c8f!important;
  background-color: #faf8fb!important;
  transform: translateY(-2px)!important;
  box-shadow: 0 4px 12px rgba(114, 44, 143, 0.15)!important;
}

#field_2_24 .gchoice input[type="radio"], #field_2_41 .gchoice input[type="radio"] {
  position: absolute!important;
  opacity: 0!important;
  width: 100%!important;
  height: 100%!important;
  top: 0!important;
  left: 0!important;
  cursor: pointer!important;
  margin: 0!important;
}

#field_2_24 .gchoice label, #field_2_41 .gchoice label {
  font-size: 1.125rem!important;
  font-weight: 600!important;
  color: #4b5563!important;
  cursor: pointer!important;
  margin: 0!important;
  position: relative!important;
  z-index: 1!important;
  pointer-events: none!important;
  display: flex!important;
  align-items: center!important;
  gap: 0.75rem!important;
}

#field_2_24 .gchoice label::before, #field_2_41 .gchoice label::before  {
  content: ''!important;
  width: 24px!important;
  height: 24px!important;
  border: 2px solid #d1d5db!important;
  border-radius: 50%!important;
  display: inline-block!important;
  transition: all 0.2s!important;
  flex-shrink: 0!important;
}

#field_2_24 .gchoice:has(input:checked), #field_2_41 .gchoice:has(input:checked) {
  border-color: #722c8f!important;
  background: linear-gradient(135deg, #f5eef8 0%, #ead9f1 100%)!important;
  box-shadow: 0 4px 16px rgba(114, 44, 143, 0.25)!important;
}

#field_2_24 .gchoice:has(input:checked) label, #field_2_41 .gchoice:has(input:checked) label {
  color: #722c8f!important;
  font-weight: 700!important;
}

#field_2_24 .gchoice:has(input:checked) label::before, #field_2_41 .gchoice:has(input:checked) label::before {
  border-color: #722c8f!important;
  background-color: #722c8f!important;
  box-shadow: inset 0 0 0 4px white!important;
}

/* Responsive for membership */
@media (max-width: 640px) {
  #field_2_24 .gfield_radio, #field_2_41 .gfield_radio {
    grid-template-columns: 1fr!important;
  }
}

/* Pricing Tier Radio Buttons - Special Styling */
#field_2_26 .gfield_radio {
  display: grid!important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))!important;
  gap: 1rem!important;
}

#field_2_26 .gchoice {
  border: 2px solid #e5e7eb!important;
  border-radius: 8px!important;
  padding: 1.5rem!important;
  transition: all 0.3s!important;
  background: white!important;
  position: relative!important;
  display: block!important;
}

#field_2_26 .gchoice:hover {
  border-color: #722c8f!important;
  box-shadow: 0 4px 12px rgba(114, 44, 143, 0.1)!important;
  transform: translateY(-2px)!important;
}

#field_2_26 .gchoice input[type="radio"] {
  position: absolute!important;
  top: 1rem!important;
  right: 1rem!important;
}

#field_2_26 .gchoice input[type="radio"]:checked ~ label {
  color: #722c8f!important;
  font-weight: 600!important;
}

#field_2_26 .gchoice:has(input:checked) {
  border-color: #722c8f!important;
  background-color: #f5eef8!important;
  box-shadow: 0 4px 16px rgba(114, 44, 143, 0.15)!important;
}

#field_2_26 label {
  display: block!important;
  padding-right: 2rem!important;
  font-size: 1.125rem!important;
  font-weight: 600!important;
  margin-bottom: 0.75rem!important;
}

#field_2_26 ul {
  list-style: none!important;
  padding: 0!important;
  margin: 0.5rem 0 0 0!important;
}

#field_2_26 ul li {
  padding: 0.375rem 0 0.375rem 1.5rem!important;
  position: relative!important;
  color: #6b7280!important;
  font-size: 0.9375rem!important;
  font-weight: 400!important;
}

#field_2_26 ul li::before {
  content: "✓"!important;
  position: absolute!important;
  left: 0!important;
  color: #10b981!important;
  font-weight: 700!important;
}

/* Option Radio Buttons with Prices */
#field_2_29 .gchoice {
  padding: 1rem!important;
  border: 1px solid #e5e7eb!important;
  border-radius: 6px!important;
  transition: all 0.2s!important;
}

#field_2_29 .gchoice:hover {
  border-color: #722c8f!important;
  background-color: #faf8fb!important;
}

#field_2_29 .gchoice:has(input:checked) {
  border-color: #722c8f!important;
  background-color: #f5eef8!important;
}

.ginput_price {
  color: #722c8f!important;
  font-weight: 600!important;
  margin-left: 0.5rem!important;
}

/* Product Price Display */
.ginput_product_price_wrapper {
  display: flex!important;
  align-items: center!important;
  gap: 0.75rem!important;
  padding: 1rem!important;
  background-color: #f9fafb!important;
  border-radius: 6px!important;
  margin-top: 0.5rem!important;
}

.ginput_product_price_label {
  font-weight: 600!important;
  color: #4b5563!important;
}

.ginput_product_price {
  font-size: 1.25rem!important;
  font-weight: 700!important;
  color: #1f2937!important;
}

/* Total Field */
#field_2_28 {
  background: linear-gradient(135deg, #f5eef8 0%, #ead9f1 100%)!important;
  padding: 1.5rem!important;
  border-radius: 8px!important;
  border: 2px solid #722c8f!important;
}

#field_2_28 .gfield_label {
  font-size: 1.125rem!important;
  color: #4a1d5c!important;
}

#field_2_28 .ginput_total {
  font-size: 2rem!important;
  font-weight: 700!important;
  color: #722c8f!important;
  text-align: center!important;
}

/* Address Fields */
.ginput_container_address {
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: 0.5rem!important;
  margin-top: 1rem!important;
}

.ginput_full {
  grid-column: 1 / -1!important;
}

.address_line_1,
.address_line_2 {
  grid-column: 1 / -1!important;
}

/* Name Fields */
.ginput_container--name {
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: 1rem!important;
  margin-top: 0.5rem!important;
}

.gform-field-label--type-sub {
  font-size: 0.875rem!important;
  font-weight: 500!important;
  color: #6b7280!important;
  margin-bottom: 0.375rem!important;
  display: block!important;
}

/* Buttons */
.gform_next_button,
.gform_previous_button,
.gform_button {
  padding: 0.875rem 2rem!important;
  font-size: 1rem!important;
  font-weight: 600!important;
  border-radius: 6px!important;
  cursor: pointer!important;
  transition: all 0.2s!important;
  border: none!important;
}

.gform_next_button,
.gform_button {
  background-color: #722c8f!important;
  color: white!important;
}

.gform_next_button:hover,
.gform_button:hover {
  background-color: #5c2373!important;
  transform: translateY(-1px)!important;
  box-shadow: 0 4px 12px rgba(114, 44, 143, 0.3)!important;
}

.gform_previous_button {
  background-color: white!important;
  color: #4b5563!important;
  border: 1px solid #d1d5db!important;
  margin-right: 1rem!important;
}

.gform_previous_button:hover {
  background-color: #f9fafb!important;
  border-color: #9ca3af!important;
}

/* Page Footer */
.gform_page_footer {
  margin-top: 2rem!important;
  padding-top: 2rem!important;
  border-top: 1px solid #e5e7eb!important;
}

/* Stripe Field */
.ginput_stripe_creditcard {
  margin-top: 0.5rem!important;
}

.StripeElement--card {
  padding: 0.75rem!important;
  border: 1px solid #d1d5db!important;
  border-radius: 6px!important;
  background: white!important;
}

/* Validation/* End custom CSS */