/* ===== Accent Consulting — Blazor Override Layer ===== */
/* This file provides ONLY Blazor-specific styles. */
/* Theme styles come from elementor.css + oceanwp-custom.css */

/* ===== @FONT-FACE — Source Sans Pro (Local Fallback) ===== */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/source-sans-pro-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Source Sans Pro';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/source-sans-pro-400i.woff2') format('woff2');
}
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/source-sans-pro-600.woff2') format('woff2');
}
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/source-sans-pro-700.woff2') format('woff2');
}

/* ===== Elementor Kit Global Variables ===== */
/* These were defined in WordPress's autoptimize bundle on .elementor-kit-1 */
.elementor-kit-1 {
    --e-global-color-primary: #006799;
    --e-global-color-secondary: #034b6e;
    --e-global-color-text: #7a7a7a;
    --e-global-color-accent: #d99825;
    --e-global-color-6b3621c: #303030;
    --e-global-color-870cb9b: #fff;
    --e-global-typography-primary-font-family: "Source Sans Pro";
    --e-global-typography-primary-font-weight: 600;
    --e-global-typography-secondary-font-family: "Source Sans Pro";
    --e-global-typography-secondary-font-weight: 400;
    --e-global-typography-text-font-family: "Source Sans Pro";
    --e-global-typography-text-font-weight: 400;
    --e-global-typography-accent-font-family: "Source Sans Pro";
    --e-global-typography-accent-font-weight: 400;
    color: var(--e-global-color-6b3621c);
    font-family: "Source Sans Pro", sans-serif;
    font-size: 16px;
    font-weight: 400;
}

/* ===== Blazor Error UI ===== */
#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}
#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* ===== Blazor SPA Fixes ===== */

/* Prevent lazyload class from hiding images (no JS lazy loader in Blazor) */
.lazyload { display: block !important; }
img.lazyload { display: inline-block !important; }

/* Override Elementor animation visibility (no Elementor JS to trigger animations) */
.elementor-invisible { visibility: visible !important; }

/* FA Pro fallback: render far/fal icons as solid when Pro kit isn't available */
.far, .fal { font-family: "Font Awesome 6 Free" !important; font-weight: 900 !important; }

/* Video widget: responsive 16:9 iframe (Elementor base CSS not included) */
.elementor-widget-video .elementor-wrapper { position: relative; overflow: hidden; }
.elementor-widget-video .elementor-wrapper::before { content: ''; display: block; padding-bottom: calc(100% / var(--video-aspect-ratio, 1.77777)); }
.elementor-widget-video .elementor-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Image accordion base layout (EA Addons plugin CSS) */
.eael-img-accordion { display: flex; overflow: hidden; height: 50vh; }
.eael-img-accordion.accordion-direction-vertical { flex-direction: column; }
.eael-img-accordion .eael-image-accordion-hover {
    position: relative; flex: 1; text-align: center; text-decoration: none; color: #fff;
    background-size: cover; background-position: center; background-repeat: no-repeat;
    transition: flex .4s; overflow: hidden;
}
.eael-img-accordion .eael-image-accordion-hover:not(.overlay-active) { cursor: pointer; }
.eael-img-accordion .eael-image-accordion-hover:before {
    content: ""; position: absolute; width: 100%; height: 100%; z-index: 0;
    top: 0; left: 0; bottom: 0; right: 0; transition: all .3s ease-in-out;
    background-color: rgba(0,0,0,.3);
}
.eael-img-accordion .eael-image-accordion-hover:hover:before,
.eael-img-accordion .eael-image-accordion-hover.overlay-active:before { background-color: rgba(0,0,0,.5); }
.eael-img-accordion .eael-image-accordion-hover:hover,
.eael-grow-accordion { flex: 3; }
.eael-img-accordion .overlay {
    display: flex; align-items: center; justify-content: center; padding: 0 10px;
    position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    transition: background-color .4s; opacity: 1; visibility: visible; background: rgba(0,0,0,0);
}
.eael-img-accordion .overlay .overlay-inner { z-index: 1; }
.eael-img-accordion .overlay .overlay-inner * { visibility: hidden; opacity: 0; transform-style: preserve-3d; }
.eael-img-accordion .eael-image-accordion-hover.overlay-active .overlay-inner *,
.eael-img-accordion .overlay-inner-show * {
    opacity: 1; visibility: visible; transform: none !important; transition: all .3s .3s;
}
@media screen and (max-width: 800px) {
    .eael-img-accordion:not(.accordion-direction-horizontal) { flex-direction: column; }
    .eael-img-accordion .eael-image-accordion-hover:hover { flex: 1; }
}

/* Shared blog grid component styles (replaces page-scoped element ID rules) */
.eael-post-grid-container .eael-entry-thumbnail { padding-bottom: calc(0.64 * 100%); height: 224px; }
.eael-post-grid-container .eael-grid-post-holder { background-color: #fff; }
.eael-post-grid-container .eael-entry-title a { color: #303133; }
.eael-post-grid-container .eael-entry-title:hover,
.eael-post-grid-container .eael-entry-title a:hover { color: #23527c; }
.eael-post-grid-container .eael-grid-post .eael-entry-overlay { background-color: rgba(0,0,0,.75); }
.eael-post-grid-container .eael-grid-post .eael-entry-overlay > i { color: #fff; font-size: 18px; }
.eael-post-grid-container .eael-grid-post .eael-entry-overlay > img { height: 18px; width: 18px; }
.eael-post-grid-container .eael-post-elements-readmore-btn { color: #000bec; }

/* Transparent header needs absolute position over hero */
#transparent-header-wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 998;
}

/* Main content wrapper — remove default padding for full-width Elementor pages */
#main {
    padding: 0 !important;
    margin: 0;
}

/* White logo for transparent header, blue for sticky */
#site-logo .sticky-logo-link { display: none; }
#site-logo .custom-logo-link { display: block; }
#site-header.is-sticky #site-logo .sticky-logo-link { display: block; }
#site-header.is-sticky #site-logo .custom-logo-link { display: none; }

/* Mobile dropdown hidden by default on desktop */
#mobile-dropdown { display: none; }

/* ===== CSS-only Dropdown Navigation (replaces Superfish JS) ===== */
/* The live site uses Superfish JS to toggle sfHover class + visibility.
   Without that JS, we use pure CSS :hover to show sub-menus. */

/* Keep submenu behavior stable without JS (hover + keyboard focus) */
.dropdown-menu .sub-menu,
.sf-menu li > ul.sub-menu {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0s linear 0.18s;
}

/* Show sub-menu on hover/focus and remove hide delay while active */
.dropdown-menu li:hover > .sub-menu,
.dropdown-menu li:focus-within > .sub-menu,
.sf-menu li:hover > ul.sub-menu,
.sf-menu li:focus-within > ul.sub-menu {
    visibility: visible !important;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}

/* Third-level sub-menus (fly-out right) */
.dropdown-menu .sub-menu .sub-menu {
    top: 0;
    left: 100%;
}

/* ===== WPForms base styling ===== */
.wpforms-field {
    margin-bottom: 10px;
}
.wpforms-field-label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
    color: #fff;
}
.wpforms-required-label {
    color: #ff6b6b;
}
.wpforms-field input:not([type=submit]),
.wpforms-field textarea,
.wpforms-field select {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-family: inherit;
    background: #fff;
    color: #333;
}
.wpforms-field textarea {
    min-height: 100px;
    resize: vertical;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
    #site-navigation-wrap { display: none; }
}
@media (min-width: 769px) {
    .elementor-hidden-desktop { display: none !important; }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .elementor-hidden-tablet { display: none !important; }
}


/* ============================================ */
/* WPForms CSS Root Variables */
/* ============================================ */

:root {
				--wpforms-field-border-radius: 3px;
--wpforms-field-border-style: solid;
--wpforms-field-border-size: 1px;
--wpforms-field-background-color: #ffffff;
--wpforms-field-border-color: rgba( 0, 0, 0, 0.25 );
--wpforms-field-border-color-spare: rgba( 0, 0, 0, 0.25 );
--wpforms-field-text-color: rgba( 0, 0, 0, 0.7 );
--wpforms-field-menu-color: #ffffff;
--wpforms-label-color: rgba( 0, 0, 0, 0.85 );
--wpforms-label-sublabel-color: rgba( 0, 0, 0, 0.55 );
--wpforms-label-error-color: #d63637;
--wpforms-button-border-radius: 3px;
--wpforms-button-border-style: none;
--wpforms-button-border-size: 1px;
--wpforms-button-background-color: #066aab;
--wpforms-button-border-color: #066aab;
--wpforms-button-text-color: #ffffff;
--wpforms-page-break-color: #066aab;
--wpforms-background-image: none;
--wpforms-background-position: center center;
--wpforms-background-repeat: no-repeat;
--wpforms-background-size: cover;
--wpforms-background-width: 100px;
--wpforms-background-height: 100px;
--wpforms-background-color: rgba( 0, 0, 0, 0 );
--wpforms-background-url: none;
--wpforms-container-padding: 0px;
--wpforms-container-border-style: none;
--wpforms-container-border-width: 1px;
--wpforms-container-border-color: #000000;
--wpforms-container-border-radius: 3px;
--wpforms-field-size-input-height: 43px;
--wpforms-field-size-input-spacing: 15px;
--wpforms-field-size-font-size: 16px;
--wpforms-field-size-line-height: 19px;
--wpforms-field-size-padding-h: 14px;
--wpforms-field-size-checkbox-size: 16px;
--wpforms-field-size-sublabel-spacing: 5px;
--wpforms-field-size-icon-size: 1;
--wpforms-label-size-font-size: 16px;
--wpforms-label-size-line-height: 19px;
--wpforms-label-size-sublabel-font-size: 14px;
--wpforms-label-size-sublabel-line-height: 17px;
--wpforms-button-size-font-size: 17px;
--wpforms-button-size-height: 41px;
--wpforms-button-size-padding-h: 15px;
--wpforms-button-size-margin-top: 10px;
--wpforms-container-shadow-size-box-shadow: none;
			}
:root {
				--wpforms-field-border-radius: 3px;
--wpforms-field-border-style: solid;
--wpforms-field-border-size: 1px;
--wpforms-field-background-color: #ffffff;
--wpforms-field-border-color: rgba( 0, 0, 0, 0.25 );
--wpforms-field-border-color-spare: rgba( 0, 0, 0, 0.25 );
--wpforms-field-text-color: rgba( 0, 0, 0, 0.7 );
--wpforms-field-menu-color: #ffffff;
--wpforms-label-color: rgba( 0, 0, 0, 0.85 );
--wpforms-label-sublabel-color: rgba( 0, 0, 0, 0.55 );
--wpforms-label-error-color: #d63637;
--wpforms-button-border-radius: 3px;
--wpforms-button-border-style: none;
--wpforms-button-border-size: 1px;
--wpforms-button-background-color: #066aab;
--wpforms-button-border-color: #066aab;
--wpforms-button-text-color: #ffffff;
--wpforms-page-break-color: #066aab;
--wpforms-background-image: none;
--wpforms-background-position: center center;
--wpforms-background-repeat: no-repeat;
--wpforms-background-size: cover;
--wpforms-background-width: 100px;
--wpforms-background-height: 100px;
--wpforms-background-color: rgba( 0, 0, 0, 0 );
--wpforms-background-url: none;
--wpforms-container-padding: 0px;
--wpforms-container-border-style: none;
--wpforms-container-border-width: 1px;
--wpforms-container-border-color: #000000;
--wpforms-container-border-radius: 3px;
--wpforms-field-size-input-height: 43px;
--wpforms-field-size-input-spacing: 15px;
--wpforms-field-size-font-size: 16px;
--wpforms-field-size-line-height: 19px;
--wpforms-field-size-padding-h: 14px;
--wpforms-field-size-checkbox-size: 16px;
--wpforms-field-size-sublabel-spacing: 5px;
--wpforms-field-size-icon-size: 1;
--wpforms-label-size-font-size: 16px;
--wpforms-label-size-line-height: 19px;
--wpforms-label-size-sublabel-font-size: 14px;
--wpforms-label-size-sublabel-line-height: 17px;
--wpforms-button-size-font-size: 17px;
--wpforms-button-size-height: 41px;
--wpforms-button-size-padding-h: 15px;
--wpforms-button-size-margin-top: 10px;
--wpforms-container-shadow-size-box-shadow: none;
			}
/*# sourceURL=wpforms-modern-full-inline-css */


/* WPForms Button Hover Styles */

body div.wpforms-container-full .wpforms-form input[type=submit]:hover,
			body div.wpforms-container-full .wpforms-form input[type=submit]:active,
			body div.wpforms-container-full .wpforms-form button[type=submit]:hover,
			body div.wpforms-container-full .wpforms-form button[type=submit]:active,
			body div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
			body div.wpforms-container-full .wpforms-form .wpforms-page-button:active,
			body .wp-core-ui div.wpforms-container-full .wpforms-form input[type=submit]:hover,
			body .wp-core-ui div.wpforms-container-full .wpforms-form input[type=submit]:active,
			body .wp-core-ui div.wpforms-container-full .wpforms-form button[type=submit]:hover,
			body .wp-core-ui div.wpforms-container-full .wpforms-form button[type=submit]:active,
			body .wp-core-ui div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
			body .wp-core-ui div.wpforms-container-full .wpforms-form .wpforms-page-button:active {
					background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), var(--wpforms-button-background-color-alt, var(--wpforms-button-background-color)) !important;
			}
/*# sourceURL=oceanwp-style-inline-css */

/* ===== Elementor Slideshow Background Fix ===== */
/* Elementor slideshow backgrounds rely on JS; apply the image via CSS instead */

/* testimonial.png backgrounds */
.elementor-29059 .elementor-element.elementor-element-ec6c22f,
.elementor-15264 .elementor-element.elementor-element-4a7df2c,
.elementor-15224 .elementor-element.elementor-element-1a41d81,
.elementor-15224 .elementor-element.elementor-element-9762fa7,
.elementor-12577 .elementor-element.elementor-element-75a6efd1,
.elementor-21994 .elementor-element.elementor-element-75a6efd1,
.elementor-17890 .elementor-element.elementor-element-75a6efd1,
.elementor-13275 .elementor-element.elementor-element-bdcdd35,
.elementor-13200 .elementor-element.elementor-element-64acf81e,
.elementor-12579 .elementor-element.elementor-element-76fd1f48,
.elementor-25716 .elementor-element.elementor-element-77626ea,
.elementor-26088 .elementor-element.elementor-element-77626ea,
.elementor-19769 .elementor-element.elementor-element-0093410,
.elementor-12534 .elementor-element.elementor-element-cdb3be0,
.elementor-12528 .elementor-element.elementor-element-0093410,
.elementor-25901 .elementor-element.elementor-element-6cc38e2 {
    background-image: url('../images/testimonial.png');
    background-size: cover;
    background-position: center;
}

/* cloud_img_03.jpg background (CMMC page) */
.elementor-15341 .elementor-element.elementor-element-a6c2769 {
    background-image: url('../images/cloud_img_03.jpg');
    background-size: cover;
    background-position: center;
}

/* bkgd-01.png background (IT Projects page) */
.elementor-12530 .elementor-element.elementor-element-e7f6163 {
    background-image: url('../images/bkgd-01.png');
    background-size: cover;
    background-position: center;
}

