/*
 * Forensicare — production custom CSS, ported for Porto 3.1 -> 7 parity.
 *
 * PART 1 is the site's hand-written custom stylesheet, lifted VERBATIM from
 * the live LiteSpeed CSS bundle (contiguous block, ~175 rules). It styles the
 * classic header/footer markup, home sections, quick-links, breadcrumb bar,
 * board pages, UberMenu tweaks, the news date badge, etc.
 *
 * PART 2 is Porto-7 reconciliation: a small set of overrides needed because
 * Porto 7's generated stylesheet is more specific than it was in 3.1, or
 * because Porto 7 restyled a component (flex footer grid, widget-title bar,
 * header-main gradient, the "Read more" button, the admin footer-builder
 * tooltip). These load last so they win where required.
 *
 * Source bundle captured 2026-08-31. Enqueued by functions.php after
 * child-style so it overrides Porto 7's dynamic + theme CSS.
 */

/* =====================  PART 1 — production custom CSS (verbatim)  ===================== */

ul.ubermenu-submenu{top:65px!important}
li.ubermenu-active{background:red;border-bottom:10px solid #7e7fab!important;z-index:999999!important}
#header .mobile{display:none!important}
.mob-searchform{display:none;position:absolute;background:#fff;border:1px solid #dcdcdc;padding:5px 0;right:0;top:50px;top:100px;z-index:1;width:100%}
.search-close .fa-search:before{content:"\f00d"}
.post-meta{display:none}
.col-md-6{overflow:hidden}
#kobe a{color:#e4e4e4!important;font-size:11px;font-weight:100!important;text-decoration:none!important}
#kobe{width:100%;float:right;text-align:right;opacity:.7}
#kobe a:hover{opacity:1;text-decoration:none}
#kobe a img{margin-top:0;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out}
#kobe a:hover img{-webkit-transform:rotate(280deg);-moz-transform:rotate(280deg);-o-transform:rotate(280deg);-ms-transform:rotate(280deg);transform:rotate(280deg);filter:progid:DXImageTransform.Microsoft.Matrix(M11=-1,M12=0,M21=0,M22=-1,DX=0,DY=0,SizingMethod='auto expand')}
.header-wrapper{background-image:url(/wp-content/uploads/2016/09/forensicare_headerIMG.png);background-repeat:no-repeat;background-attachment:fixed}
#header,.ubermenu-main,.ubermenu-main a{background-color:rgb(255 255 255 / .95);background-image:none!important}
.header-main.sticky{background-color:#fff!important;background-image:none!important}
.sticky>.container:first-child{display:none!important}
.mainmenu-container{border-top:2px solid #e5e7e8;width:100%;text-align:center}
.mainmenu-container nav,#main-menu{width:100%;max-width:1140px}
#main-menu>nav>ul{display:flex;justify-content:space-between}
.logo{float:left}
@media screen and (min-width:950px){
.logo{max-width:150px!important}
}
#headerText{float:left;height:100%;padding-left:15px}
#headerText p{position:relative;top:30px;float:left;margin-left:15px;font-weight:700;font-size:16px;margin-right:15px}
.Accent{color:#124e8d}
.ubermenu a{font-size:18px;font-weight:600!important}
.headerSearch{background-color:#817aae!important;border-radius:5px!important;margin-right:15px;width:200px;font-size:16px!important;padding:8px 12px!important}
.headSearchIcon{color:#817aae;font-size:18px;font-weight:700}
.headerSearch::-webkit-input-placeholder{color:#fff!important}
.headerSearch:-ms-input-placeholder{color:#fff!important}
.headerSearch::-moz-placeholder{color:#fff!important;opacity:1}
.headerSearch:-moz-placeholder{color:#fff!important;opacity:1}
.no-breadcrumbs .main-content{padding-top:0px!important}
.homeSectionRow{margin-top:50px}
.homeSectionImage{margin-bottom:20px}
.HomeSectionHeader{color:#817aae;font-weight:300}
.homeSectionsLinks a{padding-right:20px;text-decoration:underline;font-weight:600;font-size:14px}
.quickLinksHead{background-color:#4b62a0;color:#fff;padding:12px;font-size:22px;font-weight:300}
.quickLinksHead i{font-size:30px;padding-right:5px}
.quickLinksCont{background-color:#e6e4ef;padding:10px;margin:1px 0;text-decoration:underline;font-size:14px;font-weight:600}
.quickLinksQuote{margin-top:30px;color:#7e7ead;font-size:16px;font-weight:200}
.quickLinksQuote a{margin-top:10px;text-decoration:underline;line-height:3px!important;font-weight:600}
.quickLinksQuote div{float:left}
.quickLinksQuote div:first-child{font-size:36px;width:65px}
.quickLinksQuote div:last-child{width:77%}
#text-5 a{padding-bottom:10px;color:#e4e4e4}
#footer>.container{padding-top:50px;padding-bottom:50px}
#footText{padding-bottom:20px;font-size:1em;color:#e4e4e4}
#footer .col-md-2{width:20%}
#footer .col-md-3{width:40%}
.widget-title{font-size:22px!important;font-weight:100!important}
.textwidget{border-top:2px solid #22579b;padding-top:10px;font-size:16px;font-weight:300}
.textwidget li,.widget-title h3{color:#fff!important}
.footer-bottom{width:100%;width:100%;text-align:center;padding-bottom:20px}
.footerItems{display:inline-block;margin:0 auto;text-align:left;vertical-align:top}
#footLogo{margin-top:20px}
#footer .logo img{max-width:125px!important;margin-right:50px}
#footContent{max-width:45%;margin-bottom:25px}
#footContent div{margin-top:20px}
#footContent a{margin:0 10px;text-decoration:underline;font-weight:600}
#footContent a:first-child{margin-left:0}
#footerBottomLinks a{color:#fff!important}
#footerBottomText{color:#817aae;font-weight:600}
#footerBottomCopy{color:#d8d6df;font-size:11px;font-weight:100;width:100%;float:left;padding-left:0;text-align:left}
#footLogin{margin-top:20px;text-align:right;min-width:110px;max-width:130px}
#footLogin button{background-color:#817aae;border:none;padding:5px 20px;border-radius:7px;font-weight:600}
.footer-wrapper{background-image:url(/wp-content/uploads/2016/09/forensicare_footerIMG.png);background-repeat:no-repeat;background-attachment:fixed;background-position:bottom}
#footer{background-color:#fff0!important}
#footer>div:first-child{background-color:rgb(24 72 145 / .9)!important;padding-top:50px;padding-bottom:20px}
.footer-bottom{background-color:rgb(65 48 104 / .9)!important}
@media screen and (min-width:960px){
.btnMobMenu{display:none!important}
.ubermenu-hide-desktop{display:none!important}
}
.mobile-toggle{display:none!important}
.responsive #top .mobileMenu,#nav-panel{display:none!important}
@media screen and (max-width:960px){
.btnMobMenu{display:block!important}
.mainmenu-container{display:none!important}
.ubermenu-hide-mobile{display:none!important}
}
@media screen and (max-width:990px){
#footer .col-md-2{float:left;width:33%}
#footer .col-md-3{width:60%;float:left}
}
@media screen and (max-width:769px){
.vc_single_image-wrapper{text-align:left!important;display:block!important}
.image-section{float:none!important;text-align:center;padding-top:25px!important}
}
@media screen and (max-width:996px){
#headerText{display:none}
}
@media screen and (max-width:650px){
#footLogo{display:none}
#footContent{max-width:90%}
#footLogin button{width:120px}
#kobe{text-align:center}
.mobile-show{display:inline-block!important}
#footerBottomCopy{text-align:center!important}
}
@media screen and (max-width:550px){
#footer .col-md-2{width:50%}
#footer .col-md-3{width:50%;float:left}
}
@media screen and (max-width:480px){
.header-right-top a,.header-right-top i{display:none}
.headerSearch{margin-right:0;margin-left:15px}
.btnMobMenu{margin-top:0px!important}
#header .header-main .container .hidemobile{display:none!important}
#header .mobile .logo{display:block;left:calc(50% - 105px);position:relative}
}
@media screen and (max-width:400px){
.header-right-top input{width:150px}
}
.btnMobMenu{display:block;width:30px;padding:5px 4px;float:left;margin-right:20px;margin-top:20px}
.btnMobMenu span{background:#999;display:block;height:3px;margin:5px 0}
html.mm-opened .btnMobMenu span.top-bar{transform:rotate(45deg);top:7px}
html.mm-opened .btnMobMenu span.middle-bar{opacity:0}
html.mm-opened .btnMobMenu span.bottom-bar{transform:rotate(-45deg);top:-9px}
.btnMobMenu{overflow:hidden}
.btnMobMenu span{position:relative;transform:rotate(0);top:0;left:0;opacity:1;transition:none 0.5s ease;transition-property:transform,top,left,opacity}
html.mm-opened .btnMobMenu span.middle-bar{left:-40px}
input#s{color:#fff}
.boardMemberInfo{float:left;width:100%;margin-bottom:50px}
.boardMemberInfo div:first-child{float:left}
.boardMemberInfo div:last-child{float:left;width:80%;margin-left:15px}
.ubermenu-main .ubermenu-submenu .ubermenu-divider>hr{border-top-color:#e7edf3!important;border-top:2px solid rgb(0 0 0 / .1)!important}
.ubermenu .ubermenu-submenu-type-stack>.ubermenu-divider{padding:2px 0!important}
li.tp-revslider-slidesli.active-revslide{border-radius:0!important}
.menuCorporate{margin-left:35px!important}
#menuCorporateHead{margin-left:50px!important}
.ubermenu-active a.menuTopLevel{border-bottom:solid 8px #817aae!important}
.page-top{background-color:#fff!important;border-top:none!important;border-bottom:none!important}
.breadcrumbContainer{background-color:#f5f3fc;padding:10px 0;font-weight:600}
.page-top.page-header-1 .page-title{color:#817aae;padding:30px 0 10px 0;border:none!important}
.sr7-bullet{background-color:#eaf4fb!important}
.sr7-bullet.selected{background-color:#124e8e!important}
div#rev_slider_1_1_wrapper{left:0px!important}
div#sliderRow{padding:0!important}
div#sliderRow>div{padding:0!important}
#btnSearchButton{background-color:#fff0!important;border:none!important}
#menu-item-2326,#menu-item-2318{border-left:20px solid #efefef}
#mm-4 ul li:nth-last-child(2){border-top:15px solid #bfbdbd}
@media (max-width:767px){
#sliderRow{position:inherit!important}
}
.ubermenu-submenu-type-flyout li a{padding:10px 20px!important;border-bottom:1px solid #efefef!important}
.ubermenu-main .ubermenu-submenu .ubermenu-item-header>.ubermenu-target{color:#124e8d;font-weight:500!important;border-bottom:1px solid #efefef;padding:0;margin:15px 20px 0;padding-bottom:10px}
.ubermenu .ubermenu-autocolumn,.ubermenu .ubermenu-submenu-type-stack{padding-top:5px;padding-bottom:10px}
.ubermenu-main .ubermenu-item-normal>.ubermenu-target{color:#404040;font-size:14px;font-weight:300!important}
#menu-item-2326,#menu-item-2318{border-left:1px solid #efefef}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li.ubermenu-active{border-bottom:0 solid #efefef!important}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group{max-width:360px;border-color:#efefef}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li>a{font-size:14px;padding:10px 20px;font-weight:normal!important;border-bottom:1px solid #efefef;color:#404040}
.ubermenu .ubermenu-tab-content-panel{display:block!important}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li>a:after{content:""!important}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li:first-child>a{border-top:1px solid #efefef}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li:first-child>a:after{content:"\f105"!important}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li>ul{top:0px!important;width:65%}
.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group>li>ul li span{display:block;float:right;margin-top:48px;border:2px solid;text-align:center;padding:20px;color:#fff;background-color:#1d4782;margin-left:40px}
.image-section{float:right;margin-top:0!important}
.image-section img{width:60px;margin:0 10px 19px}
.image-section img:last-child{margin-right:20px}
.mobile-show{display:none}
.social-links{font-size:30px;padding:5px;text-align:left}
.post-slide.widget.kobe-news{margin-bottom:9px;margin-top:9px;height:80px}
.post-slide.widget.kobe-news a{display:block;max-height:45px;overflow:hidden}
.post-slide.widget.kobe-news.with-image a{height:45px}
.post-slide.widget.kobe-news.with-image{margin-bottom:9px;margin-top:7px;height:80px;clear:both;border-bottom:1px solid #ececec}
.post-slide.widget.kobe-news.with-image .image-post{float:left;width:90px;max-height:100px;margin-right:10px;padding:10px}
.post-slide.widget.kobe-news.with-image .post-item-small{margin:0;float:right;width:calc(100% - 100px);border-top:0;padding:0}
@media screen and (min-width:992px) and (max-width:1169px){
.post-slide.widget.kobe-news{margin-bottom:1px;margin-top:2px}
}
@media screen and (min-width:767px) and (max-width:991px){
.post-slide.widget.kobe-news{margin-bottom:0;margin-top:0}
}
@media screen and (min-width:767px) and (max-width:1515px){
.image-section{margin-top:21px!important}
}
@media (max-width:480px){
#s{width:80%}
}
@media (max-width:520px){
.Accent{display:none}
}
.mm-header-image.mm-header-image{background:url(/wp-content/uploads/2016/09/forensicarelogo_col.png) center center / contain no-repeat #fff0;padding:0!important;position:absolute;top:20px;right:20px;bottom:20px;left:20px}
article.post .post-date .month,.post-item .post-date .month{border-radius:unset}
article.post .post-date .year,.post-item .post-date .year{background-color:#f4f4f4;border-radius:0 0 2px 2px;color:#08c;font-size:.9em;font-weight:700;padding:0 0 2px;display:block}
.page-date{text-align:right;font-style:italic}

/* =====================  PART 2 — Porto 7 reconciliation  ===================== */

/* Base type/spacing deltas: Porto 7's stock rules differ from 3.1's even
 * though the theme-option values (font sizes, colours) are in sync via
 * theme_css_vars.css. Headings use -1px tracking (Porto 7's -0.05em varies
 * with size); h3's bottom margin, p line-height and blockquote also differ. */
h1,h2,h3,h4,h5,h6{letter-spacing:-1px}
h3{margin-bottom:33px}
p{line-height:24px}
li{line-height:24px}
.wpb_text_column p{line-height:22px}
blockquote{font-size:17.5px;margin:0 0 20px;padding:10px 20px}

/* Box-model deltas (Bootstrap 5 vs 3). Porto 7 indents lists 2rem/32px and
 * adds 1rem/16px below them; production is 40px indent, no bottom margin. */
.main-content ul,.main-content ol,
.wpb_text_column ul,.wpb_text_column ol,
.entry-content ul,.entry-content ol{margin-bottom:0;padding-left:40px}

/* Page-header band: Porto 7 sets .page-top padding 12px 0; production 8/0/6. */
.page-top{padding:8px 0 6px}

/* Widget titles: Porto 7 uses 1rem/16px bottom margin, production 15px. */
.widget .widget-title,.widget .widgettitle{margin-bottom:15px}

/* Footer copyright / Kobe-credit row: production (Bootstrap 3) floats the two
 * .col-md-6 halves side by side (copyright left, credit right). Porto 7
 * (Bootstrap 5) drops the float, so they stack. Restore the float + clear. */
.footer-bottom > .container > [class*="col-"]{float:left}
.footer-bottom > .container:after{content:"";display:table;clear:both}

/* Corporate header left/right blocks: Porto 7 pads them 1rem/16px vertically,
 * production 15px — 2px taller header otherwise. */
#header .header-main .header-left,
#header .header-main .header-right{padding-top:15px;padding-bottom:15px}

/* Page title: production is weight 200, -1px tracking, 46px leading. Porto 7
 * drops the .page-top .page-title tracking rule so it inherits h1's -0.05em,
 * and content headings render 700 where production had 600. */
.page-top .page-title{font-weight:200;letter-spacing:-1px;line-height:46px}
.single-post .entry-title{font-weight:600}

/* Blog post cards: production shifts the article 60px right and pulls the
 * floated date badge into that gutter so the date forms its own column; the
 * title/body then align to a single left edge. Porto 7 dropped the offset,
 * so the date badge and body overlap at the same x. */
.blog-posts article.post{margin-left:60px;padding-bottom:10px}
.blog-posts article.post .post-date{margin-left:-60px}
.blog-posts article.post .entry-title{margin-bottom:5px}
@media (max-width:767px){
    .blog-posts article.post{margin-left:0}
    .blog-posts article.post .post-date{margin-left:0}
}

/* "Latest Posts" (Porto recent-posts widget): Porto 7 wraps each title in an
 * <h5> (18px / 600) and shrinks the date to 0.8em; production showed the
 * title at 17px / 400 and the date at 0.9em. */
.widget-recent-posts .post-item-title,
.widget-recent-posts .post-item-title a{font-size:17px;font-weight:400;line-height:22px;letter-spacing:normal}
.widget-recent-posts .post-item-small .post-date{font-size:.9em}

/* Breadcrumb trail: Porto 7 adds `.page-top ul.breadcrumb>li{text-transform:
 * uppercase}` (0,2,2) plus a 12px size; production (Porto 3.1) had neither.
 * A direct rule beats the inherited value, so match its specificity on the
 * <li> itself and size only the wrap so the em doesn't compound. */
.page-top .breadcrumbs-wrap{font-size:.9em}
.page-top ul.breadcrumb,
.page-top ul.breadcrumb>li,
.page-top ul.breadcrumb>li a,
.page-top ul.breadcrumb>li span{text-transform:none;letter-spacing:normal;font-size:1em}

/* Read more: Porto 7 hard-codes a button on each blog card; production has none. */
.blog-posts article.post > a.btn.float-sm-end,
.blog-posts .post-full > a.btn.float-sm-end{display:none}

/* .header-main: Porto 7 paints it with a solid #f6f6f6->#fff gradient, which
 * hides the fixed .header-wrapper background image. Production keeps it clear. */
#header .header-main{background:transparent!important}
#header .header-main.sticky{background-color:#fff!important;background-image:none!important}

/* Menu bar full-bleed border: production's plain `.mainmenu-container{width:100%}`
 * is outgunned by Porto 7's higher-specificity `.container` rules. Keep the
 * .container's 15px side padding (matches production); centre #main-menu inside
 * it with no padding of its own (Porto 7 default 0) so the nav aligns to the
 * same x as production — earlier a stray padding:0 15px shifted it 15px right. */
#header .mainmenu-container{max-width:100%!important;width:100%!important}
#header .mainmenu-container>#main-menu{max-width:1140px;margin-left:auto;margin-right:auto;padding:0}

/* Sub-menu caret sat hard against the label on Porto 7. */
.ubermenu.ubermenu-main .ubermenu-sub-indicator{margin-left:6px}

/* Porto's admin-only "Build with Footer Builder" tooltip (classic footer here). */
.porto-tooltip-wrap{display:none!important}

/* Footer columns: production (Bootstrap 3) went 4-up on desktop, 3-up below
 * 990px, 2-up below 550px via float+width. Porto 7's .row is flexbox and its
 * BS5 .col-md-* has no width below 768px, so 4 columns squash together on
 * mobile. Give them flex-basis at each breakpoint so the flex row wraps
 * 4 -> 3 -> 2 like production. */
#footer .row{flex-wrap:wrap}
#footer .col-md-2,#footer .col-md-3{float:none;flex-grow:0;flex-shrink:0}
#footer .col-md-2{flex-basis:20%;max-width:20%}
#footer .col-md-3{flex-basis:40%;max-width:40%}
@media (max-width:990px){
    #footer .col-md-2{flex-basis:33.333%;max-width:33.333%}
    #footer .col-md-3{flex-basis:60%;max-width:60%}
}
@media (max-width:550px){
    #footer .col-md-2{flex-basis:50%;max-width:50%}
    #footer .col-md-3{flex-basis:50%;max-width:50%}
}

/* Footer widget titles: Porto 7 restyled .widget-title into an uppercase grey
 * bar (bg + padding + border); production footer titles are plain. */
#footer .widget-title,
#footer .widgettitle,
#footer .widget-title a,
#footer .widgettitle a{
    text-transform:none;
    font-weight:400;
    background:none!important;
    border:0!important;
    padding:0!important;
    color:#fff;
    letter-spacing:normal;
}

/* kobe-news thumbnail: production relies on a global `img{max-width:100%}`. */
.post-slide.widget.kobe-news.with-image .image-post img{max-width:100%;height:auto}

/* Hero slider row: production zeroes padding via `#sliderRow` (Part 1). Porto 7 +
 * current WPBakery nest an extra .vc_column-inner that also needs zeroing. */
#content .wpb_row.top-row.vc_custom_1507876801860 > .vc_column_container,
#content .wpb_row.top-row.vc_custom_1507876801860 > .vc_column_container > .vc_column-inner{
    padding-left:0!important;
    padding-right:0!important;
}

/* Below 768px production drops the stretch JS's `left` offset (#sliderRow ->
 * position:static, Part 1) and relies on a single -15px row margin to break
 * out. Porto 7 nests one extra 15px padding level, so ~15px of gutter is left
 * on the slider's left. Force a viewport-width full-bleed regardless of how
 * deep/padded the parents are. */
@media (max-width:767px){
    #sliderRow{
        position:relative!important;
        left:50%!important;
        right:50%!important;
        width:100vw!important;
        max-width:100vw!important;
        margin-left:-50vw!important;
        margin-right:-50vw!important;
    }
    #sliderRow > .vc_column_container,
    #sliderRow .vc_column-inner,
    #sliderRow .wpb_wrapper{padding-left:0!important;padding-right:0!important}
}

/* Easy Notification Bar (v1.7) bug: its parse_text_color() only does real
 * contrast parsing when the Total theme's wpex_parse_color() exists. With
 * Porto it falls through to sanitize_hex_color($bg_color) and emits
 * `color:<background-colour>` on .easy-notification-bar — the saved
 * text_color setting is ignored, so the message is the same colour as the
 * bar. Force a readable colour (plugin injects its own via an inline
 * <style> in <head>, hence !important). */
.easy-notification-bar,
.easy-notification-bar .easy-notification-bar-message,
.easy-notification-bar .easy-notification-bar-message a{color:#000!important}
.easy-notification-bar .easy-notification-bar-message a{text-decoration:underline}
