/* Hide bottom hero wave added by the theme so the hero has a flat bottom */
#iq-home .waves-box,
#iq-home .iq-waves,
.iq-banner .waves-box,
.iq-banner .iq-waves,
#iq-home::after,
.iq-banner::after,
#iq-home .wave,
.iq-banner .wave {
    display: none !important;
    background: none !important;
    height: 0 !important;
}

:root {
    --site-green: #00A660;
    --site-green-dark: #006B3F;
    --site-accent: #00C97A;
    --muted: #f5f7f6;
    /* RGB helpers for shadows */
    --site-green-rgb: 0,166,96; /* from #00A660 */
    --site-accent-rgb: 0,201,122; /* from #00C97A */
}

.iq-banner {
    background-color: var(--site-green);
}

.btn-p20 {
    padding: 20px;
}

@media (max-width: 991px) {
    .banner-text {
        margin-top: 100px !important;
    }

    .home-svg {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        visibility: hidden !important;
    }
}

/* ============================================
   Full-height layout - Footer always at bottom
   ============================================ */
html {
    height: 100%;
}

body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

/* Main content area grows to fill available space */
body > header,
body > nav,
body > .navbar {
    flex-shrink: 0;
}

/* The main content placeholder - grows to push footer down */
#cphMain,
[id$="cphMain"],
main,
.main-content,
body > section:not(footer):not(.footer-wrapper),
body > div:not(#back-to-top):not(.modal):not(.navbar) {
    flex: 1 0 auto;
}

/* Footer stays at bottom */
footer,
.footer-wrapper,
.iq-footer {
    flex-shrink: 0;
    margin-top: auto;
}

/* Back to top button shouldn't affect layout */
#back-to-top {
    flex: none;
}

/* Keep header solid on scroll to improve menu readability */
header.menu-sticky,
header#main-header.menu-sticky {
    background-color: var(--site-green) !important;
    background-image: none !important;
    opacity: 1 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Ensure nav links stay readable when header becomes sticky */
header.menu-sticky .navbar .nav-link,
header.menu-sticky .navbar-nav .nav-link {
    color: #ffffff !important;
}

/* Make the login/sign up button visible on sticky header */
header.menu-sticky a.button,
header.menu-sticky .button {
    background-color: #ffffff !important;
    color: var(--site-green) !important;
    border-color: rgba(255,255,255,0.15);
}

/* Ensure brand/logo remains visible (if using a light logo) */
header.menu-sticky .navbar-brand img {
    filter: none !important;
    opacity: 1 !important;
}

/* Modern How it Works styles */
.it-works .heading-title .title {
    margin-bottom: 10px;
}

.iq-works-box.modern {
    background: #fff;
    border: 1px solid #eee;
    padding: 32px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: box-shadow .22s ease, transform .18s ease;
}
.iq-works-box.modern:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px -18px rgba(var(--site-green-rgb), 0.35), 0 6px 12px -6px rgba(0,0,0,0.06);
}

.icon-block {
    display: flex;
    align-items: center;
    gap: 16px;
    /* make the icon row full width so justify-content can center the circle */
    width: 100%;
}

/* center the circle inside the box while keeping text left-aligned */
.iq-works-box.modern .icon-block {
    justify-content: center;
}

.icon-circle {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

/* ensure selector targets Font Awesome 4 (.fa) */
.icon-circle .fa {
    margin: 0;
}

.icon-circle.bg-green {
    background: linear-gradient(180deg, var(--site-accent), var(--site-green-dark));
}

/* ensure any utility blue color used by templates follows the site green so global updates reflect */
.iq-font-blue, .iq-over-blue-90, .iq-over-blue-80 {
    color: var(--site-green) !important;
}

/* ensure icon circle color gradients remain correct when different theme colors are used */
.icon-circle.bg-green {
    background: linear-gradient(180deg, var(--site-accent), var(--site-green-dark));
}

/* Center titles in work boxes */
.iq-works-box.modern h5,
.iq-works-box h5 {
    text-align: center;
    margin-top: 18px;
}

/* ensure paragraph text remains left-aligned for readability */
.iq-works-box.modern p {
    text-align: left;
}

/* Hide remaining decorative artwork (plant, rings, dotted/triangle blocks, animated shapes) */
/* Targets from the marketing2019 theme to keep pages clean */
.iq-banner .banner-objects,
.iq-banner .banner-objects *,
.iq-banner .banner-img,
.iq-banner .banner-text .banner-phone,
.iq-banner .banner-text .watch-img,
.iq-objects,
.iq-objects *,
.iq-objectsnew,
.iq-objectsnew *,
.iq-objects-software,
.iq-objects-softwarenew,
.iq-objects-asked,
.soft-about .box-img1,
.soft-about .box-img2,
.soft-about .box-img3,
.soft-about .box-img4,
.soft-about .box-img5,
.soft-about .box-img6,
.animation-shap,
.animationnew-shap,
.animation-shap .shap-bg,
.animationnew-shap .shap-bg,
.services-list li.one,
.services-list li.two {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Also hide SVG decorative elements and any inline decorative SVGs */
svg#followPath, svg#dashedPath, svg#airplain, svg.decorative, svg[id^="decor"], svg[class*="decor"] {
    display: none !important;
}

/* Ensure pseudo elements used for decorative banners are removed */
.iq-banner:after,
.iq-banner-02:after,
.iq-banner-03:after,
.iq-banner-04:after,
.iq-banner-10:after {
    content: none !important;
    display: none !important;
}

/* NewAccount / Sign up form - flatter layout and rectangular inputs */
.signup-form .container { max-width: 840px; }
.signup-form .container > .row > .col-md-12 {
    background: #ffffff;
    padding: 42px 40px 36px;
    border-radius: 18px;
    box-shadow: 0 10px 40px -10px rgba(18,52,77,.25);
    margin-top: 24px !important; /* lower the card further below the hero */
    margin-bottom: 18px;
    position: relative;
    overflow: hidden;
}
.signup-form .container > .row > .col-md-12:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: var(--site-green);
}
.signup-form .input-with-icon { margin-bottom: 16px; }
.signup-form label { display: block; font-size: 13px; color: #55606a; margin-bottom: 8px; font-weight: 600; }
.signup-form input[type=text],
.signup-form input[type=password],
.signup-form select,
.signup-form .textboxstyle {
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    border-radius: 6px;
    border: 1px solid #e6e9ee;
    background: #ffffff;
    color: #12202b;
    box-sizing: border-box;
}
.signup-form select.dropdown-signup { height: 46px; }
.signup-form input::placeholder { color: rgba(18,32,43,0.35); }
.signup-form input:focus, .signup-form select:focus, .signup-form .textboxstyle:focus {
    outline: none;
    border-color: #00A660 !important;
    box-shadow: 0 0 0 1px #00A660 !important;
    background: #fff;
}
/* two-column spacing tweaks */
.signup-form .row > [class*="col-"] { padding-left: 10px; padding-right: 10px; }
/* center captcha and make its input match form */
.signup-form .captchaimagestyle { display: block; margin: 12px auto; }
.signup-form .textboxstyle { max-width: 520px; margin: 8px auto 18px; border-radius: 6px; }
/* Ensure inputs and dropdowns align vertically when an icon is present */
.signup-form .input-with-icon { position: relative; }
.signup-form .input-with-icon i { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: #9aa6b2; pointer-events: none; }
.signup-form .input-with-icon input, .signup-form .input-with-icon select, .signup-form .input-with-icon .textboxstyle { padding-right: 44px; }
/* Normalize vertical spacing for signup fields to ensure Account Type and Username align */
.signup-form .input-with-icon label { margin-bottom: 6px; display: block; }
.signup-form .input-with-icon label + i + input,
.signup-form .input-with-icon label + i + .textboxstyle,
.signup-form .input-with-icon label + i + textarea {
    margin-top: 0 !important;
}
.signup-form .input-with-icon label + select {
    margin-top: 0 !important;
}
/* Remove dropdown top offset only for signup form */
.signup-form .dropdown-signup {
    margin-top: 0 !important;
}
/* submit button - subtle */
.signup-form .btn-primary {
    background: var(--site-green) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    padding: 8px 20px !important;
    border-radius: 6px !important;
    box-shadow: 0 6px 18px rgba(var(--site-green-rgb), 0.12) !important;
}
.signup-form .btn-primary:hover, .signup-form .btn-primary:focus {
    background: var(--site-green-dark) !important;
    box-shadow: 0 10px 26px rgba(var(--site-green-rgb), 0.13) !important;
}
/* helper text under form */
.signup-form .col-sm-12.text-center { margin-top: 14px; color: #6b7280; font-size: 13px; }
.signup-form .col-sm-12.text-center a { color: var(--site-green); font-weight: 600; }
/* responsive adjustments */
@media (max-width: 991px) {
    .signup-form .container > .row > .col-md-12 { margin-top: 0; padding: 22px 18px; }
    .signup-form .textboxstyle { max-width: 100%; }
    .signup-form .row .col-sm-6 { width: 100%; display: block; }
}
@media (max-width: 575px) {
    .signup-form label { font-size: 12px; }
}

/* Prevent the signup section from stretching to fill the page (reduces large gap below card) */
body > section.signup-form {
    flex: 0 0 auto;
}

/* Small extra bottom padding inside the signup area to keep visual breathing room */
.signup-form {
    padding-top: 0;
    padding-bottom: 22px;
}
