/**
Theme Name: AWD Child
Author: Austin Web & Design
Author URI: https://austinwebanddesign.com/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: awd-child
Template: astra
*/

/* ===========================
   Header
=========================== */
.ast-theme-transparent-header #masthead #ast-desktop-header .ast-primary-header { padding-top: 58px; }
.ast-theme-transparent-header #ast-fixed-header.ast-header-sticked #ast-desktop-header .ast-primary-header { padding-top: 0 !important; }
.ast-theme-transparent-header .ast-primary-header { position: relative; z-index: 10; }
.ast-theme-transparent-header:not(.ast-primary-sticky-header-active) .ast-primary-header::after, .ast-theme-transparent-header:not(.ast-primary-sticky-enabled) .ast-primary-header::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.25) 35%, rgba(0, 0, 0, 0) 100%); pointer-events: none; }
.ast-theme-transparent-header .ast-header-sticked .ast-primary-header::after, .ast-theme-transparent-header #ast-fixed-header.ast-header-sticked .ast-primary-header::after { background: none !important; opacity: 0 !important; }
#ast-desktop-header .ast-icon.icon-arrow { display: none; }
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item:last-child a.menu-link { padding-right: 20px; }
#ast-desktop-header li.awd-mega.menu-item ul.astra-megamenu.sub-menu, #ast-desktop-header li.awd-mega.menu-item ul.astra-megamenu.sub-menu li.menu-item { padding: 0; }
#ast-desktop-header .ast-mm-custom-content.ast-mm-widget-content { margin: 0; padding: 0; }
#ast-desktop-header li.awd-mega.menu-item ul.astra-megamenu.sub-menu li ul.sub-menu li:not(:last-child) { border-bottom: 1px solid #f2f2f2; }
.mega-intro { max-width: 320px; }
.mega-intro-img { aspect-ratio: 3 / 2; background: #f3f3f3; }
.mega-intro-img img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
.mega-content { padding: 0 10px; }
.mega-intro h4 { font-size: 20px; text-align: center; line-height: 1.2; margin: 20px 0 10px; }
.mega-intro p { margin: 0 0 15px; line-height: 1.4; color: var(--ast-global-color-1); text-align: center; font-size: 18px; }
.mega-cta { display: flex; justify-content: center; }
.mega-cta-btn { display: inline-block; background: #23268c; color: #fff; padding: 15px 25px; font-weight: 600; border-radius: 0; text-decoration: none; transition: background 0.2s ease; }
.mega-cta-btn:hover { background: #006838; color: #fff; }

/* ==========================================================================
   Typography
   ========================================================================== */
h1, .entry-content h1.uagb-heading-text { letter-spacing: -0.01em; }
h2, .entry-content h2.uagb-heading-text { margin-bottom: 15px; letter-spacing: -.01em; }
h3, .entry-content h3.uagb-heading-text, h3.uagb-ifb-title { letter-spacing: -.01em; }
.uagb-desc-text { letter-spacing: .014em; }
.ast-single-post .entry-content p > a { font-weight: 600; text-decoration-line: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; transition: text-decoration-thickness 0.35s ease; }
.ast-single-post .entry-content p > a:hover { text-decoration-thickness: 3px; transition: text-decoration-thickness 0.35s ease; }

/* ==========================================================================
   Hero Banner
   ========================================================================== */
#hero-banner::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 80.36%); pointer-events: none; }

/* ==========================================================================
   Service Boxes (Location Cards) — Container is the Card
   ========================================================================== */
.wp-block-uagb-container.service-box { position: relative; cursor: pointer;    /* Card visuals live here */ background: #ffffff; border-radius: 18px; overflow: hidden;    /* Spacing + baseline shadow */ box-shadow: 0 10px 22px rgba(0, 0, 0, 0.10);    /* Motion */ transition: transform 0.22s ease, box-shadow 0.22s ease; will-change: transform; }

/* Lift + stronger shadow */
.wp-block-uagb-container.service-box:hover { transform: translateY(-8px); box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18); }


/* Ensure inner blocks don't add their own background/shadow */
.wp-block-uagb-container.service-box .wp-block-uagb-info-box { background: transparent; box-shadow: none; }

/* Overlay link should sit above content for full-card click */
.wp-block-uagb-container.service-box .spectra-container-link-overlay { z-index: 10; }

/* Keyboard accessibility (focus lands on the <a> overlay) */
.wp-block-uagb-container.service-box:focus-within { outline: 2px solid rgba(255, 255, 255, 0.9); outline-offset: 4px; }

/* Mobile: no lift, arrow visible so it still reads “clickable” */
@media (max-width:768px) {
    .wp-block-uagb-container.service-box:hover { transform: none; }
    .wp-block-uagb-container.service-box::after { opacity: 0.45; transform: translateY(-50%); }
}

/* ==========================================================================
   Process Boxes (Service Cards) + Image
   ==========================================================================*/
.process-box img { aspect-ratio: 3 / 2; width: 100%; height: auto; object-fit: cover; }

/* ===========================
   Utility + List Layouts
=========================== */
@media screen and (min-width:641px) {
    ul.two-column-list, ol.two-column-list { column-count: 2; }
    ul.three-column-list, ol.three-column-list { column-count: 3; }
    ul.four-column-list, ol.four-column-list { column-count: 4; }
    ul.five-column-list, ol.five-column-list { column-count: 5; }
}
ul.two-column-list, ul.three-column-list, ul.four-column-list, ul.five-column-list, ol.two-column-list, ol.three-column-list, ol.four-column-list, ol.five-column-list { margin: 0; padding-left: 0; list-style-position: outside; column-gap: 2rem; }
ul[class*='-column-list'] li, ol[class*='-column-list'] li { margin-bottom: .5em; break-inside: avoid; }
ul.wp-block-list.two-column-list ul.wp-block-list, ul[class*='-column-list'] ul[class*='-column-list'] { margin-top: 10px; padding-left: 20px; column-gap: .5em; }
#primary .entry-content ul.wp-block-list {
    margin-left: 0;
    padding-left: 20px;
    margin-bottom: 20px;
}
/* ===========================
   Buttons
=========================== */
@media screen and (min-width:977px) {
    .uagb-buttons-repeater.wp-block-button__link, .uagb-buttons-repeater.ast-outline-button { min-width: 222px; }
}
button.hsfc-Button {
    border-radius: 0;
    padding: 15px 35px;
    width: 200px;
}

/* ===========================
   AWD Social Links
=========================== */
.awd-social.social-shortcode { display: flex; justify-content: center; flex-wrap: wrap; padding: 1rem 0; }
.awd-social.align-left { justify-content: flex-start; text-align: left; }
.awd-social.align-center { justify-content: center; text-align: center; }
.awd-social.align-right { justify-content: flex-end; text-align: right; }
.awd-social .social-list { display: flex; flex-wrap: wrap; gap: 1.66rem; list-style: none; margin: 0; padding: 0; }
.awd-social .social-item { display: inline-flex; }
.awd-social .awd-social-icons { display: inline-flex; align-items: center; justify-content: center; font-size: 24px; border-radius: 0; background-color: var(--ast-global-color-8); color: var(--ast-global-color-7); text-decoration: none; transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease; color: var(--ast-global-color-1); padding: 15px; border-radius: 50%; }
.awd-social .awd-social-icons:hover { transform: scale(1.1); background-color: var(--ast-global-color-1); color: var(--ast-global-color-7); }

/* .awd-social .awd-social-icons i { font-size: 1.25rem; line-height: 1; } */
.awd-social .awd-image-icon img { width: 24px; height: 24px; object-fit: contain; display: block; }
.awd-social.social-shortcode.footer-social { padding: 0; }

/* ===========================
   Gravity Forms Styling
=========================== */
.gform_wrapper { font-family: inherit; max-width: 800px; margin: 0 auto; }
.gform_wrapper.gravity-theme * .gform_required_legend { display: none; }
.gform_wrapper .gfield_label { font-size: 1rem; font-weight: 500; display: block; margin-bottom: 0.5rem; color: #333; }
#secondary .gform_wrapper .ginput_container_fileupload input { font-size: 14px; }
.gform_wrapper input[type='text'], .gform_wrapper input[type='email'], .gform_wrapper input[type='tel'], .gform_wrapper textarea { font-family: 'Public Sans', sans-serif; font-size: 1rem; width: 100%; min-height: 56px; padding: 0.75rem 1rem; background-color: #f9f9f9; border: 1px solid #ccc; border-radius: 0; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.gform_wrapper input:focus, .gform_wrapper textarea:focus { border-color: var(--ast-global-color-0); outline: none; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
.gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li { margin-bottom: 0.5rem; list-style: none; }
.gform_wrapper input[type='checkbox'], .gform_wrapper input[type='radio'] { position: relative; width: 1.2rem; height: 1.2rem; border: 2px solid #ccc; border-radius: 0; background-color: #fff; appearance: none; cursor: pointer; transition: background-color 0.3s ease, border-color 0.3s ease; }
.gform_wrapper input[type='checkbox']:checked, .gform_wrapper input[type='radio']:checked { border-color: var(--ast-global-color-0); background-color: var(--ast-global-color-0); }
.gform_wrapper input[type='checkbox']:checked::after { content: ''; position: absolute; top: 0.2rem; left: 0.4rem; width: 0.25rem; height: 0.6rem; transform: rotate(45deg); border: solid #fff; border-width: 0 0.2rem 0.2rem 0; }
.gform_wrapper .gform_footer input[type='submit'] { font-size: 1rem; min-width: 200px; padding: 16px 25px; background-color: var(--ast-global-color-0); color: #fff; border: none; border-radius: 500px; cursor: pointer; transition: background-color 0.3s ease; }
.gform_wrapper .gform_footer input[type='submit']:hover { background-color: #000; }

/* ===========================
   Footer
=========================== */
.site-footer p:empty { display: none; }
/* .site-footer .widget.widget_nav_menu { margin-top: 23px; } */
.site-footer .widget.widget_nav_menu li:not(:last-child) { padding-bottom: 10px; }

/* ===========================
   Blog and Singles
=========================== */
.single #page .site-content { background: #f2f2f2; }
.single #page .site-content article.ast-article-single { background: #fff; padding: 40px; }
.single .entry-header p.ast-terms-link { font-family: 'Bank Gothic Bold Dist'; text-transform: uppercase; font-size: 14px; }
.single .entry-header .entry-meta { font-weight: 600; }
.single-post .entry-content > .wp-block-group { padding: 0; gap: 0; }

/* =========================================================
   Single Post – Editorial spacing + heading rhythm (h2–h6)
   Scope: single posts only, entry content only
   ========================================================= */
.single-post .entry-content {  /* Optional: improves reading width (comment out if undesired) */

/* max-width: 72ch; */ }

/* --- Headings: base --- */
.single-post .entry-content h2, .single-post .entry-content h3, .single-post .entry-content h4, .single-post .entry-content h5, .single-post .entry-content h6 { line-height: 1.1; margin-top: 1.6em; margin-bottom: 0.65em; }

/* Remove "giant top gap" when a heading is the first block */
.single-post .entry-content > h2:first-child, .single-post .entry-content > h3:first-child, .single-post .entry-content > h4:first-child, .single-post .entry-content > h5:first-child, .single-post .entry-content > h6:first-child, .single-post .entry-content > .wp-block-heading:first-child, .single-post .entry-content .wp-block-group > h2:first-child { margin-top: 0; }

/* Reduce top margin when a heading follows common blocks */
.single-post .entry-content p + h2, .single-post .entry-content p + h3, .single-post .entry-content p + h4, .single-post .entry-content ul + h2, .single-post .entry-content ul + h3, .single-post .entry-content ol + h2, .single-post .entry-content ol + h3, .single-post .entry-content .wp-block-table + h2, .single-post .entry-content .wp-block-table + h3 { margin-top: 1.25em; }

/* If you ever stack headings, tighten further */
.single-post .entry-content h2 + h3, .single-post .entry-content h3 + h4, .single-post .entry-content h4 + h5 { margin-top: 0.9em; }

/* --- Heading sizes (readable for blog) --- */
.single-post .entry-content h2 { font-size: clamp(2.3rem, 1.9vw, 1.95rem); /* ~25–31px */ font-weight: 700; }
.single-post .entry-content h3 { font-size: clamp(2rem, 1.5vw, 1.55rem); /* ~20–25px */ font-weight: 650; }
.single-post .entry-content h4 { font-size: 1.75rem; /* ~18px */ font-weight: 650; }
.single-post .entry-content h5 { font-size: 1.05rem; /* ~16–17px */ font-weight: 650; }
.single-post .entry-content h6 { font-size: 0.95rem; /* ~15px */ font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }

/* =========================================================
 Gutenberg block spacing support (lists, tables, paragraphs)
 ========================================================= */

/* Keep paragraphs and lists from feeling cramped */
.single-post .entry-content p { margin: 0 0 1em; }
.single-post .entry-content .wp-block-list, .single-post .entry-content ul, .single-post .entry-content ol { margin: 0 0 1.15em; padding-left: 1.2em; }
.single-post .entry-content .wp-block-list li { margin: 0.35em 0; }

/* Tables: give them breathing room */
.single-post .entry-content .wp-block-table { margin: 1.25em 0 1.5em; overflow-x: auto; box-shadow: none; }
.single-post .entry-content .wp-block-table table { width: 100%; border-collapse: collapse; }
.single-post .entry-content .wp-block-table th, .single-post .entry-content .wp-block-table td { padding: 0.65em 0.75em; }
