/*
 Theme Name:   For Your Wellness Solutions
 Theme URI:    https://solucru.com
 Description:  Custom child theme created for For Your Wellness Solutions, designed for use with the Hello Elementor theme.
 Author:       Solucru
 Author URI:   https://solucru.com
 Template:     hello-elementor
 Version:      1.0.0
 */

 /*====================  Add your custom custom CSS below this line  ====================*/


/* 
   Developer: Richard Wickham
   Target page: Any page with popup
   Date: May 2025
   Purpose: Styling the popup container
   Block: Popup form
*/
/* Popup Overlay */
.solu-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto; /* Enable scrolling if content overflows */
    background: rgba(0, 0, 0, 0.7); /* Semi-transparent background */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    z-index: 99999;
    display: flex; /* Hide by default */
}

/* Popup Content */
.solu-popup-content {
    position: relative;
    background: #A59369;
    border-radius: 5px;
    height: 90%;
    width: 90%; /* width for desktop */
    max-width: 100%;
    padding: 36px;
    opacity: 0;
    transform: translateY(50px); /* Start slightly shifted down for slide effect */
    transition: all 0.8s ease;
    max-height: 100%; /* Ensure content doesn't exceed viewport height */
    overflow: visible; /* Enable scrolling within the popup */
    box-sizing: border-box;
    z-index: 99998;
}

/* Scrollable Container */
.solu-popup-scrollable {
    max-height: 100%;
    overflow-y: auto; /* Enable vertical scrolling */
}

/* Close Button */
button.solu-popup-close {
    position: absolute;
    top: -8px; /* Half the button's height */
    right: -8px; /* Half the button's width */
    width: 32px; /* Ensure consistent width for calculation */
    height: 32px; /* Ensure consistent height for calculation */
    padding: 0px 4px !important;
    background: #ff4969;
    color: rgba(255, 255, 255, 0.878);
    border: none;
    border-radius: 100%;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    text-align: center;
    z-index: 10000;
}

/* Animation States */
.solu-popup-overlay.show .solu-popup-content {
    opacity: 1;
    transform: translateY(0); /* Slide up into view */
}

/* Hide scrollbar for Chrome, Safari, and Opera */
.solu-popup-content::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge, and Firefox */
.solu-popup-content {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

/* Hide body scroll when popup is open */
body.no-scroll {
    overflow: hidden;
}

/* Pop-up heading styling */	
.popup-heading {
  text-align: center !important;
  font-weight: extra-bold !important;
  font-size: 36px !important;
  color: #222222 !important;
}

.gform-body.gform_body {
    padding: 0px 5px;
}

.gf-display-shortcode {
    padding-bottom: 3rem;
}

#ui-datepicker-div {
    z-index: 1000000 !important;
}

/* Mobile Responsiveness */
@media (max-width: 767px) {
    .solu-popup-content {
        width: 100%; /* 100% width for mobile */
        height: 100%;
        margin: 5px;
        max-height: 100%;
    }

    button.solu-popup-close:hover {
        border-radius: 0;
    }

    button.solu-popup-close   {
        position: absolute;
        top: 10px; 
        right: 10px; 
        width: 32px; /* Ensure consistent width for calculation */
        height: 32px; /* Ensure consistent height for calculation */
    }
}
/* 
    END OF BLOCK Popup form
*/


/* 
   Developer: Sergio
   Target page: Gravity Form Styles
   Date: November 2024
   Purpose: Styling the Gravity Form
   Block: Gravity Form
*/
.gf_top_error_message {
	font-size: 16px;
	color: #C02B0A;
}

.gfield_description.instruction.validation_message {
	color: #C02B0A;
}

.select2-container {
  display: none;
}

label.gfield_label.gform-field-label {
    color: #4C4947;
		font-weight: 800
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
    color: white;
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label {
    color: #ffffff !important;
}

.gform-theme--framework a {
    color: #ffffff;
    font-weight: semi-bold;
		text-decoration: 		underline; 
}

input#gform_submit_button_1, input#gform_submit_button_2 {
    background-color: #516672;
	color: #ffffff;
	font-weight: 600 !important;
	font-style: capitalize !important;
	font-size: 14px !important	
}

/* Gravity Form y-axis spacing between fields */
.gform-theme--foundation {
    --gf-form-gap-y: 15px !important;
}

div#field_1_13, div#field_2_13 {
    color: white;
}

div#field_1_14, div#field_2_14 {
    color: white;
}

span.gfield_required.gfield_required_text {
    color: black;
}

p.gform_required_legend {
    display: none;
}

span.gfield_required.gfield_required_asterisk {
    color: black;
}

body .gform_wrapper .gform_heading h2.gform_title {
    display: none !important;
}

input[type="radio"].gfield-choice-input:checked, input[type="checkbox"].gfield-choice-input:checked, .ginput_container_consent input[type="checkbox"]:checked {
    border-color: white;
    background-color: white;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before, .gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before {
    opacity: 1;
    color: #a59369 !important;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
    font-family: var(--gform-theme-icon-font-family)!important;
    font-family: var(--gf-icon-font-family, var(--gform-theme-icon-font-family))!important;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    speak: never;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #351e75;
    content: var(--gf-icon-ctrl-checkbox);
    font-size: var(--gf-ctrl-checkbox-check-size);
}

.gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
    background-color: #4e504f;
    block-size: var(--gf-ctrl-radio-check-size);
    border-radius: var(--gf-ctrl-radio-check-radius);
    content: var(--gf-ctrl-radio-check-content);
    inline-size: var(--gf-ctrl-radio-check-size);
}


p.gform_required_legend {
    display: none;
}

/* Target Gravity Form ID 1 + 2 Labels */
#gform_1 .gfield_label.gform-field-label, #gform_2 .gfield_label.gform-field-label{
    color: #ffffff;
	font-weight: 400
}

/* Target Gravity Form ID 2 Labels 
#gform_2 .gfield_label.gform-field-label{
    color: #A59369;
		font-weight: 400
}*/

.gform-theme--framework a {
    color: #333333;
    font-weight: bold;
}

.gform-theme--framework .gfield--type-choice.field_description_above.gfield--no-description:where(:not(.field_validation_above.gfield_error)) .gform-field-label:where(:not([class*=gform-field-label--type-])), .gform-theme--framework .gfield--type-choice.field_description_below:where(:not(.field_validation_above.gfield_error)) .gform-field-label:where(:not([class*=gform-field-label--type-])) {
    --gf-local-margin-y: 0 var(--gf-label-choice-field-space-primary);
    font-weight: 500;
    color: white;
}

/* Gravity Forms confirmation message box */
body .gform_confirmation_message {
  background-color: #DEEAD8 !important;
  width: 100%; /* Make the box full width */
  border-width: 1px !important;
  border-style: solid !important;
  text-align: center; /* Center align text */
  color: darkgreen; /* Set text color to dark green */
  padding: 20px; /* Add 20px padding */
}

.gform-theme--framework .gfield--type-choice.field_description_above.gfield--no-description:where(:not(.field_validation_above.gfield_error)) .gform-field-label:where(:not([class*=gform-field-label--type-])), .gform-theme--framework .gfield--type-choice.field_description_below:where(:not(.field_validation_above.gfield_error)) .gform-field-label:where(:not([class*=gform-field-label--type-])) {
    --gf-local-margin-y: 0 var(--gf-label-choice-field-space-primary);
    font-weight: 800;
    color: #575147 !important;
}

/* Gravity Forms step form progress bar main colour */
.gform-theme--framework .gf_progressbar .percentbar_blue {
    background-color: #FF4969 !important;
}

/* Gravity Forms step form progress bar secondary colour */
.gform-theme--framework .gf_progressbar {
    background-color: #FFD7DE !important;
    border-radius: var(--gf-field-pg-prog-bar-radius);
}

/* Gravity Form step form button styling */
.gform-theme.gform-theme--framework.gform_wrapper .button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper button.button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]).button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input:is([type=submit],[type=button],[type=reset]):where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper input[type=submit].button.gform_button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-bg-color: #FF4969 !important;
    --gf-local-radius: var(--gf-ctrl-btn-radius);
    --gf-local-border-color: var(--gf-ctrl-btn-border-color-primary);
    --gf-local-border-style: var(--gf-ctrl-btn-border-style-primary);
    --gf-local-border-width: var(--gf-ctrl-btn-border-width-primary);
    --gf-local-border-block-start: var(--gf-local-border-width) var(--gf-local-border-style) var(--gf-local-border-color);
    --gf-local-border-block-end: var(--gf-local-border-width) var(--gf-local-border-style) var(--gf-local-border-color);
    --gf-local-border-inline-start: var(--gf-local-border-width) var(--gf-local-border-style) var(--gf-local-border-color);
    --gf-local-border-inline-end: var(--gf-local-border-width) var(--gf-local-border-style) var(--gf-local-border-color);
    --gf-local-shadow: var(--gf-ctrl-btn-shadow);
    --gf-local-color: var(--gf-ctrl-btn-color-primary);
    --gf-local-column-gap: var(--gf-ctrl-btn-icon-gap);
    --gf-local-cursor: pointer;
    --gf-local-display: inline-flex;
    --gf-local-font-style: var(--gf-ctrl-btn-font-style);
    --gf-local-font-weight: var(--gf-ctrl-btn-font-weight);
    --gf-local-font-size: var(--gf-ctrl-btn-font-size);
    --gf-local-font-family: var(--gf-ctrl-btn-font-family);
    --gf-local-height: auto;
    --gf-local-letter-spacing: var(--gf-ctrl-btn-letter-spacing);
    --gf-local-line-height: var(--gf-ctrl-btn-line-height);
    --gf-local-min-height: var(--gf-ctrl-btn-size);
    --gf-local-min-width: auto;
    --gf-local-opacity: var(--gf-ctrl-btn-opacity);
    --gf-local-padding-y: var(--gf-ctrl-btn-padding-y);
    --gf-local-padding-x: var(--gf-ctrl-btn-padding-x);
    --gf-local-text-decoration: var(--gf-ctrl-btn-text-decoration);
    --gf-local-text-transform: var(--gf-ctrl-btn-text-transform);
    --gf-local-width: auto;
    align-items: center;
    -moz-column-gap: var(--gf-local-column-gap);
    column-gap: var(--gf-local-column-gap);
    cursor: var(--gf-local-cursor);
    justify-content: center;
    min-inline-size: var(--gf-local-min-width);
    opacity: var(--gf-local-opacity);
    text-align: center;
    -webkit-text-decoration: var(--gf-local-text-decoration);
    text-decoration: var(--gf-local-text-decoration);
    text-transform: var(--gf-local-text-transform);
    vertical-align: top;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: capitalize !important;
    border-radius: 0px !important;
	    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* Selector dropdown padding */
.gform_wrapper .gform_body select, .gform_wrapper.gf_browser_chrome .gform_body .ginput_complex .ginput_right select, .gform_wrapper.gf_browser_chrome .gform_body .ginput_complex select, .mc4wp-form form select {
    padding: 0px 10px 5px !important;
    font-size: 100%;
}


label.gform-field-label.gform-field-label--type-inline.gfield_consent_label {
    color: #ffffff !important;
}

/* Gravity Form input styling */
.gform_wrapper .gform_body input[type=text], .gform_wrapper .gform_body input[type=tel], .gform_wrapper .gform_body input[type=url], .gform_wrapper .gform_body input[type=email], .gform_wrapper .gform_body input[type=number], .gform_wrapper .gform_body input[type=password] {
    padding: 9px 10px 8px;
    font-size: 100%;
    background-color: #fff6f6 !important;
    border-color: #e4e4e4 !important;
    border-width: 2px !important;
}

/* Gravity Form dropdown field styling */
.gform-theme--foundation .gfield .ginput_password, .gform-theme--foundation .gfield input, .gform-theme--foundation .gfield select {
    max-inline-size: 100%;
    background-color: #fff6f6 !important;
    border-color: #e4e4e4 !important;
    border-width: 2px !important;
}

/* Gravity Form text area field styling */
.gform-theme--foundation .gfield textarea.medium {
    min-block-size: 12rem;
    border-width: 2px !important;
	    background-color: #fff6f6 !important;
    border-color: #e4e4e4 !important;
}

/* Gravity Form asterisk styling */
span.gfield_required.gfield_required_asterisk {
    color: #000000 !important;
} 

/* Navigation sub-menu font family */
.horizontal-sub-nav>li>a .menu-text {
    grid-area: header;
    font-family: 'Rubik';
}

.gfield_consent_label a {
    text-decoration: none;
}

#gform_1 .gfield_label.gform-field-label, #gform_2 .gfield_label.gform-field-label {
    color: #ffffff !important;
    font-weight: 400;
}

.elementor-kit-13 .ginput_container_consent input:not([type="button"]):not([type="submit"]) {
    padding: 5px;
}

div#gfield_description_2_18 {
    color: #fff;
}

/* Gravity Form datepicker numbers hover styling color */
.gform-theme--framework.ui-datepicker table td:not(.ui-state-disabled):not(.ui-datepicker-current-day) a:hover {
    --gf-local-bg-color: #E1BB78 !important;
    --gf-local-color: var(--gf-ctrl-date-picker-cell-content-color-hover);
}

/* Gravity Form datepicker number selected styling color */
.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day a, .gform-theme--framework.ui-datepicker table .ui-datepicker-current-day span {
    --gf-local-bg-color: #a59369 !important;
    --gf-local-color: var(--gf-ctrl-date-picker-cell-content-color-selected);
}

/* Gravity Form datepicker full width */
input#input_2_18 {
    width: 100%;
}

/* 
    END OF BLOCK Gravity form
*/