/*
Theme Name: Valorous Circle's Hello Elementor Child
Theme URI: https://valorouscircle.com
Template: hello-elementor
Author: Valorous Circle Marketing
Author URI: https://valorouscircle.com
Description: A plain-vanilla &amp; lightweight theme for Elementor page builder
Tags: flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.3.4
Updated: 2025-08-06 10:10:00

*/


/* ==================== Base ==================== */

/* ---------- Global Variables ---------- */
:root {
	/* Radius & Shadow */
	--vc-radius: 12px;
	--vc-radius-s: calc(var(--vc-radius) / 2);
	--vc-box-shadow: rgba(0, 0, 0, 0.1) 5px 15px 45px -6px;

	/* Sections: Spacing & Gutter */
	--vc-gutter: clamp(1.2rem, 4.606vw + -0.527rem, 5rem);
	--vc-space-xs: clamp(1rem, 2.424vw + 0.091rem, 3rem);
	--vc-space-s: clamp(2rem, 2.424vw + 1.091rem, 4rem);
	--vc-space-m: clamp(3rem, 2.424vw + 2.091rem, 5rem);
	--vc-space-l: clamp(4.5rem, 3.944vw + 3.268rem, 8rem);
	
	/* Legacy Sections: Spacing & Gutter */
	--vc-container-gutter: var(--vc-gutter); --vc-container-space-xs: var(--vc-space-xs);  --vc-container-space-s: var(--vc-space-s); --vc-container-space-m: var(--vc-space-m); --vc-container-space-l: var(--vc-space-l);
}

/* ---------- Section Classes ---------- */
.e-con.vc-outer-con-xs {padding-block: var(--vc-space-xs); padding-inline: var(--vc-gutter);}
.e-con.vc-outer-con-s {padding-block: var(--vc-space-s); padding-inline: var(--vc-gutter);}
.e-con.vc-outer-con-m {padding-block: var(--vc-space-m); padding-inline: var(--vc-gutter);}
.e-con.vc-outer-con-l {padding-block: var(--vc-space-l); padding-inline: var(--vc-gutter);}

/* ---------- Gravity Forms ---------- */
/* Field Labels */
.gform_wrapper.gravity-theme .gfield .gfield_label {color: var(--e-global-color-primary); font-weight: 600; font-size: 16px;}

/* Fields */
:root {--vc-form-label-gap: 5px;}

.gform_wrapper.gravity-theme {font-family: var(--e-global-typography-text-font-family), Sans-serif;}
.elementor-shortcode .gform_wrapper .gform_fields {grid-row-gap: 20px;}

.elementor-shortcode .gform_wrapper.gravity-theme :is(
  input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], textarea, select) {
  padding: 10px 15px;
    min-height: 45px;
    line-height: 1.5em;
    color: var(--e-global-color-text);
    border: 2px solid var(--e-global-color-1ed9b58);
	font-size: 16px;
	margin-top: var(--vc-form-label-gap);
	border-radius: 6px;
	box-shadow: 0 1px 2px #23272e14;
}

.elementor-shortcode .gform_wrapper.gravity-theme .gfield_checkbox .gfield-choice-input {vertical-align: top; margin-top: 3px;}
.elementor-shortcode .gform_wrapper.gravity-theme .gfield_checkbox label {padding-left: 4px;}
.elementor-shortcode .gform_wrapper.gravity-theme .gform_drop_area {margin-top: var(--vc-form-label-gap);}

/* Description */
.gform_wrapper.gravity-theme .field_description_above .gfield_description {padding-top: 0px; line-height: 1.4em;}

/* Confirmiation Message */
.gform_confirmation_message p {font-family: var(--e-global-typography-text-font-family), Sans-serif; font-weight: bold; font-style: italic;}

/* Required Legend */
.gform_required_legend {font-family: var(--e-global-typography-text-font-family), Sans-serif; font-size: 15px;}

/* Google Policy */
.vc-GFGooglePolicy {font-size: 12px; line-height: 1.3;}
.gform_wrapper.gravity-theme.gform-theme--no-framework .gform_footer {padding: 5px 0;}

/* ---------- Single Blog Post ---------- */
.vc-post-content :is(h1, h2, h3, h4, h5, h6) {
	margin-top: 1em;
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-weight: var(--e-global-typography-primary-font-weight);
}

/* List Spacing and Style */
:is(.single-post .vc-post-content, .single-post .vc-post-content.elementor-widget-theme-post-content, .vc-content-fix) :is(ul, ol) {margin-bottom: 1em; text-wrap: pretty;}
:is(.single-post .vc-post-content, .vc-content-fix) li:not(:last-of-type) {margin-bottom: .3em;}
:is(.single-post .vc-post-content, .vc-content-fix) li {line-height: 1.5;}
.elementor :is(.single-post .vc-post-content, .elementor-widget-text-editor) ul li::marker {color: var(--e-global-color-adf62c6);}

/* Table of Contents */
.single-post .elementor-toc__list-item-text-wrapper {align-items: start;}
.single-post .elementor-toc__list-item-text-wrapper svg {margin-top: 3px;}

/* ---------- Footer ---------- */
/* JE Dynamic Links */
:is(.elementor-location-footer, .template-type-footer) .jet-listing-dynamic-link__link {align-items: start;}
:is(.elementor-location-footer, .template-type-footer) .jet-listing-dynamic-link__icon {padding-top: 5px; align-self: start;}

/* Copyright */
.vc-copyright {opacity: 0.7;}

.vc-copyright a {color: inherit !important; font-weight: inherit; text-decoration: none;}

/* Social Media Links */
.vc-socials .jet-listing-dynamic-repeater__items ul {
    list-style-type: none;
    display: flex;
	flex-wrap: wrap;
    align-items: center;
    justify-content: center;
	padding-inline-start: 0px;
}

/** Footer Menu Responsiveness **/
@media (max-width: 767px) {
	:is(.elementor-location-footer, .template-type-footer) .vc-footer-menu :is(ul, li a) {display: block; width: 100%; margin: 0 !important; text-align: center;}
	:is(.elementor-location-footer, .template-type-footer) .jet-listing-dynamic-link__link {flex-wrap: wrap; text-align: center;}
    :is(.elementor-location-footer, .template-type-footer) .jet-listing-dynamic-link__icon {width: 100%; justify-content: center; padding-bottom: 5px;}
	:is(.elementor-location-footer, .template-type-footer) .jet-listing-dynamic-repeater__item p {display: block !important; text-align: center;}
	
}

/* ---------- Breadcrumbs ---------- */
.elementor-widget-breadcrumbs nav a {text-decoration: underline; text-underline-offset: 3px;}

/* ---------- Inline Links ---------- */
:is(.elementor:not(.elementor-location-footer) .elementor-widget-text-editor,
  .type-post .elementor-text-editor,
  .elementor-widget-theme-post-content .elementor-text-editor,
  .vc-post-content .elementor-widget-theme-post-content,
  .vc-post-content) :where(p, ul) a {text-decoration: underline; font-weight: bold; text-underline-offset: 4px;}


/* ==================== Utility Classes ==================== */

/* ---------- Box Shadows ---------- */
.vc-box-shadow.elementor-widget:not(.elementor-widget-image) .elementor-widget-container, .vc-box-shadow.e-con, .vc-box-shadow.elementor-widget-image img, .vc-box-shadow-hover.elementor-widget .elementor-widget-container:hover, .vc-box-shadow-hover.e-con:hover {box-shadow: var(--vc-box-shadow);}

/* ---------- Text Styles ---------- */
/* Callout Text */
.vc-highlight--primary {color: var(--e-global-color-7b1251f);}
.vc-highlight--secondary {opacity: 0.6;}
.vc-highlight--light {color: white;}

/* Span in Headline */
.vc-headline-before {
	display: inline-block;
	font-size: clamp(0.9rem, 0.242vw + 0.809rem, 1.1rem);
	line-height: 1.2;
	font-weight: 500;
	padding-bottom: 10px;
}

/* Text Balance */
.vc-balance {text-wrap: balance;}
.vc-pretty {text-wrap: pretty;}

/* Light Text */
.vc-light a {color: white;}
.elementor .vc-light :is(.vc-post-content, .elementor-widget-text-editor) ul li::marker {color: #fff;}

/* Remove Margin from Last Paragraph */
.vc-p-fix p:last-of-type {margin-block-end: 0;}

/* Accessibility */
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;} /*show text only on screen readers*/

/* ---------- Buttons ---------- */
.vc-btn__icon svg {font-size: calc(var(--e-global-typography-accent-font-size ) * 1.1);} /* large button icon */

/* ---------- Effects ---------- */
.vc-blur-s {backdrop-filter: blur(2px) grayscale(20%); -webkit-backdrop-filter: blur(2px) grayscale(20%);}
.vc-blur-m {backdrop-filter: blur(8px) grayscale(20%); -webkit-backdrop-filter: blur(8px) grayscale(20%);}

/* ---------- Site Header ---------- */
.elementor-location-header nav:not(.elementor-nav-menu--dropdown) .vc-hamburger-only {display: none;} /** hide menu items on non-hamburger menu **/

/* ---------- Gravity Forms ---------- */
/* Left Align Policy Text */
.vc-captcha-left .vc-GFGooglePolicy {text-align: left;}

/* Light Form */
.vc-form--light :is(.gform_required_legend, .gform_wrapper.gravity-theme .gfield_label, .gform_confirmation_message p) {color: #FFF;}
.elementor .vc-form--light .vc-GFGooglePolicy, .elementor .vc-form--light .vc-GFGooglePolicy a {color: var(--e-global-color-accent);}

/* ==================== Fixes ==================== */

/* ---------- Site Header ---------- */
.elementor-location-header .menu-item .elementor-sub-item:focus {background-color: white;} /* focus state */

/* ---------- Buttons ---------- */
.elementor-button .elementor-button-icon svg {transition: .3s ease;}
.elementor-button .elementor-button-icon svg {margin-bottom: -2px;}
.elementor-button .elementor-button-content-wrapper {align-items: center;}
.elementor-button .elementor-button-content-wrapper .elementor-button-text {flex-grow: 0;}

/* ---------- Elementor Admin Bar ---------- */
#wpadminbar .quicklinks .menupop#wp-admin-bar-elementor_edit_page ul li .ab-item {min-width: 300px;}

/* ---------- Password Protected Page ---------- */
form.post-password-form {max-width: 600px; margin-left: auto; margin-right: auto; padding: 5rem 5%;}
form.post-password-form p:nth-of-type(1), form.post-password-form label {font-weight: 500; color: #000; line-height: 1.6;}
form.post-password-form input {height: 45px; border-radius: 3px;}
form.post-password-form input[type="submit"] {height: 46px; border-radius: 3px; border-color: var(--e-global-color-accent); padding: 0 15px;}

/* ==================== Additional CSS ==================== */
/* add your CSS here */