/*
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.5
Updated: 2026-01-22 08:16:00

*/


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

/* ---------- Global Variables ---------- */
:root {
	/* Radius & Shadow */
	--vc-radius: 12px;
	--vc-radius-s: calc(var(--vc-radius) / 2);
	--vc-box-shadow: 0px 6px 28px 0px rgb(0 0 0 / 55%);
	--shadow-glow: rgba(251,211,25,.35);
	--vc-box-shadow-glow-subtle: 0px 4px 19px 0px rgb(115 95 3 / 35%);
	
	/* Gradients */
	--gradient-gold: linear-gradient(90deg,#8d5f0a,#efc910,#b28007);

	/* 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);
	
	/* Card Padding */
	--card-pad-xs: 1em; --card-pad-s: 1.3em; --card-pad-m: 1.5em; --card-pad-l: 1.8em;
}

/* ---------- 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 ---------- */
.elementor .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);
	text-wrap: balance;
}

.elementor .vc-post-content :is(h3, h4, h5, h6) {font-weight: 600; text-transform: none;}

/* 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-acb5833);}

/* 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 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;}
	:is(.elementor-location-footer, .template-type-footer) .contact-methods .elementor-icon-list-item a {flex-direction: column; align-items: center; gap: 8px;}
}

/* ---------- 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);}
.vc-box-shadow-glow {box-shadow: 0px 4px 19px 0px var(--shadow-glow);}
.vc-box-shadow-glow-subtle {box-shadow: var(--vc-box-shadow-glow-subtle);}

/* ---------- Text Styles ---------- */
.vc-caps :is(.elementor-heading-title, p, span) {text-transform: uppercase !important;}

/* Callout Text */
.accent-text {color: var(--e-global-color-acb5833);}

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

/* 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 ---------- */
.elementor-button .elementor-button-icon svg {font-size: 1.2em; margin: -.1em 0; fill: var(--e-global-color-358129fe);}
:is(.btn--tertiary, .btn--secondary) .elementor-button .elementor-button-icon svg {fill: var(--e-global-color-acb5833);}

/* ---------- 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 */
selector nav.elementor-nav-menu--dropdown li .has-submenu .sub-arrow {padding: 14px 18px; margin-left: 10px;} /* larger hit box for mobile dropdown arrow */

/* ---------- 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-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;}

/* ---------- Icons ---------- */
.vc-fix-icon.elementor-widget-icon {flex: 0 0 auto; width: fit-content;}
.vc-fix-icon .elementor-icon-wrapper {line-height: 1 !important;}

/* ---------- 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 ==================== */
body {overflow-x: hidden;}

/* Background  Gradients and Textures */
.bg-texture::before {
	content: "" !important;
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(193, 133, 21, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(193, 133, 21, .06) 1px, transparent 1px);
	background-size: 56px 56px;
	pointer-events: none;
}

.gold-bar-top.e-con::before {
	content: "" !important;
    height: 3px !important;
    width: 100% !important;
    background: var(--gradient-gold);
    z-index: 10;
}

/* Buttons */
.elementor-widget-button:not(.btn--tertiary) .elementor-button:hover, .btn--primary:hover {transform: translate3d(0px, -2px, 0px); box-shadow: 0px 4px 19px 0px var(--shadow-glow);}
.btn--tertiary:not(.elementor-widget-button) .elementor-heading-title {
    display: flex; flex-wrap: nowrap; gap: 6px;
    font-family: var(--e-global-typography-cd4611f-font-family), Sans-serif; font-size: var(--e-global-typography-cd4611f-font-size); font-weight: var(--e-global-typography-cd4611f-font-weight); text-transform: var(--e-global-typography-cd4611f-text-transform); line-height: var(--e-global-typography-cd4611f-line-height); letter-spacing: var(--e-global-typography-cd4611f-letter-spacing);
    color: var(--e-global-color-acb5833);
    transition: all .3s ease;
    &:hover {color: var(--e-global-color-48d4067);}
    &::after {content: "➜";}
}

/* Icons */
.vc-icon {
    --bg: var(--e-global-color-70ce3e7); --icon-size: 2rem; --border-color: var(--e-global-color-acb5833); --radius: var(--vc-radius-s); --pad: .2em;
    & svg {margin: 0 !important; width: var(--icon-size) !important; height: var(--icon-size) !important;}
    & .elementor-icon-list-icon {--radius: 50vw; --icon-size: .6em; margin-right: 5px;}
	& .elementor-icon-box-wrapper {--border-color: var(--e-global-color-0ef775d);}
}

.vc-icon :is(.elementor-icon, .elementor-icon-list-icon) {aspect-ratio: 1;background: var(--bg); padding: var(--pad); border: 1px solid var(--border-color); border-radius: var(--radius); fill: var(--e-global-color-acb5833);}
.vc-icon.elementor-widget-icon-box .elementor-icon-box-title {margin-top: 5px;}

.vc-light .vc-icon :is(.elementor-icon, .elementor-icon-list-icon) {
    --bg: transparent;
    --border-color: rgba(0,0,0,.15);
	fill: var(--e-global-color-adf62c6);
}

/* Lists */
@media (min-width: 768px) {.list-grid--2 .elementor-icon-list-items {display: grid; grid-template-columns: 1fr 1fr; gap: .1em 2em;}}

/* Divider */
.vc-divider::after {content: ""; display: block; width: 56px; height: 2px; margin-block-start: 1rem; border-radius: 2px; background: var(--gradient-gold);}

/* Badge */
.vc-badge.e-con {
    width: fit-content; display: flex; flex-direction: row !important; gap: 15px; align-items: center; border-radius: 50vw; padding: 8px 15px; background: var(--e-global-color-6616731); border: 1px solid var(--e-global-color-0ef775d);
	@media (width > 767px) {gap: 10px;}
    & .elementor-widget-text-editor {
        line-height: 1.3;
        font-family: var( --e-global-typography-text-font-family ), Sans-serif;
        font-size: .75rem;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: .8px;
        color: var(--e-global-color-acb5833);
        & p {margin-block-end: 0;}
    }
    & .elementor-icon-wrapper {line-height: 0 !important; height: auto;}
    & svg {height: auto !important; fill: var(--e-global-color-acb5833);}
}

/* GTranslate */
body:has(.elementor-lightbox:not([style*="display: none"])) .gtranslate_wrapper {display: none;}

/* BRB Plugin */
@media (max-width: 547px) {
    .rpi-sh .rpi-text {height: auto !important; max-height: var(--text-height);}
    .rpi-sh .rpi-body:has(.rpi-media) .rpi-text,
    .rpi-sh .rpi-body:has(.rpi-reply) .rpi-text {height: auto !important;}
}