/*
Theme Name: Hello Biz Child
Theme URI: https://elementor.com/products/hello-biz/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-biz
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Biz is a free, user-friendly Hybrid WordPress Theme that was crafted for seamless integration with the Elementor site builder and tailored specifically for business websites. Perfect for beginners, but far from limited to just them, it features a dedicated beginner-oriented “Home” screen to simplify and streamline the web-building process. Hello Biz also integrates with Elementor’s premium features, giving you access to tools like AI, and accessibility enhancements in one place. Whether launching a startup site or refining a company portfolio, Hello Biz offers a solid, responsive foundation for all web creators. Report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team validates, triages, and handles vulnerabilities. Report here: https://patchstack.com/database/wordpress/theme/hello-biz/vdp.
Tags: flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready,style-variations
Version: 1.2.1.1775825855
Updated: 2026-04-10 12:57:35
*/

/* ==========================================================================
   1. Base Setup & Typography
   ========================================================================== */

@font-face {
    font-family: 'Oswald Stencil Bold';
    src: url('fonts/oswald-stencil-bold.woff2') format('woff2'),
         url('fonts/oswald-stencil-bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

html, body, .elementor, .elementor-location-body {
    background-color: #000 !important;
}

h1, h2, h3, h4, h5, h6, 
.site-title, .entry-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
.style-as-h1 .elementor-heading-title,
.style-as-h2 .elementor-heading-title,
.style-as-h3 .elementor-heading-title,
.style-as-h4 .elementor-heading-title,
.style-as-h5 .elementor-heading-title,
.style-as-h6 .elementor-heading-title {
    font-family: 'Oswald Stencil Bold', sans-serif !important;
}

h1 {
    -webkit-text-stroke: .75px #000;
    text-stroke: .75px #000; 
}

h2 { font-size: 52px; }

a {
    color: #9f2024;
    text-decoration: underline; 
}

a:hover {
    color: #fff; 
    text-decoration: none; 
}

sup, .reg-mark {
    vertical-align: super;
    font-size: smaller;
}

.reg-sup {
    vertical-align: super;
    font-size: 0.6em; 
    line-height: 0;
}

/* ==========================================================================
   2. Text "Visual Costumes" & Utilities
   ========================================================================== */

.state-filter-bar { display: none !important; }

.style-as-h1 .elementor-heading-title {
    -webkit-text-stroke: .75px #000 !important;
    text-stroke: .75px #000 !important; 
}

.style-as-h2 .elementor-heading-title { font-size: 52px !important; }
.style-as-h3 .elementor-heading-title { font-size: 40px !important; }
.style-as-h4 .elementor-heading-title { font-size: 32px !important; }
.style-as-h5 .elementor-heading-title { font-size: 24px !important; }
.style-as-h6 .elementor-heading-title { font-size: 18px !important; }

/* Strips heading styles for standard paragraph look */
.style-as-p .elementor-heading-title {
    font-family: inherit !important; 
    font-size: 16px !important; 
    font-weight: 400 !important; 
    line-height: 1.6 !important; 
    text-transform: none !important; 
    letter-spacing: normal !important;
    -webkit-text-stroke: 0px !important; 
}

/* Specific heavy P-Top style */
.style-as-p-top .elementor-heading-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: #ffffff !important; 
    -webkit-text-stroke-width: 0.75px !important;
    stroke-width: 0.75px !important;
    -webkit-text-stroke-color: #000000 !important;
    stroke: #000000 !important;
    text-shadow: 0px 10px 15px rgba(0, 0, 0, 0.69) !important;
    text-align: center !important; 
}

/* ==========================================================================
   3. Global Buttons
   ========================================================================== */

.elementor-button {
    text-transform: uppercase !important;
    min-width: 180px; 
    max-width: 300px; 
    text-align: center; 
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.elementor-button .elementor-button-text { white-space: wrap; }
.elementor-button-content-wrapper { width: 100%; }

/* Header Specific Buttons */
header .elementor-widget-button .elementor-button {
    width: 140px;
    min-width: 140px;
    max-width: 140px;
}

/* ==========================================================================
   4. Navigation Menu & Header
   ========================================================================== */

.elementor-nav-menu,
.elementor-widget-nav-menu {
    position: relative !important;
    z-index: 99999 !important;
}

.elementor-nav-menu--main .elementor-item {
    padding-left: 12px !important; 
    padding-right: 12px !important; 
}

header .elementor-menu-toggle {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

header .elementor-menu-toggle:hover,
header .elementor-menu-toggle:focus {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

header .elementor-menu-toggle svg {
    width: 32px !important;  
    height: 32px !important;
    stroke-width: 1.5;
    margin-top: -15px;
}

/* Submenu Default States & Interactions */
.elementor-nav-menu--dropdown .sub-menu {
    display: none !important; /* Force closed by default */
    background: #fff !important; 
    border-top: 1px solid #ddd; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); 
    padding: 0 !important;
}

.elementor-nav-menu--dropdown .menu-item-has-children > a[aria-expanded="true"] + .sub-menu {
    display: block !important; /* Open on tap/click */
}

.elementor-nav-menu--dropdown .menu-item-has-children > a { position: relative; cursor: pointer; }

/* Global Override: Force Submenu Icons Hidden */
.elementor-nav-menu--dropdown .menu-item-has-children > a::after {
    content: none !important;
}

/* Submenu Links Styling (All levels) */
.elementor-nav-menu--dropdown .sub-menu a {
    color: #000 !important;
    background: #fff !important;
    padding: 12px 20px !important;
    text-transform: none;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: all 0.25s ease;
}

.elementor-nav-menu--dropdown .sub-menu a:hover,
.elementor-nav-menu--dropdown .sub-menu a.elementor-item-active {
    color: #fff !important;
    background: #9f2024 !important; 
}

/* Hide / Show sub-menu '+' toggle based on screen size (Currently overridden by the global rule above) */
@media (max-width: 1690px) {
    .elementor-nav-menu--dropdown .menu-item-has-children > a::after {
        content: "+"; 
        float: right;
        font-size: 28px;        
        font-weight: 900;
        line-height: 1;     
        transition: transform 0.2s ease;
    }
}
@media (min-width: 1691px) {
    .elementor-nav-menu--dropdown .menu-item-has-children > a::after {
        content: none !important;
    }
}

/* ==========================================================================
   5. Elementor Calls To Action (CTA)
   ========================================================================== */

.elementor-widget-call-to-action a { color: #fff !important; }
.elementor-widget-call-to-action a:hover { font-weight: 700; }

.elementor-widget-call-to-action .elementor-cta__description,
.elementor-widget-call-to-action .elementor-cta__description p {
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Description Fade-in */
.elementor-widget-call-to-action .elementor-cta__description {
    opacity: 0;
    transition: opacity 0.3s ease;
}
.elementor-widget-call-to-action:hover .elementor-cta__description { opacity: 1; }

/* .ctamash - Centered Red Box */
.ctamash .elementor-cta__title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    width: auto;
    max-width: calc(100% - 40px);
    text-align: center;
    line-height: 28px !important;
    z-index: 2;
}

.ctamash .elementor-cta__title,
.ctamash .elementor-cta__title *,
.ctamash .elementor-cta__title span,
.ctamash .elementor-cta__title-text {
    display: inline-block;
    background-color: #9f2024;
    color: #fff;
    padding: 19px 20px;
    border-radius: 0px;
    white-space: wrap;
}

.ctamash:hover .elementor-cta__title { display: none; }
.ctamash .elementor-cta__content { position: relative; z-index: 3; }

/* .ctaname - Bottom Full-Width Bar */
.elementor-widget-call-to-action.ctaname .elementor-cta__title { line-height: 1.2 !important; }

.ctaname .elementor-cta { position: relative; overflow: hidden; }

.ctaname .elementor-cta__title {
    position: absolute;
    left: 0; right: 0; bottom: 0; 
    z-index: 3;
    margin: 0; 
    background: #9f2024; 
    color: #fff;
    text-align: center;
    display: flex; 
    align-items: center;
    justify-content: center;
    min-height: 48px; 
    padding: 10px 16px; 
    line-height: 1.2;
    transform: none; 
    white-space: normal; 
    word-break: break-word;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.ctaname .elementor-cta__title *,
.ctaname .elementor-cta__title span,
.ctaname .elementor-cta__title-text {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: inherit;
}

.ctaname .elementor-cta__content {
    position: relative;
    z-index: 2;
    padding-bottom: 56px; 
}

.ctaname .elementor-cta__bg-overlay {
    background: linear-gradient(to top, rgba(0,0,0,.35), rgba(0,0,0,0) 45%);
}

.ctaname:hover .elementor-cta__title,
.ctaname:hover .elementor-cta__title * {
    opacity: 0 !important;
    transform: translateY(20px) !important;
    visibility: hidden !important;
}

/* ==========================================================================
   6. Contact Form 7 Wrapper
   ========================================================================== */

.wpcf7 form .wpcf7-response-output { color: #ffffff !important; }

.custom-cf7-wrapper {
    background-color: transparent;
    width: 100%;
}

.custom-cf7-wrapper label {
    color: #ffffff;
    display: block;
    width: 100%;
    font-weight: 500;
}

.custom-cf7-wrapper .sub-label {
    display: block;
    font-size: 0.85em;
    color: #cccccc; 
    margin-bottom: 5px;
}

.custom-cf7-wrapper input[type="text"],
.custom-cf7-wrapper input[type="email"],
.custom-cf7-wrapper input[type="tel"],
.custom-cf7-wrapper input[type="date"],
.custom-cf7-wrapper textarea {
    background-color: #ffffff; 
    border: 3px solid #9f2024 !important; 
    color: #333333; 
    padding: 10px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 5px;
    display: block;
}

.custom-cf7-wrapper .form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
    width: 100%;
}

.custom-cf7-wrapper .form-group {
    margin-bottom: 15px;
    width: 100%;
}

.custom-cf7-wrapper .form-row .half {
    flex: 0 0 calc(50% - 10px);
    max-width: calc(50% - 10px);
    width: 100%;
}

.custom-cf7-wrapper br { display: none; }

.custom-cf7-wrapper input[type="submit"].custom-btn,
.custom-cf7-wrapper .wpcf7-submit {
    background-color: #9f2024;
    color: #ffffff; 
    border: none;
    padding: 12px 30px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s ease;
    width: auto;
}

.custom-cf7-wrapper input[type="submit"].custom-btn:hover,
.custom-cf7-wrapper .wpcf7-submit:hover {
    background-color: #7a181b; 
}

/* ==========================================================================
   7. Page / Widget Specific Overrides
   ========================================================================== */

.elementor-397:not(.elementor-motion-effects-element-type-background),
.elementor-397 > .elementor-motion-effects-layer {
    background-color: #000 !important;
}

/* ==========================================================================
   8. Media Queries (Mobile & Tablet Adjustments)
   ========================================================================== */

@media (max-width: 1680px) {
    .elementor-widget-call-to-action.ctaname .elementor-cta__title { line-height: 24px !important; }
}

@media (max-width: 1024px) {
    .elementor-button { min-width: 20px; }
    
    .elementor-cta_description.elementor-cta__content-item.elementor-content-item.elementor-animated-item--grow {
        font-size: 16px !important;
        line-height: 16px !important;
    }

    .ctamash .elementor-cta_description,
    .ctaname .elementor-cta_description,
    .ctamash .elementor-cta__description,
    .ctaname .elementor-cta__description,
    .ctamash .elementor-cta_description p,
    .ctaname .elementor-cta_description p,
    .ctamash .elementor-cta__description p,
    .ctaname .elementor-cta__description p {
        font-size: 18px !important;
        line-height: 18px !important;
    }

    .ctamash .elementor-cta_title,
    .ctaname .elementor-cta_title,
    .ctamash .elementor-cta__title,
    .ctaname .elementor-cta__title,
    .ctamash .elementor-cta__title h3,
    .ctaname .elementor-cta__title h3,
    .ctamash .elementor-cta_title h3,
    .ctaname .elementor-cta_title h3 {
        font-size: 20px !important;
    }
}

@media (max-width: 768px) {
    .custom-cf7-wrapper .form-row .half {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    h1, .elementor-widget-heading h1, .style-as-h1 .elementor-heading-title { font-size: 48px !important; }
    h2, .elementor-widget-heading h2, .style-as-h2 .elementor-heading-title { font-size: 40px !important; }
    
    .style-as-p-top .elementor-heading-title { font-size: 14px !important; }
    
    .ctaname .elementor-cta__title { min-height: 44px; padding: 8px 12px; }
    .ctaname .elementor-cta__content { padding-bottom: 50px; }

    .elementor-widget-call-to-action.ctaname .elementor-cta__title {
        font-size: 24px !important;
        line-height: 28px !important; 
    }

    .ctamash .elementor-cta_description,
    .ctaname .elementor-cta_description,
    .ctamash .elementor-cta__description,
    .ctaname .elementor-cta__description,
    .ctamash .elementor-cta_description p,
    .ctaname .elementor-cta_description p,
    .ctamash .elementor-cta__description p,
    .ctaname .elementor-cta__description p {
        font-size: 15px !important;
        line-height: 15px !important;
    }

    /* QA mobile specific overrides */
    .elementor-element-8c3c1dc .swiper-pagination,
    .elementor-element-d18e13f  .swiper-pagination,
    .page-id-8528 .swiper-pagination,
    .page-id-8706 .swiper-pagination {
        display: none !important;
    }
}