/* The old theme had these customizations directly in style.css. */
@media screen and (min-width:970px) and (max-width:1182px){.site-branding>a>img{width:50px;}}
/* Kirki's generated scheme selectors are overridden by Structure's preset styles. */
body.header-preset-03 .navigation,body.header-preset-05 .nav{background-color:#005c9d;}
body.header-preset-03 .nav{background-color:transparent;}
body .bottom-wrapper .footer{background-color:#005c9d;color:#efefef;}
body .bottom-wrapper .footer a{color:#efefef;}
body .bottom-wrapper .copyright{color:#444;}
/* Retain the icon shapes used in the saved WPBakery elements and text widgets. */
@font-face{font-family:PlotnikLegacyIcons;src:url('plotnik-assets/font-awesome/fonts/fontawesome-webfont.woff2') format('woff2');font-weight:normal;font-style:normal;}
body .fa{font-family:PlotnikLegacyIcons!important;font-weight:normal!important;}
/* The FA6 shim remaps this legacy class to a codepoint absent from FA4. */
body .fa-map-marker:before{content:"\f041"!important;}
/* Structure 7 adds breadcrumbs even when the old page flag disables them. */
body .breadcrumb{display:none!important;}
.page-id-74231 .breadcrumb{display:block!important;}
/* WPBakery 9 changed its button font and the top margin of the intro heading. */
body .vc_btn3{font-family:inherit;letter-spacing:normal;}
body.home .intro .vc_btn3,body.home .services .vc_btn3{font-weight:400!important;border-width:1px!important;}
.home .intro h3{margin-top:0;}
/* Restore the old two-column flow; the new flex rule fixes the text column at 50 px. */
.home .intro{padding:25px 0;}
.home .intro .container>.vc_row{display:block;}
.home .intro .vc_row .col-sm-8{height:auto;}
/* CF7 6 wraps the same stored fields in paragraphs. Keep the original field gaps. */
.wpcf7-form p{margin:0;}
.page-id-67 .wpcf7-form{padding-bottom:1.8em;}
@media(min-width:768px){.page-id-67 .vc_custom_1433412456582{margin-top:0!important;}}
.footer .menu li:before{font-family:PlotnikLegacyIcons;font-weight:normal;}
.extra-info{color:#606060;}
.header-preset-05 .navigation>div>ul>li:first-child>a{border-left-color:transparent;}
@media(max-width:767px){
    body .container{width:100%;max-width:none;padding-left:20px;padding-right:20px;}
    body h1{font-size:24px;}
    body .footer{padding:30px 0;}
    .intro4 .vc_btn3-container{text-align:center;}
    .home .intro{display:block!important;height:auto!important;}
    .home .intro .container>.vc_row{display:block!important;}
    .home .intro .vc_column_container{width:100%!important;float:none!important;margin:auto!important;height:auto!important;}
    .home .intro .vc_column-inner{height:auto!important;}
    .header-preset-03 .nav,.header-preset-05 .nav{top:55px;}
}

/* Keep the carousel's left arrow outside the first card, as in Structure 4. */
.home #esg-grid-2-1-wrap .esg-navbutton-solo-left{left:-20px;}
/* The generated primary-color hover rule otherwise matches the blue footer. */
body .bottom-wrapper .footer .menu li:hover::before{color:#ffb600;opacity:1;}
/* This grid shares its skin with Home; only the Projects page gets title bands. */
.page-id-75230 #esg-grid-31-1-wrap .eg-thememove-project-element-0{background-color:rgba(0,0,0,0.65);padding:8px 15px!important;}
/* 2026-10-21: same readable title band as the Projects page, on the homepage Latest Projects carousel. */
.page-id-72000 #esg-grid-2-1-wrap .eg-thememove-project-element-0{background-color:rgba(0,0,0,0.65);padding:8px 15px!important;}

/* Mobile layout improvement: fluid content, a compact brand row and usable controls. */
@media (max-width:999px){
    body .header-wrapper .header>.container{width:100%;max-width:none;padding:0 20px;}
    body .header-wrapper .header>.container>.row{margin:0;}
    body .header-wrapper .header>.container>.row>.col-md-5{width:100%;padding:0;}
    body .header-wrapper .header-right{display:none!important;}
    body .header-wrapper .site-branding{display:flex;align-items:center;gap:10px;min-height:84px;padding:12px 48px 12px 0;}
    body .header-wrapper .site-branding>a{flex:0 0 60px;line-height:0;}
    body .header-wrapper .site-branding>a>img{width:60px;height:auto;}
    body .header-wrapper .site-branding>div{float:none!important;min-width:0;}
    body .header-wrapper .site-branding>div>br{display:none;}
    body .header-wrapper .site-branding span:first-child{display:block;font-size:22px!important;line-height:1.15;}
    body .header-wrapper .site-branding span:last-child{display:block;margin-top:4px;font-size:13px!important;line-height:1.2;}
    body .header-wrapper .nav{position:absolute;inset:0;height:84px;width:100%;pointer-events:none;}
    body .header-wrapper .nav>.container{position:static;width:100%;max-width:none;padding:0;}
    body .header-wrapper .nav a[aria-controls]{position:absolute;right:16px;top:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;pointer-events:auto;color:#005c9d;}
    body .header-wrapper .menu-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;}
    body .header-wrapper .menu-link i{font-size:26px;color:#005c9d;}
    body .header-wrapper .navigation{display:none;position:absolute;top:84px;left:20px;right:20px;width:auto;max-height:calc(100dvh - 104px);overflow-y:auto;pointer-events:auto;background:#fff!important;text-align:left;padding:0;}
    body .header-wrapper .navigation.active{display:block;visibility:visible;opacity:1;top:84px;}
    body .header-wrapper .navigation ul{margin:0;padding:0;}
    body .header-wrapper .navigation li{display:block;position:relative;border-bottom:1px solid #eee;padding:0;}
    body .header-wrapper .navigation .menu>li>a{display:block;min-height:44px;padding:12px 18px;border:0;color:#005c9d!important;line-height:20px;}
    body .header-wrapper .navigation .menu-item-has-children>a{padding-right:52px;}
    body .header-wrapper .navigation .sub-menu-toggle{display:block;position:absolute;left:auto;right:0;top:0;width:44px;height:44px;line-height:44px;text-align:center;cursor:pointer;color:#005c9d;}
    body .header-wrapper .navigation .sub-menu{display:none;position:static;width:auto;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;}
    body .header-wrapper .navigation .sub-menu li{padding:0!important;}
    body .header-wrapper .navigation .sub-menu a{display:block;min-height:44px;padding:12px 26px;line-height:20px;color:#005c9d;}
}
@media (max-width:767px){
    .wpb-content-wrapper>.vc_row,.entry-content>.vc_row{margin-left:0;margin-right:0;}
    .single-project .content-wrapper>.container>.row{margin-left:0;margin-right:0;}
    .single-project #wpb-content-root>.intro4{margin-left:-20px;margin-right:-20px;}
    .home .services .vc_inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;margin:0;}
    .home .services .vc_inner:before,.home .services .vc_inner:after{content:none!important;display:none!important;}
    .home .services .vc_inner>.vc_column_container{width:auto;min-width:0;float:none;margin:0;}
    .home .services .vc_inner>.vc_column_container>.vc_column-inner{padding:0;}
    .home .services h3{font-size:17px;line-height:1.3;min-height:45px;margin:14px 0 10px;}
    .home .services .wpb_text_column{margin-bottom:0;}
    .home .services .vc_icon_element{margin-bottom:0;}
    .home .services .vc_btn3{padding:11px 13px;font-size:12px;min-height:44px;}
    .home .services .vc_btn3-container{margin-bottom:0;}
    .wpcf7 input:not([type=hidden]),.wpcf7 textarea,.wpcf7 select{width:100%;max-width:100%;box-sizing:border-box;min-height:48px;font-size:16px;}
    .wpcf7 textarea{padding:14px;}
    .wpcf7 input[type=submit]{display:block;}
    .wpcf7 .g-recaptcha{display:block;max-width:100%;}
}
/* The fixed-width Google widget needs a smaller footprint on the narrowest phones. */
@media (max-width:343px){
    .wpcf7 .g-recaptcha>div{transform:scale(.9);transform-origin:top left;margin-bottom:-8px;}
}
@media (max-width:379px){
    body .header-wrapper .site-branding span:first-child{font-size:19px!important;}
    body .header-wrapper .site-branding span:last-child{display:none;}
}
