/*
Theme Name: McCann & Partners
Theme URI: https://www.mccannp.com
Author: ITCS (UK) Ltd
Description: Custom WordPress theme for McCann & Partners - Building Services Consultancy, Cardiff & Bristol
Version: 2.0
Text Domain: mccann
*/

/* v14 sector archive repair: original header + filter + full image grid */
body.post-type-archive-mccann_sector .header,
body.page-template-page-sectors .header,
body.page-slug-sectors .header,
body.page-template-page-sectors-php .header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 50 !important;
    background: #fff !important;
}
body.post-type-archive-mccann_sector .header .main_nav a,
body.page-template-page-sectors .header .main_nav a,
body.page-slug-sectors .header .main_nav a { color: #183f8c !important; }
body.post-type-archive-mccann_sector .header .searchbox,
body.page-template-page-sectors .header .searchbox,
body.page-slug-sectors .header .searchbox { color: #183f8c; }
.sectors-landing { padding: 0 !important; margin: 0 !important; min-height: 500px; background: #fff; clear: both; }
.sector-filter-wrap { width:100%; clear:both; border-top:1px solid #ddd; border-bottom:1px solid #ddd; background:#fff; position:relative; z-index:10; }
.sector-filter-nav { display:table; width:100%; margin:0; padding:0; list-style:none; table-layout:fixed; }
.sector-filter-nav li { display:table-cell; text-align:center; padding:19px 6px; border-right:1px solid #e5e5e5; color:#8f8495; font-size:14px; cursor:pointer; font-weight:300; line-height:1.2; }
.sector-filter-nav li.is-checked { background:#bcbec0; color:#fff; }
.sector-grid { width:100%; margin:0; padding:0; line-height:0; clear:both; }
.sector-grid:after { content:""; display:block; clear:both; }
.sector-gridbox { float:left; width:25%; height:360px; display:block; background-size:cover !important; background-position:center center !important; background-repeat:no-repeat !important; line-height:normal; position:relative; }
.sector-gridbox .darken { width:100%; height:100%; opacity:0; background:rgba(24,63,140,.72); transition:opacity .25s ease; }
.sector-gridbox:hover .darken { opacity:1; }
.sector-gridbox .label { color:#fff; font-size:22px; text-align:center; width:100%; height:100%; }
.sector-gridbox .label table { width:100%; height:100%; }
.sectors-empty-message { padding:70px 30px; text-align:center; color:#183f8c; font-size:18px; line-height:1.5; }
@media (max-width:1200px){ .sector-gridbox{width:33.333%;height:320px}.sector-filter-nav li{font-size:12px;padding:16px 4px} }
@media (max-width:760px){ .sector-filter-nav{display:block}.sector-filter-nav li{display:inline-block;width:50%;box-sizing:border-box}.sector-gridbox{width:50%;height:250px} }
@media (max-width:480px){ .sector-gridbox{width:100%;height:260px} }

/* v15 team page: original screenshot layout */
body.page-template-page-team .header,
body.page-template-page-team-php .header,
body.page-slug-team .header,
body.post-type-archive-mccann_team .header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 50 !important;
    background: #fff !important;
    border-bottom: 1px solid #e6e6e6;
}
body.page-template-page-team .header .logo_small,
body.page-template-page-team .header .logo_large,
body.page-template-page-team-php .header .logo_small,
body.page-template-page-team-php .header .logo_large,
body.page-slug-team .header .logo_small,
body.page-slug-team .header .logo_large,
body.post-type-archive-mccann_team .header .logo_small,
body.post-type-archive-mccann_team .header .logo_large {
    display: block !important;
}
body.page-template-page-team .header .logo,
body.page-template-page-team-php .header .logo,
body.page-slug-team .header .logo,
body.post-type-archive-mccann_team .header .logo {
    content: url('assets/images/Logo_blue.svg');
}
body.page-template-page-team .header .main_nav a,
body.page-template-page-team-php .header .main_nav a,
body.page-slug-team .header .main_nav a,
body.post-type-archive-mccann_team .header .main_nav a {
    color: #183f8c !important;
}
body.page-template-page-team .header .searchbox,
body.page-template-page-team-php .header .searchbox,
body.page-slug-team .header .searchbox,
body.post-type-archive-mccann_team .header .searchbox {
    color: #183f8c;
}
.team-page-section {
    background: #fff;
    padding: 38px 0 34px;
}
.team-page-wrap {
    width: 100%;
    max-width: 1086px;
    margin: 0 auto;
    box-sizing: border-box;
}
.team-intro p {
    color: #858585;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 16px;
    text-align: left;
    font-weight: 300;
}
.team-intro .team-lead {
    color: #12357f;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 400;
    margin-bottom: 18px;
}
.team-title {
    color: #12357f;
    font-size: 36px;
    font-weight: 300;
    line-height: 1.1;
    margin: 22px 0 10px;
}
.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.team-card {
    position: relative;
    overflow: hidden;
    background: #f2f2f2;
    min-height: 280px;
}
.team-card img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center center;
    filter: grayscale(100%);
    transition: transform .35s ease, filter .35s ease;
}
.team-card:hover img {
    transform: scale(1.04);
    filter: grayscale(100%);
}
.team-hover {
    position: absolute;
    inset: 0;
    background: rgba(19, 53, 122, .88);
    color: #fff;
    opacity: 0;
    transition: opacity .25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 22px;
    box-sizing: border-box;
}
.team-card:hover .team-hover { opacity: 1; }
.team-hover-inner h2 {
    color: #fff;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 500;
    margin: 0 0 8px;
}
.team-role {
    color: #fff;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    margin: 0 0 8px;
    text-align: center;
}
.team-email,
.team-email a {
    color: #fff;
    font-size: 12px;
    margin: 0 0 12px;
    text-align: center;
}
.team-bio,
.team-bio p {
    color: #fff;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
    margin: 0;
}
.team-top-wrap {
    text-align: right;
    padding: 18px 0 0;
}
.team-top-button {
    display: inline-block;
    background: #12357f;
    color: #fff !important;
    padding: 10px 24px;
    font-size: 16px;
    text-decoration: none !important;
}
@media (max-width: 1160px) {
    .team-page-wrap { padding: 0 30px; }
}
@media (max-width: 800px) {
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .team-title { font-size: 30px; }
}
@media (max-width: 520px) {
    .team-grid { grid-template-columns: 1fr; }
    .team-card img { height: 300px; }
}
.team-single-section { padding: 60px 0; background: #fff; }
.team-single { display: grid; grid-template-columns: 360px 1fr; gap: 40px; align-items: start; }
.team-single img { width: 100%; height: auto; filter: grayscale(100%); }
.team-single h1 { color: #12357f; font-weight: 300; font-size: 36px; margin: 0 0 8px; }
.team-single h2 { color: #12357f; font-weight: 400; font-size: 20px; margin: 0 0 20px; }
@media (max-width: 760px) { .team-single { grid-template-columns: 1fr; } }


/* v16 final team layout repair - match archive screenshot and stop narrow/broken page */
html, body {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}
body.page-template-page-team,
body.page-template-page-team-php,
body.page-slug-team,
body.post-type-archive-mccann_team {
    background: #fff !important;
}
body.page-template-page-team .header,
body.page-template-page-team-php .header,
body.page-slug-team .header,
body.post-type-archive-mccann_team .header {
    position: relative !important;
    width: 100% !important;
    height: 174px !important;
    background: #fff !important;
    border-bottom: 1px solid #e1e1e1 !important;
    box-sizing: border-box !important;
    z-index: 20 !important;
}
body.page-template-page-team .header .pagewrap,
body.page-template-page-team-php .header .pagewrap,
body.page-slug-team .header .pagewrap,
body.post-type-archive-mccann_team .header .pagewrap {
    width: 100% !important;
    max-width: 1500px !important;
    height: 174px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
body.page-template-page-team .header .logo,
body.page-template-page-team-php .header .logo,
body.page-slug-team .header .logo,
body.post-type-archive-mccann_team .header .logo {
    content: url('assets/images/Logo_blue.svg') !important;
    width: 150px !important;
    height: auto !important;
    left: 5px !important;
    top: 16px !important;
    position: absolute !important;
}
body.page-template-page-team .header .logo_large,
body.page-template-page-team-php .header .logo_large,
body.page-slug-team .header .logo_large,
body.post-type-archive-mccann_team .header .logo_large {
    display: block !important;
}
body.page-template-page-team .header .logo_small,
body.page-template-page-team-php .header .logo_small,
body.page-slug-team .header .logo_small,
body.post-type-archive-mccann_team .header .logo_small {
    display: none !important;
}
body.page-template-page-team .nav_container,
body.page-template-page-team-php .nav_container,
body.page-slug-team .nav_container,
body.post-type-archive-mccann_team .nav_container {
    float: right !important;
    margin-top: 18px !important;
    height: auto !important;
    overflow: visible !important;
    position: relative !important;
    background: transparent !important;
}
body.page-template-page-team .main_nav,
body.page-template-page-team-php .main_nav,
body.page-slug-team .main_nav,
body.post-type-archive-mccann_team .main_nav {
    background: transparent !important;
    margin: 0 !important;
}
body.page-template-page-team .main_nav li,
body.page-template-page-team-php .main_nav li,
body.page-slug-team .main_nav li,
body.post-type-archive-mccann_team .main_nav li {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: left !important;
}
body.page-template-page-team .main_nav li a,
body.page-template-page-team-php .main_nav li a,
body.page-slug-team .main_nav li a,
body.post-type-archive-mccann_team .main_nav li a {
    color: #242e77 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    padding: 8px 16px 9px !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: .5px !important;
}
body.page-template-page-team .main_nav li a:hover,
body.page-template-page-team-php .main_nav li a:hover,
body.page-slug-team .main_nav li a:hover,
body.post-type-archive-mccann_team .main_nav li a:hover {
    color: #242e77 !important;
    background: transparent !important;
}
body.page-template-page-team .main_nav li:nth-child(8) span,
body.page-template-page-team-php .main_nav li:nth-child(8) span,
body.page-slug-team .main_nav li:nth-child(8) span,
body.post-type-archive-mccann_team .main_nav li:nth-child(8) span {
    border-bottom: 2px solid #242e77 !important;
}
body.page-template-page-team .searchbox,
body.page-template-page-team-php .searchbox,
body.page-slug-team .searchbox,
body.post-type-archive-mccann_team .searchbox {
    position: absolute !important;
    right: 0 !important;
    top: 80px !important;
    display: block !important;
    width: 250px !important;
    height: 26px !important;
    color: #13357a !important;
    z-index: 30 !important;
}
body.page-template-page-team .searchinput,
body.page-template-page-team-php .searchinput,
body.page-slug-team .searchinput,
body.post-type-archive-mccann_team .searchinput {
    background: #e5e5e5 !important;
    color: #555 !important;
    width: 210px !important;
    height: 26px !important;
    border: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
}
body.page-template-page-team .ion_search_icon,
body.page-template-page-team-php .ion_search_icon,
body.page-slug-team .ion_search_icon,
body.post-type-archive-mccann_team .ion_search_icon {
    color: #13357a !important;
    font-size: 30px !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
}
body.page-template-page-team .hamburger_menu,
body.page-template-page-team-php .hamburger_menu,
body.page-slug-team .hamburger_menu,
body.post-type-archive-mccann_team .hamburger_menu { display: none !important; }

body.page-template-page-team .team-page-section,
body.page-template-page-team-php .team-page-section,
body.page-slug-team .team-page-section,
body.post-type-archive-mccann_team .team-page-section {
    width: 100% !important;
    padding: 38px 0 42px !important;
    margin: 0 !important;
    clear: both !important;
    background: #fff !important;
}
body.page-template-page-team .team-page-wrap,
body.page-template-page-team-php .team-page-wrap,
body.page-slug-team .team-page-wrap,
body.post-type-archive-mccann_team .team-page-wrap {
    width: 100% !important;
    max-width: 1086px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
body.page-template-page-team .team-intro p,
body.page-template-page-team-php .team-intro p,
body.page-slug-team .team-intro p,
body.post-type-archive-mccann_team .team-intro p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #858585 !important;
    font-weight: 300 !important;
    margin: 0 0 16px !important;
    text-align: left !important;
}
body.page-template-page-team .team-intro .team-lead,
body.page-template-page-team-php .team-intro .team-lead,
body.page-slug-team .team-intro .team-lead,
body.post-type-archive-mccann_team .team-intro .team-lead {
    color: #12357f !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    margin-bottom: 18px !important;
}
body.page-template-page-team .team-title,
body.page-template-page-team-php .team-title,
body.page-slug-team .team-title,
body.post-type-archive-mccann_team .team-title {
    color: #12357f !important;
    font-size: 36px !important;
    line-height: 1.1 !important;
    font-weight: 300 !important;
    margin: 22px 0 10px !important;
}
body.page-template-page-team .team-grid,
body.page-template-page-team-php .team-grid,
body.page-slug-team .team-grid,
body.post-type-archive-mccann_team .team-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
}
body.page-template-page-team .team-card,
body.page-template-page-team-php .team-card,
body.page-slug-team .team-card,
body.post-type-archive-mccann_team .team-card {
    min-height: 280px !important;
    height: 280px !important;
    overflow: hidden !important;
    position: relative !important;
    background: #eee !important;
}
body.page-template-page-team .team-card img,
body.page-template-page-team-php .team-card img,
body.page-slug-team .team-card img,
body.post-type-archive-mccann_team .team-card img {
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    filter: grayscale(100%) !important;
}
body.page-template-page-team .team-hover,
body.page-template-page-team-php .team-hover,
body.page-slug-team .team-hover,
body.post-type-archive-mccann_team .team-hover {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(19,53,122,.88) !important;
    opacity: 0 !important;
    transition: opacity .25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 22px !important;
    box-sizing: border-box !important;
    color: #fff !important;
}
body.page-template-page-team .team-card:hover .team-hover,
body.page-template-page-team-php .team-card:hover .team-hover,
body.page-slug-team .team-card:hover .team-hover,
body.post-type-archive-mccann_team .team-card:hover .team-hover { opacity: 1 !important; }
body.page-template-page-team .team-top-wrap,
body.page-template-page-team-php .team-top-wrap,
body.page-slug-team .team-top-wrap,
body.post-type-archive-mccann_team .team-top-wrap { text-align: right !important; padding-top: 18px !important; }

body.page-template-page-team footer,
body.page-template-page-team-php footer,
body.page-slug-team footer,
body.post-type-archive-mccann_team footer {
    width: 100% !important;
    min-width: 100% !important;
    height: 258px !important;
    background: #bcbec0 !important;
    clear: both !important;
}
body.page-template-page-team footer .pagewrap,
body.page-template-page-team-php footer .pagewrap,
body.page-slug-team footer .pagewrap,
body.post-type-archive-mccann_team footer .pagewrap {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
body.page-template-page-team .footer_logo,
body.page-template-page-team-php .footer_logo,
body.page-slug-team .footer_logo,
body.post-type-archive-mccann_team .footer_logo {
    width: 190px !important;
    height: auto !important;
    display: block !important;
}
@media (max-width: 1550px) {
    body.page-template-page-team .header .pagewrap,
    body.page-template-page-team-php .header .pagewrap,
    body.page-slug-team .header .pagewrap,
    body.post-type-archive-mccann_team .header .pagewrap,
    body.page-template-page-team footer .pagewrap,
    body.page-template-page-team-php footer .pagewrap,
    body.page-slug-team footer .pagewrap,
    body.post-type-archive-mccann_team footer .pagewrap { padding: 0 40px !important; box-sizing: border-box !important; }
}
@media (max-width: 1160px) {
    body.page-template-page-team .team-page-wrap,
    body.page-template-page-team-php .team-page-wrap,
    body.page-slug-team .team-page-wrap,
    body.post-type-archive-mccann_team .team-page-wrap { padding: 0 30px !important; }
}
@media (max-width: 1130px) {
    body.page-template-page-team .hamburger_menu,
    body.page-template-page-team-php .hamburger_menu,
    body.page-slug-team .hamburger_menu,
    body.post-type-archive-mccann_team .hamburger_menu { display: block !important; color: #13357a !important; right: 20px !important; opacity: 1 !important; }
    body.page-template-page-team .nav_container,
    body.page-template-page-team-php .nav_container,
    body.page-slug-team .nav_container,
    body.post-type-archive-mccann_team .nav_container { display: none; }
}
@media (max-width: 800px) {
    body.page-template-page-team .team-grid,
    body.page-template-page-team-php .team-grid,
    body.page-slug-team .team-grid,
    body.post-type-archive-mccann_team .team-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 520px) {
    body.page-template-page-team .team-grid,
    body.page-template-page-team-php .team-grid,
    body.page-slug-team .team-grid,
    body.post-type-archive-mccann_team .team-grid { grid-template-columns: 1fr !important; }
}

/* v17 global layout repair - keep subpages aligned to homepage grid */
body:not(.home) .header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: 174px !important;
    background: #fff !important;
    border-bottom: 1px solid #e1e1e1 !important;
    box-sizing: border-box !important;
    z-index: 30 !important;
}
body:not(.home) .header .pagewrap,
body:not(.home) footer .pagewrap {
    width: 100% !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
body:not(.home) .header .logo {
    content: url('assets/images/Logo_blue.svg') !important;
    width: 150px !important;
    height: auto !important;
    position: absolute !important;
    left: 5px !important;
    top: 20px !important;
}
body:not(.home) .header .logo_large { display: block !important; }
body:not(.home) .header .logo_small { display: none !important; }
body:not(.home) .nav_container {
    float: right !important;
    margin-top: 12px !important;
    display: block !important;
    position: relative !important;
    overflow: visible !important;
    background: transparent !important;
}
body:not(.home) .main_nav,
body:not(.home) .main_nav li {
    background: transparent !important;
}
body:not(.home) .main_nav li {
    float: left !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body:not(.home) .main_nav li a {
    color: #242e77 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: .5px !important;
    padding: 8px 16px 0 !important;
    background: transparent !important;
    text-decoration: none !important;
}
body:not(.home) .main_nav li a:hover { background: transparent !important; color: #242e77 !important; }
body:not(.home) .searchbox {
    position: absolute !important;
    right: 0 !important;
    top: 82px !important;
    width: 250px !important;
    height: 28px !important;
    display: block !important;
    color: #13357a !important;
}
body:not(.home) .searchinput {
    width: 210px !important;
    height: 28px !important;
    border: 0 !important;
    background: #e5e5e5 !important;
    padding: 0 8px !important;
    color: #555 !important;
    box-sizing: border-box !important;
}
body:not(.home) .ion_search_icon {
    color: #13357a !important;
    font-size: 30px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}
body:not(.home) .content.first_section {
    padding-top: 38px !important;
    min-height: 600px !important;
}
body:not(.home) .content.first_section > .pagewrap,
body:not(.home) section > .pagewrap,
body:not(.home) footer > .pagewrap {
    max-width: 1500px !important;
}
body:not(.home) .content.first_section .mediumwrap {
    max-width: 1086px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}
body:not(.home) footer {
    width: 100% !important;
    min-width: 0 !important;
    clear: both !important;
}
/* Team: align content to same left grid as About page, not centered into a narrow column */
body.page-template-page-team .team-page-wrap,
body.page-template-page-team-php .team-page-wrap,
body.page-slug-team .team-page-wrap,
body.post-type-archive-mccann_team .team-page-wrap {
    max-width: 1500px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}
body.page-template-page-team .team-intro,
body.page-template-page-team-php .team-intro,
body.page-slug-team .team-intro,
body.post-type-archive-mccann_team .team-intro,
body.page-template-page-team .team-title,
body.page-template-page-team-php .team-title,
body.page-slug-team .team-title,
body.post-type-archive-mccann_team .team-title,
body.page-template-page-team .team-grid,
body.page-template-page-team-php .team-grid,
body.page-slug-team .team-grid,
body.post-type-archive-mccann_team .team-grid,
body.page-template-page-team .team-top-wrap,
body.page-template-page-team-php .team-top-wrap,
body.page-slug-team .team-top-wrap,
body.post-type-archive-mccann_team .team-top-wrap {
    max-width: 1086px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}
body.page-template-page-team .team-card,
body.page-template-page-team-php .team-card,
body.page-slug-team .team-card,
body.post-type-archive-mccann_team .team-card,
body.page-template-page-team .team-card img,
body.page-template-page-team-php .team-card img,
body.page-slug-team .team-card img,
body.post-type-archive-mccann_team .team-card img {
    height: 330px !important;
    min-height: 330px !important;
}
body.page-template-page-team .team-page-section,
body.page-template-page-team-php .team-page-section,
body.page-slug-team .team-page-section,
body.post-type-archive-mccann_team .team-page-section {
    padding-top: 38px !important;
}
@media screen and (max-width: 1550px) {
    body:not(.home) .header .pagewrap,
    body:not(.home) footer .pagewrap,
    body:not(.home) .content.first_section > .pagewrap,
    body.page-template-page-team .team-page-wrap,
    body.page-template-page-team-php .team-page-wrap,
    body.page-slug-team .team-page-wrap,
    body.post-type-archive-mccann_team .team-page-wrap {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}
@media screen and (max-width: 1130px) {
    body:not(.home) .hamburger_menu { display: block !important; color: #13357a !important; }
    body:not(.home) .nav_container { display: none !important; }
}
@media screen and (max-width: 800px) {
    body.page-template-page-team .team-grid,
    body.page-template-page-team-php .team-grid,
    body.page-slug-team .team-grid,
    body.post-type-archive-mccann_team .team-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media screen and (max-width: 650px) {
    body:not(.home) .header .pagewrap,
    body:not(.home) footer .pagewrap,
    body:not(.home) .content.first_section > .pagewrap,
    body.page-template-page-team .team-page-wrap,
    body.page-template-page-team-php .team-page-wrap,
    body.page-slug-team .team-page-wrap,
    body.post-type-archive-mccann_team .team-page-wrap {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.page-template-page-team .team-grid,
    body.page-template-page-team-php .team-grid,
    body.page-slug-team .team-grid,
    body.post-type-archive-mccann_team .team-grid { grid-template-columns: 1fr !important; }
}

/* v18 scrollbar repair - remove nested page scrolling while keeping browser scroll only */
html {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
}
body {
    overflow-y: visible !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: 100% !important;
}
body:not(.home),
body:not(.home) .site,
body:not(.home) .page,
body:not(.home) .pagewrap,
body:not(.home) .content,
body:not(.home) .content.first_section,
body:not(.home) .team-page-section,
body:not(.home) .sectors-landing {
    overflow-y: visible !important;
    height: auto !important;
}
.search_results {
    max-height: 70vh !important;
    overflow-y: auto !important;
}
.nav_container.on {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* v19 About page exact layout repair */
body.page-id-about,
body.page-slug-about,
body.page-template-page-about,
body.page-template-page-about-php {
    background: #fff !important;
}
.mccann-about-page {
    padding: 0 0 35px !important;
    min-height: 0 !important;
    overflow: visible !important;
}
.mccann-about-wrap {
    position: relative !important;
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 22px 40px 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.mccann-back-btn {
    position: absolute !important;
    left: 40px !important;
    top: 24px !important;
    display: inline-block !important;
    background: #123a84 !important;
    color: #fff !important;
    padding: 10px 26px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-family: inherit !important;
    text-decoration: none !important;
    z-index: 2 !important;
}
.mccann-back-btn:hover { color: #fff !important; opacity: .92 !important; }
.mccann-about-main {
    max-width: 560px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
.mccann-about-main h1 {
    color: #123a84 !important;
    font-size: 31px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
}
.mccann-about-hero-img {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    margin: 0 0 18px !important;
}
.mccann-about-copy,
.mccann-about-copy p {
    color: #878787 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
}
.mccann-about-copy p {
    margin: 0 0 17px !important;
    padding: 0 !important;
}
.mccann-about-copy p.lead,
.mccann-about-copy p:first-child {
    color: #123a84 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    letter-spacing: .02em !important;
    font-weight: 400 !important;
}
.mccann-about-copy a { color: #123a84 !important; text-decoration: none !important; }
.mccann-about-copy a:hover { text-decoration: underline !important; }
.mccann-about-logos {
    clear: both !important;
    max-width: 1040px !important;
    margin: 76px auto 34px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    column-gap: 38px !important;
    row-gap: 30px !important;
    align-items: center !important;
}
.mccann-about-logo-cell {
    height: 45px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mccann-about-logo-cell img {
    display: block !important;
    max-width: 100% !important;
    max-height: 45px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
.mccann-about-top {
    margin: 0 140px 0 0 !important;
    background: #123a84 !important;
    color: #fff !important;
}
@media screen and (max-width: 1000px) {
    .mccann-back-btn { position: static !important; margin: 0 0 25px !important; }
    .mccann-about-main { margin: 0 auto !important; }
    .mccann-about-logos { grid-template-columns: repeat(4, 1fr) !important; gap: 28px !important; }
    .mccann-about-top { margin-right: 0 !important; }
}
@media screen and (max-width: 650px) {
    .mccann-about-wrap { padding-left: 22px !important; padding-right: 22px !important; }
    .mccann-about-main h1 { font-size: 28px !important; }
    .mccann-about-logos { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }
}

/* v20 About template width repair - match standard inner page/home content width */
body.page-template-page-about .mccann-about-page,
body.page-template-page-about-php .mccann-about-page,
body.page-slug-about .mccann-about-page,
body.page-id-about .mccann-about-page {
    width: 100% !important;
    padding: 38px 0 45px !important;
    margin: 0 !important;
    clear: both !important;
    background: #fff !important;
}
body.page-template-page-about .mccann-about-wrap,
body.page-template-page-about-php .mccann-about-wrap,
body.page-slug-about .mccann-about-wrap,
body.page-id-about .mccann-about-wrap {
    width: 100% !important;
    max-width: 1086px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
}
body.page-template-page-about .mccann-about-main,
body.page-template-page-about-php .mccann-about-main,
body.page-slug-about .mccann-about-main,
body.page-id-about .mccann-about-main {
    width: 100% !important;
    max-width: 1086px !important;
    margin: 0 auto !important;
    padding: 0 0 0 260px !important;
    box-sizing: border-box !important;
}
body.page-template-page-about .mccann-about-main h1,
body.page-template-page-about-php .mccann-about-main h1,
body.page-slug-about .mccann-about-main h1,
body.page-id-about .mccann-about-main h1 {
    margin-top: 0 !important;
}
body.page-template-page-about .mccann-about-hero-img,
body.page-template-page-about-php .mccann-about-hero-img,
body.page-slug-about .mccann-about-hero-img,
body.page-id-about .mccann-about-hero-img {
    width: 560px !important;
    max-width: 100% !important;
}
body.page-template-page-about .mccann-about-copy,
body.page-template-page-about-php .mccann-about-copy,
body.page-slug-about .mccann-about-copy,
body.page-id-about .mccann-about-copy {
    max-width: 560px !important;
}
body.page-template-page-about .mccann-about-logos,
body.page-template-page-about-php .mccann-about-logos,
body.page-slug-about .mccann-about-logos,
body.page-id-about .mccann-about-logos {
    width: 100% !important;
    max-width: 1086px !important;
    margin: 76px auto 34px !important;
}
body.page-template-page-about .mccann-back-btn,
body.page-template-page-about-php .mccann-back-btn,
body.page-slug-about .mccann-back-btn,
body.page-id-about .mccann-back-btn {
    left: 0 !important;
    top: 0 !important;
}
body.page-template-page-about .mccann-about-top,
body.page-template-page-about-php .mccann-about-top,
body.page-slug-about .mccann-about-top,
body.page-id-about .mccann-about-top {
    margin-right: 0 !important;
}
@media screen and (max-width: 1160px) {
    body.page-template-page-about .mccann-about-wrap,
    body.page-template-page-about-php .mccann-about-wrap,
    body.page-slug-about .mccann-about-wrap,
    body.page-id-about .mccann-about-wrap { padding-left: 40px !important; padding-right: 40px !important; }
    body.page-template-page-about .mccann-about-main,
    body.page-template-page-about-php .mccann-about-main,
    body.page-slug-about .mccann-about-main,
    body.page-id-about .mccann-about-main { padding-left: 210px !important; }
}
@media screen and (max-width: 900px) {
    body.page-template-page-about .mccann-about-main,
    body.page-template-page-about-php .mccann-about-main,
    body.page-slug-about .mccann-about-main,
    body.page-id-about .mccann-about-main { padding-left: 0 !important; }
    body.page-template-page-about .mccann-back-btn,
    body.page-template-page-about-php .mccann-back-btn,
    body.page-slug-about .mccann-back-btn,
    body.page-id-about .mccann-back-btn { position: static !important; margin-bottom: 24px !important; }
}

/* Contact page restored layout */
body.page-template-page-contact,
body.page-template-page-contact-php {
    overflow-x: hidden;
}
.mccann-contact-page {
    padding-top: 0;
    background: #fff;
}
.mccann-contact-wrap {
    max-width: 1180px;
    width: 1180px;
    margin: 0 auto;
    padding: 52px 0 38px;
    box-sizing: border-box;
}
.mccann-contact-title {
    margin: 0 0 34px 0 !important;
    color: #123b86;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.15;
}
.mccann-contact-offices {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 82px;
}
.mccann-contact-office {
    min-width: 0;
}
.mccann-map-card {
    height: 285px;
    background: #dfddd9;
    overflow: hidden;
    position: relative;
}
.mccann-map-card iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: grayscale(10%);
}
.mccann-office-info {
    display: grid;
    grid-template-columns: 1fr 110px;
    gap: 16px;
    padding: 14px 0 0 0;
    color: #777;
    font-size: 15px;
    line-height: 1.2;
}
.mccann-office-text h2 {
    margin: 0 0 4px;
    color: #123b86;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
}
.mccann-office-text p {
    margin: 0 0 18px;
}
.mccann-office-contact {
    margin-bottom: 0 !important;
}
.mccann-office-contact a {
    color: #2a5da8;
    text-decoration: none;
}
.mccann-office-info img {
    width: 110px;
    height: 82px;
    object-fit: cover;
    align-self: start;
}
.mccann-contact-form-panel {
    background: #e8e8e8;
    padding: 28px 26px 50px;
    margin: 0 0 54px;
    box-sizing: border-box;
}
.mccann-contact-form-panel h2 {
    margin: 0 0 30px;
    color: #123b86;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.15;
}
.custom-contact-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
.custom-contact-form .form-left,
.custom-contact-form .form-right {
    min-width: 0;
}
.custom-contact-form p {
    margin: 0;
}
.custom-contact-form .wpcf7-form-control-wrap {
    display: block;
}
.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form input[type="tel"],
.custom-contact-form textarea,
.mccann-contact-form-panel .wpcf7 input[type="text"],
.mccann-contact-form-panel .wpcf7 input[type="email"],
.mccann-contact-form-panel .wpcf7 input[type="tel"],
.mccann-contact-form-panel .wpcf7 textarea {
    width: 100%;
    height: 46px;
    padding: 0;
    margin: 0 0 18px;
    border: 0;
    border-bottom: 1px solid #aaa;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    color: #666;
    font-family: inherit;
    font-size: 16px;
    outline: none;
    box-sizing: border-box;
}
.custom-contact-form textarea,
.mccann-contact-form-panel .wpcf7 textarea {
    height: 118px;
    padding-top: 0;
    resize: vertical;
}
.custom-contact-form input::placeholder,
.custom-contact-form textarea::placeholder,
.mccann-contact-form-panel .wpcf7 input::placeholder,
.mccann-contact-form-panel .wpcf7 textarea::placeholder {
    color: #777;
    opacity: 1;
}
.custom-contact-form input[type="submit"],
.mccann-contact-form-panel .wpcf7-submit {
    float: right;
    min-width: 120px;
    height: 42px;
    padding: 0 24px;
    margin-top: 4px;
    border: 0;
    background: #123b86;
    color: #fff;
    font-family: inherit;
    font-size: 20px;
    line-height: 42px;
    cursor: pointer;
    border-radius: 0;
    text-align: center;
}
.mccann-contact-form-panel .wpcf7-spinner {
    float: right;
    margin-top: 12px;
}
.mccann-contact-form-panel .wpcf7-not-valid-tip {
    font-size: 12px;
    margin-top: -14px;
    margin-bottom: 8px;
}
.mccann-contact-form-panel .wpcf7-response-output {
    clear: both;
    margin: 18px 0 0 !important;
}
.mccann-contact-top {
    margin: 0 0 28px 0 !important;
}

@media (max-width: 1240px) {
    .mccann-contact-wrap {
        width: calc(100% - 80px);
        max-width: 1180px;
    }
}
@media (max-width: 900px) {
    .mccann-contact-wrap {
        width: calc(100% - 40px);
        padding-top: 36px;
    }
    .mccann-contact-offices,
    .custom-contact-form {
        grid-template-columns: 1fr;
    }
    .mccann-contact-offices {
        gap: 34px;
        margin-bottom: 46px;
    }
    .mccann-map-card {
        height: 250px;
    }
}
@media (max-width: 520px) {
    .mccann-contact-wrap {
        width: calc(100% - 24px);
    }
    .mccann-office-info {
        grid-template-columns: 1fr;
    }
    .mccann-office-info img {
        width: 140px;
        height: 95px;
    }
}

/* v22 hard repair: remove duplicate/nested viewport scrollbars */
html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}
body.admin-bar {
    overflow-y: visible !important;
}
.popup_container,
.active_search,
.header,
.content,
.content.first_section,
.pagewrap,
.mccann-contact-page,
.mccann-contact-wrap,
.mccann-about-page,
.mccann-about-wrap,
.team-page-section,
.team-page-wrap,
.sectors-landing,
.sector-grid-wrap {
    max-height: none !important;
    overflow-y: visible !important;
}
.search_results {
    max-height: 70vh !important;
    overflow-y: auto !important;
}
.nav_container {
    overflow-y: visible !important;
}
@media screen and (max-width: 1130px) {
    .nav_container { overflow: hidden !important; }
    .nav_container.on {
        height: 100vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* v23 FINAL scrollbar fix: one page scrollbar only.
   Chrome was showing html + body scrollbars because the recovered old CSS sets body overflow-y:auto.
   The html element is now the only scroll container; body and theme wrappers cannot create their own vertical scrollbar. */
html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: clip !important;
}
@supports not (overflow: clip) {
    body { overflow-y: hidden !important; }
}
body > .popup_container,
body > .header,
body > section,
body > main,
body > footer,
.content,
.content.first_section,
.pagewrap,
.mccann-contact-page,
.mccann-contact-wrap,
.mccann-about-page,
.mccann-about-wrap,
.team-page-section,
.team-page-wrap,
.sectors-landing,
.sector-grid-wrap {
    max-height: none !important;
    overflow-y: visible !important;
}
.popup_container:not(.is-open):not(.open):not(.active) {
    display: none !important;
    overflow: hidden !important;
}
.active_search:not(:visible) {
    overflow: hidden !important;
}
.active_search:visible,
.search_results {
    overflow-y: auto !important;
}
@media screen and (min-width: 1131px) {
    .nav_container,
    .nav_container.on {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* v24 REAL single scrollbar repair
   Root cause: previous fixes allowed both html and body/theme wrappers to behave as scroll containers.
   Force the browser viewport/html to NOT scroll and make body the only vertical scroll container. */
html {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
}
body {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    position: relative !important;
}
body.admin-bar {
    height: calc(100% - 32px) !important;
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        height: calc(100% - 46px) !important;
    }
}
body > .popup_container,
body > .header,
body > section,
body > main,
body > footer,
.content,
.content.first_section,
.footer_body,
.pagewrap,
.mccann-contact-page,
.mccann-contact-wrap,
.mccann-about-page,
.mccann-about-wrap,
.team-page-section,
.team-page-wrap,
.sectors-landing,
.sector-grid-wrap {
    max-height: none !important;
    overflow-y: visible !important;
}
.popup_container:empty,
.popup_container:not(.open):not(.active):not(.is-open) {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
}
.active_search {
    max-height: none !important;
}
.search_results {
    max-height: 70vh !important;
    overflow-y: auto !important;
}
@media screen and (min-width: 1131px) {
    .nav_container,
    .nav_container.on {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}
@media screen and (max-width: 1130px) {
    .nav_container.on {
        max-height: 100% !important;
        overflow-y: auto !important;
    }
}

/* v25 News template repair */
.mccann-news-page,
.mccann-single-news-page {
    min-height: 620px;
    padding: 0 0 54px;
    background: #fff;
}
.mccann-news-wrap,
.mccann-single-news-wrap {
    width: 1120px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    padding-top: 34px;
    box-sizing: border-box;
}
.mccann-news-title {
    margin: 0 0 24px !important;
    color: #123b86;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.15;
}
.mccann-news-list {
    width: 760px;
    max-width: 100%;
}
.mccann-news-item {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 22px;
    margin: 0 0 18px;
    align-items: start;
}
.mccann-news-thumb {
    display: block;
    width: 210px;
    height: 135px;
    overflow: hidden;
    background: #eee;
    text-decoration: none;
}
.mccann-news-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mccann-news-thumb-placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: #e8e8e8;
    color: #123b86;
    font-size: 22px;
}
.mccann-news-copy {
    padding-top: 4px;
    min-width: 0;
}
.mccann-news-headline-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
}
.mccann-news-headline-row h2 {
    margin: 0 0 7px;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;
}
.mccann-news-headline-row h2 a {
    color: #123b86;
    text-decoration: none;
}
.mccann-news-headline-row h2 a:hover {
    text-decoration: underline;
}
.mccann-news-headline-row time {
    color: #9b9b9b;
    font-size: 11px;
    line-height: 1.3;
    white-space: nowrap;
    padding-top: 3px;
}
.mccann-news-excerpt,
.mccann-news-excerpt p {
    margin: 0;
    color: #777;
    font-size: 12px;
    line-height: 1.5;
}
.mccann-news-pagination {
    width: 760px;
    max-width: 100%;
    margin: 28px 0 20px;
    color: #123b86;
}
.mccann-news-pagination a,
.mccann-news-pagination span {
    display: inline-block;
    margin: 0 3px 6px 0;
    padding: 6px 9px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #123b86;
    font-size: 12px;
}
.mccann-news-pagination .current {
    background: #123b86;
    color: #fff;
    border-color: #123b86;
}
.mccann-news-empty {
    color: #123b86;
    font-size: 16px;
}
.mccann-news-top {
    margin: 18px 0 0;
}
.mccann-back-btn {
    display: inline-block;
    margin: 0 0 22px;
}
.mccann-single-news {
    width: 760px;
    max-width: 100%;
}
.mccann-single-news h1 {
    color: #123b86;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 8px !important;
}
.mccann-single-date {
    display: block;
    color: #999;
    font-size: 12px;
    margin: 0 0 20px;
}
.mccann-single-featured {
    margin: 0 0 22px;
}
.mccann-single-featured img {
    display: block;
    width: 100%;
    height: auto;
}
.mccann-single-content,
.mccann-single-content p,
.mccann-single-content li {
    color: #666;
    font-size: 15px;
    line-height: 1.7;
}
.mccann-single-content a {
    color: #123b86;
}
@media (max-width: 900px) {
    .mccann-news-wrap,
    .mccann-single-news-wrap {
        max-width: calc(100% - 36px);
        padding-top: 28px;
    }
    .mccann-news-item {
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 16px;
    }
    .mccann-news-thumb {
        width: 150px;
        height: 100px;
    }
    .mccann-news-headline-row {
        display: block;
    }
    .mccann-news-headline-row time {
        display: block;
        margin-bottom: 6px;
    }
}
@media (max-width: 560px) {
    .mccann-news-item {
        display: block;
    }
    .mccann-news-thumb {
        width: 100%;
        height: 210px;
        margin-bottom: 12px;
    }
}

/* v26 GLOBAL DESIGN SYSTEM REPAIR
   One layout system for all restored templates. Do not make page-by-page widths fight each other. */
:root{
  --mccann-blue:#123b86;
  --mccann-text:#6f6f77;
  --mccann-muted:#9a9a9a;
  --mccann-line:#e5e5e5;
  --mccann-site:1180px;
  --mccann-content:1086px;
}

html{
  width:100% !important;
  min-height:100% !important;
  height:auto !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}
body{
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:100% !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
  margin:0 !important;
  background:#fff !important;
  color:var(--mccann-text);
}
body > *{
  box-sizing:border-box;
}
.popup_container,
.active_search,
.search_results,
.nav_container,
.header,
footer,
.footer_body,
.pagewrap,
.mccann-page,
.team-page-section,
.sectors-landing,
.mccann-news-page,
.mccann-single-news-page,
.mccann-contact-page,
.mccann-about-page{
  box-sizing:border-box !important;
}

/* Header must behave the same on every inner page */
body:not(.home) .header,
body:not(.home) section.header,
body.page-template-page-team .header,
body.page-template-page-about .header,
body.page-template-page-contact .header,
body.page-template-page-sectors .header,
body.page-template-page-news .header,
body.blog .header,
body.single .header,
body.archive .header{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:150px !important;
  z-index:50 !important;
  background:#fff !important;
  border-bottom:1px solid var(--mccann-line) !important;
  overflow:visible !important;
}
body:not(.home) .header .pagewrap,
body.archive .header .pagewrap,
body.single .header .pagewrap{
  width:var(--mccann-site) !important;
  max-width:calc(100% - 80px) !important;
  margin:0 auto !important;
  min-height:150px !important;
  position:relative !important;
}
body:not(.home) .logo_small,
body:not(.home) .logo_large{
  display:block !important;
  position:absolute !important;
  left:0 !important;
  top:18px !important;
  width:150px !important;
  height:auto !important;
  z-index:20 !important;
}
body:not(.home) .logo_small img,
body:not(.home) .logo_large img,
body:not(.home) img.logo{
  width:150px !important;
  height:auto !important;
  display:block !important;
  content:url('assets/images/Logo_blue.svg') !important;
}
body:not(.home) .nav_container{
  position:absolute !important;
  top:22px !important;
  right:0 !important;
  width:auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  z-index:15 !important;
}
body:not(.home) .main_nav,
body:not(.home) .nav_container ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
}
body:not(.home) .main_nav li,
body:not(.home) .nav_container li{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  float:none !important;
}
body:not(.home) .main_nav a,
body:not(.home) .nav_container a{
  color:var(--mccann-blue) !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:400 !important;
  text-decoration:none !important;
  padding:0 0 8px !important;
}
body:not(.home) .main_nav a:hover,
body:not(.home) .main_nav .current-menu-item > a,
body:not(.home) .nav_container a:hover{
  border-bottom:2px solid var(--mccann-blue) !important;
}
body:not(.home) .searchbox{
  position:absolute !important;
  right:0 !important;
  top:90px !important;
  width:270px !important;
  height:30px !important;
  color:var(--mccann-blue) !important;
  overflow:visible !important;
}
body:not(.home) .searchbox .searchinput,
body:not(.home) .searchinput{
  width:210px !important;
  height:30px !important;
  padding:0 10px !important;
  background:#e6e6e6 !important;
  border:0 !important;
  color:#777 !important;
  font-size:14px !important;
  box-sizing:border-box !important;
}
body:not(.home) .searchicon{
  display:inline-block !important;
  margin-right:12px !important;
  color:var(--mccann-blue) !important;
  font-size:28px !important;
  vertical-align:middle !important;
}
body:not(.home) .hamburger_menu{display:none !important;}

/* one inner-page content width */
.mccann-page-wrap,
.mccann-about-wrap,
.mccann-contact-wrap,
.team-page-wrap,
.mccann-news-wrap,
.mccann-single-news-wrap,
.page_content,
body:not(.home) main .pagewrap{
  width:var(--mccann-content) !important;
  max-width:calc(100% - 80px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
.mccann-page,
.mccann-about-page,
.mccann-contact-page,
.team-page-section,
.mccann-news-page,
.mccann-single-news-page{
  width:100% !important;
  min-height:620px !important;
  padding:38px 0 54px !important;
  background:#fff !important;
  overflow:visible !important;
}
body:not(.home) h1,
.mccann-news-title,
.team-title{
  color:var(--mccann-blue) !important;
  font-size:30px !important;
  font-weight:300 !important;
  line-height:1.15 !important;
  margin:0 0 24px !important;
}
body:not(.home) p,
body:not(.home) li,
body:not(.home) .mccann-news-excerpt,
body:not(.home) .mccann-news-excerpt p{
  color:#777 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:300 !important;
}
body:not(.home) a{color:var(--mccann-blue);}

/* preserve special full-width sectors page after header */
.sectors-landing,
body.post-type-archive-mccann_sector .sectors-landing,
body.page-template-page-sectors .sectors-landing{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.sector-filter-wrap{
  margin:0 !important;
  top:auto !important;
}

/* team/news/contact/about scale from same base */
.team-grid{gap:10px !important;}
.team-card img{height:auto !important; aspect-ratio:1.18/1 !important; object-fit:cover !important;}
.mccann-news-list,
.mccann-single-news{width:760px !important;max-width:100% !important;}
.mccann-contact-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;}
.mccann-contact-form-wrap{width:100% !important;box-sizing:border-box !important;}

/* footer consistent */
footer,
.footer_body{
  width:100% !important;
  overflow:visible !important;
  background:#bcbec0 !important;
}
footer .pagewrap,
.footer_body .pagewrap{
  width:var(--mccann-site) !important;
  max-width:calc(100% - 80px) !important;
  margin:0 auto !important;
  position:relative !important;
  box-sizing:border-box !important;
}

@media (max-width:1240px){
  body:not(.home) .header .pagewrap,
  footer .pagewrap,.footer_body .pagewrap{max-width:calc(100% - 60px) !important;}
  .mccann-page-wrap,.mccann-about-wrap,.mccann-contact-wrap,.team-page-wrap,.mccann-news-wrap,.mccann-single-news-wrap,.page_content{max-width:calc(100% - 60px) !important;}
  body:not(.home) .main_nav,body:not(.home) .nav_container ul{gap:18px !important;}
}
@media (max-width:900px){
  body:not(.home) .header,body:not(.home) section.header{min-height:auto !important;}
  body:not(.home) .header .pagewrap{min-height:125px !important;max-width:calc(100% - 36px) !important;}
  body:not(.home) .logo_small,body:not(.home) .logo_large{width:120px !important;}
  body:not(.home) .logo_small img,body:not(.home) .logo_large img,body:not(.home) img.logo{width:120px !important;}
  body:not(.home) .nav_container{position:relative !important;top:auto !important;right:auto !important;padding:20px 0 0 145px !important;}
  body:not(.home) .main_nav,body:not(.home) .nav_container ul{flex-wrap:wrap !important;gap:12px 18px !important;}
  body:not(.home) .searchbox{position:relative !important;right:auto !important;top:auto !important;margin:16px 0 0 145px !important;}
  .mccann-page-wrap,.mccann-about-wrap,.mccann-contact-wrap,.team-page-wrap,.mccann-news-wrap,.mccann-single-news-wrap,.page_content{max-width:calc(100% - 36px) !important;}
  .mccann-contact-grid{grid-template-columns:1fr !important;}
  footer .pagewrap,.footer_body .pagewrap{max-width:calc(100% - 36px) !important;}
}
@media (max-width:560px){
  body:not(.home) .nav_container{padding-left:0 !important;padding-top:145px !important;}
  body:not(.home) .searchbox{margin-left:0 !important;width:100% !important;}
  body:not(.home) .searchinput{width:calc(100% - 50px) !important;}
  body:not(.home) h1,.mccann-news-title,.team-title{font-size:26px !important;}
}

/* v27 FINAL HEADER SYSTEM REPAIR
   One header system for the whole site. Home stays the original overlay header.
   Every inner template uses the same size, same pagewrap, same nav/search positions,
   only white background + blue logo/nav. This overrides old page-by-page hacks. */
html {
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    height: auto !important;
}
body {
    overflow-y: visible !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: 100% !important;
    width: 100% !important;
    padding-top: 0 !important;
}
body:not(.home) {
    padding-top: 174px !important;
}
body.admin-bar:not(.home) {
    padding-top: 206px !important;
}
.header,
body:not(.home) .header,
body.page-template-page-team .header,
body.page-template-page-about .header,
body.page-template-page-contact .header,
body.page-template-page-sectors .header,
body.page-template-page-news .header,
body.post-type-archive-mccann_sector .header,
body.post-type-archive-mccann_team .header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    height: 174px !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
    transition: all .3s ease !important;
}
body.admin-bar .header { top: 32px !important; }
body:not(.home) .header,
body:not(.home) .header.white {
    background: #fff !important;
    border-bottom: 1px solid #d8d8d8 !important;
}
body.home .header,
body.home .header:not(.white) {
    background: transparent !important;
    border-bottom: 0 !important;
}
.header.smaller,
body:not(.home) .header.smaller,
body.home .header.smaller {
    height: 66px !important;
    background: #13357a !important;
    border-bottom: 0 !important;
}
.header .pagewrap,
body:not(.home) .header .pagewrap,
body.page-template-page-team .header .pagewrap,
body.page-template-page-about .header .pagewrap,
body.page-template-page-contact .header .pagewrap,
body.page-template-page-sectors .header .pagewrap,
body.page-template-page-news .header .pagewrap,
body.post-type-archive-mccann_sector .header .pagewrap,
body.post-type-archive-mccann_team .header .pagewrap {
    width: 100% !important;
    max-width: 1500px !important;
    height: 174px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.header.smaller .pagewrap { height: 66px !important; }
.header .logo,
body:not(.home) .header .logo,
body.page-template-page-team .header .logo,
body.page-template-page-about .header .logo,
body.page-template-page-contact .header .logo,
body.page-template-page-sectors .header .logo,
body.page-template-page-news .header .logo {
    width: 150px !important;
    height: auto !important;
    position: absolute !important;
    left: 5px !important;
    top: 20px !important;
    max-width: none !important;
    display: block !important;
}
.header.smaller .logo {
    top: 8px !important;
    height: 40px !important;
    width: auto !important;
    display: none !important;
}
.header .logo_large { display: block !important; }
.header .logo_small { display: none !important; }
.header.smaller .logo_large { display: none !important; }
.header.smaller .logo_small { display: block !important; }
.header.smaller .logo_small .logo { top: 14px !important; display: none !important; }
.nav_container,
body:not(.home) .nav_container,
body.page-template-page-team .nav_container,
body.page-template-page-about .nav_container,
body.page-template-page-contact .nav_container,
body.page-template-page-sectors .nav_container,
body.page-template-page-news .nav_container {
    float: right !important;
    margin-top: 12px !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    position: relative !important;
    background: transparent !important;
    display: block !important;
    opacity: 1 !important;
    z-index: 15 !important;
    padding: 0 !important;
}
.header.smaller .nav_container { margin-top: 16px !important; }
.main_nav,
.main_nav li,
body:not(.home) .main_nav,
body:not(.home) .main_nav li {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.main_nav li,
body:not(.home) .main_nav li {
    float: left !important;
    width: auto !important;
    position: relative !important;
}
.main_nav li a,
body:not(.home) .main_nav li a,
body.page-template-page-team .main_nav li a,
body.page-template-page-about .main_nav li a,
body.page-template-page-contact .main_nav li a,
body.page-template-page-sectors .main_nav li a,
body.page-template-page-news .main_nav li a {
    display: block !important;
    padding: 8px 16px 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: .5px !important;
    text-transform: none !important;
    background: transparent !important;
    text-decoration: none !important;
    color: #242e77 !important;
}
body.home .header:not(.white):not(.smaller) .main_nav li a { color: #fff !important; }
.header.smaller .main_nav li a,
body:not(.home) .header.smaller .main_nav li a { color: #fff !important; }
.main_nav span { display: inline-block !important; padding: 0 0 8px !important; }
body:not(.home) .main_nav li.on span,
body:not(.home) .main_nav li.current-menu-item span,
body:not(.home) .main_nav li.current_page_item span { border-bottom: 2px solid #242e77 !important; }
body.home .header:not(.white):not(.smaller) .main_nav li.on span,
body.home .header:not(.white):not(.smaller) .main_nav li.current-menu-item span,
body.home .header:not(.white):not(.smaller) .main_nav li.current_page_item span { border-bottom: 2px solid #fff !important; }
.header.smaller .main_nav li.on span,
.header.smaller .main_nav li.current-menu-item span,
.header.smaller .main_nav li.current_page_item span { border-bottom: 2px solid #fff !important; }
.searchbox,
body:not(.home) .searchbox,
body.page-template-page-team .searchbox,
body.page-template-page-about .searchbox,
body.page-template-page-contact .searchbox,
body.page-template-page-sectors .searchbox,
body.page-template-page-news .searchbox {
    position: absolute !important;
    right: 0 !important;
    top: 82px !important;
    width: 250px !important;
    height: 28px !important;
    display: block !important;
    z-index: 20 !important;
    color: #13357a !important;
}
body.home .header:not(.white):not(.smaller) .searchbox { color: #fff !important; }
.header.smaller .searchbox { top: 20px !important; }
.searchinput,
body:not(.home) .searchinput {
    width: 210px !important;
    height: 28px !important;
    border: 0 !important;
    background: #e5e5e5 !important;
    padding: 0 8px !important;
    color: #555 !important;
    box-sizing: border-box !important;
}
.ion_search_icon,
body:not(.home) .ion_search_icon {
    color: inherit !important;
    font-size: 30px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}
body:not(.home) .content.first_section,
body:not(.home) .mccann-contact-page,
body:not(.home) .mccann-about-page,
body:not(.home) .team-page-section,
body:not(.home) .sectors-landing {
    padding-top: 40px !important;
    margin-top: 0 !important;
    clear: both !important;
}
body:not(.home) .pagewrap,
body:not(.home) footer .pagewrap,
body:not(.home) section > .pagewrap {
    max-width: 1500px !important;
    box-sizing: border-box !important;
}
@media screen and (max-width:1550px) {
    .header .pagewrap,
    body:not(.home) .header .pagewrap { padding-left: 40px !important; padding-right: 40px !important; }
    .header .logo,
    body:not(.home) .header .logo { left: 40px !important; }
    .searchbox,
    body:not(.home) .searchbox { right: 40px !important; }
}
@media screen and (max-width:1130px) {
    .hamburger_menu,
    body:not(.home) .hamburger_menu { display: block !important; opacity: 1 !important; right: 20px !important; z-index: 30 !important; color: #13357a !important; }
    body.home .header:not(.white):not(.smaller) .hamburger_menu { color: #fff !important; }
    .nav_container,
    body:not(.home) .nav_container {
        opacity: 1 !important;
        z-index: 25 !important;
        top: 0 !important;
        left: 0 !important;
        position: absolute !important;
        float: none !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
        height: 0 !important;
        width: 100% !important;
        background: #13357a !important;
        margin-top: 0 !important;
        display: block !important;
    }
    .nav_container.on,
    body:not(.home) .nav_container.on { height: 100vh !important; overflow-y: auto !important; padding-bottom: 20px !important; }
    .main_nav,
    body:not(.home) .main_nav { background: #13357a !important; margin-top: 45px !important; width: 100% !important; }
    .main_nav li,
    body:not(.home) .main_nav li { width: 100% !important; float: none !important; }
    .main_nav li a,
    body:not(.home) .main_nav li a { color: #fff !important; padding: 10px 16px !important; }
}
@media screen and (max-width:650px) {
    body:not(.home) { padding-top: 150px !important; }
    .header,
    body:not(.home) .header { height: 150px !important; }
    .header .pagewrap,
    body:not(.home) .header .pagewrap { height: 150px !important; padding-left: 20px !important; padding-right: 20px !important; }
    .header .logo,
    body:not(.home) .header .logo { left: 20px !important; width: 130px !important; }
    .searchbox,
    body:not(.home) .searchbox { right: 20px !important; top: 92px !important; }
}

/* v28 REAL global header/layout reset
   One system for every inner page: header is in normal document flow like the original theme.
   This removes the fake fixed-header body padding that created the huge blank gap and scrollbar conflicts. */
html {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
}
body {
    overflow-y: visible !important;
    overflow-x: hidden !important;
    height: auto !important;
    min-height: 100% !important;
    padding-top: 0 !important;
    margin: 0 !important;
}
body:not(.home),
body.admin-bar:not(.home) {
    padding-top: 0 !important;
}
body:not(.home) .header,
body:not(.home) .header.white,
body:not(.home) .header.fixed,
body:not(.home) .header.smaller,
body.page-template-page-about .header,
body.page-template-page-team .header,
body.page-template-page-contact .header,
body.page-template-page-sectors .header,
body.page-template-page-news .header,
body.post-type-archive-mccann_sector .header,
body.post-type-archive-mccann_team .header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: 174px !important;
    min-height: 174px !important;
    background: #fff !important;
    border-bottom: 1px solid #d8d8d8 !important;
    box-sizing: border-box !important;
    z-index: 30 !important;
    transform: none !important;
}
body.admin-bar:not(.home) .header { top: auto !important; }
body:not(.home) .header .pagewrap,
body:not(.home) footer .pagewrap {
    width: 100% !important;
    max-width: 1500px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
body:not(.home) .header .pagewrap { height: 174px !important; }
body:not(.home) .header .logo,
body:not(.home) .header.white .logo,
body:not(.home) .header.smaller .logo {
    content: url('assets/images/Logo_blue.svg') !important;
    width: 150px !important;
    height: auto !important;
    max-width: none !important;
    position: absolute !important;
    left: 5px !important;
    top: 20px !important;
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
}
body:not(.home) .header .logo_large { display: block !important; }
body:not(.home) .header .logo_small { display: none !important; }
body:not(.home) .nav_container {
    display: block !important;
    float: right !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    margin-top: 12px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    opacity: 1 !important;
}
body:not(.home) .main_nav li { float: left !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
body:not(.home) .main_nav li a {
    color: #242e77 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: .5px !important;
    padding: 8px 16px 0 !important;
    background: transparent !important;
    text-decoration: none !important;
}
body:not(.home) .main_nav li a:hover { color:#242e77 !important; background:transparent !important; }
body:not(.home) .searchbox {
    position: absolute !important;
    right: 0 !important;
    top: 82px !important;
    width: 250px !important;
    height: 28px !important;
    color: #13357a !important;
    display: block !important;
    z-index: 20 !important;
}
body:not(.home) .searchinput {
    width: 210px !important;
    height: 28px !important;
    background: #e5e5e5 !important;
    border: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
}
body:not(.home) .content.first_section,
body:not(.home) .mccann-about-page,
body:not(.home) .mccann-contact-page,
body:not(.home) .team-page-section,
body:not(.home) .sectors-landing,
body:not(.home) .news-page-section {
    padding-top: 38px !important;
    margin-top: 0 !important;
    clear: both !important;
    overflow: visible !important;
    height: auto !important;
}
@media screen and (max-width:1550px) {
    body:not(.home) .header .pagewrap,
    body:not(.home) footer .pagewrap { padding-left:40px !important; padding-right:40px !important; }
    body:not(.home) .header .logo { left:40px !important; }
    body:not(.home) .searchbox { right:40px !important; }
}
@media screen and (max-width:1130px) {
    body:not(.home) .hamburger_menu { display:block !important; color:#13357a !important; }
    body:not(.home) .nav_container { display:none !important; }
    body:not(.home) .nav_container.on { display:block !important; height:100vh !important; overflow-y:auto !important; background:#13357a !important; }
}

/* v29 header overlap final repair
   Keeps the original McCann header proportions but prevents logo/nav/search collisions. */
body:not(.home) .header,
body:not(.home) .header.white,
body:not(.home) .header.fixed {
    position: relative !important;
    height: 174px !important;
    min-height: 174px !important;
    overflow: visible !important;
}
body:not(.home) .header .pagewrap {
    max-width: 1500px !important;
    width: 100% !important;
    height: 174px !important;
    margin: 0 auto !important;
    position: relative !important;
    overflow: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body:not(.home) .header .logo_large {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    width: 150px !important;
    height: auto !important;
    z-index: 10 !important;
}
body:not(.home) .header .logo_small { display: none !important; }
body:not(.home) .header .logo,
body:not(.home) .header.white .logo,
body:not(.home) .header.smaller .logo {
    position: static !important;
    width: 150px !important;
    height: auto !important;
    display: block !important;
    transform: none !important;
    margin: 0 !important;
}
body:not(.home) .nav_container {
    position: absolute !important;
    left: 260px !important;
    right: 255px !important;
    top: 28px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
    z-index: 5 !important;
    text-align: right !important;
    background: transparent !important;
}
body:not(.home) .main_nav {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body:not(.home) .main_nav li {
    float: none !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}
body:not(.home) .main_nav li a {
    display: block !important;
    padding: 0 13px 8px !important;
    font-size: 15px !important;
    line-height: 20px !important;
    color: #13357a !important;
    text-decoration: none !important;
    background: transparent !important;
}
body:not(.home) .searchbox {
    position: absolute !important;
    right: 0 !important;
    top: 86px !important;
    width: 245px !important;
    height: 30px !important;
    margin: 0 !important;
    z-index: 8 !important;
    display: flex !important;
    align-items: center !important;
}
body:not(.home) .searchbox .searchicon,
body:not(.home) .searchbox .ion_search_icon {
    display: inline-block !important;
    width: 34px !important;
    height: 30px !important;
    line-height: 30px !important;
    margin: 0 8px 0 0 !important;
    font-size: 30px !important;
    color: #13357a !important;
}
body:not(.home) .searchbox .searchinput {
    display: inline-block !important;
    width: 200px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    background: #e5e5e5 !important;
    box-sizing: border-box !important;
}
body:not(.home) .search_clear { display: none !important; }
body:not(.home) .content.first_section,
body:not(.home) .mccann-about-page,
body:not(.home) .mccann-contact-page,
body:not(.home) .team-page-section,
body:not(.home) .sectors-landing,
body:not(.home) .news-page-section {
    clear: both !important;
    padding-top: 38px !important;
}
@media screen and (max-width:1550px) {
    body:not(.home) .header .pagewrap {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
    body:not(.home) .header .logo_large { left: 40px !important; }
    body:not(.home) .nav_container { left: 300px !important; right: 295px !important; }
    body:not(.home) .searchbox { right: 40px !important; }
}
@media screen and (max-width:1250px) {
    body:not(.home) .nav_container { left: 250px !important; right: 265px !important; }
    body:not(.home) .main_nav li a { font-size: 13px !important; padding-left: 8px !important; padding-right: 8px !important; }
}
@media screen and (max-width:1130px) {
    body:not(.home) .header,
    body:not(.home) .header .pagewrap { height: 150px !important; min-height: 150px !important; }
    body:not(.home) .hamburger_menu { display: block !important; color: #13357a !important; right: 25px !important; top: 25px !important; z-index: 60 !important; }
    body:not(.home) .nav_container { display: none !important; }
    body:not(.home) .nav_container.on {
        display: block !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #13357a !important;
        z-index: 50 !important;
        padding-top: 55px !important;
        text-align: left !important;
    }
    body:not(.home) .nav_container.on .main_nav { display: block !important; }
    body:not(.home) .nav_container.on .main_nav li { display: block !important; width: 100% !important; }
    body:not(.home) .nav_container.on .main_nav li a { color: #fff !important; font-size: 18px !important; padding: 12px 25px !important; }
    body:not(.home) .searchbox { right: 80px !important; top: 82px !important; }
}

/* ─── v30 Services real page + submenu system ─────────────────────────────── */
.header .nav_container .main_nav,
.header .nav_container ul.main_nav {
    overflow: visible !important;
}
.header .nav_container .main_nav > li {
    position: relative !important;
}
.header .nav_container .main_nav li.menu-item-has-children > a:after,
.header .nav_container .main_nav li.services-menu-item > a:after {
    content: "";
    display: inline-block;
    margin-left: 7px;
    vertical-align: middle;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
}
.header .nav_container .main_nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 230px;
    margin: 0;
    padding: 12px 0 !important;
    list-style: none;
    background: rgba(18, 50, 116, 0.98);
    box-shadow: 0 16px 35px rgba(0,0,0,.22);
    z-index: 99999;
    text-align: left;
}
.header.white .nav_container .main_nav .sub-menu,
body:not(.home) .header .nav_container .main_nav .sub-menu {
    background: #123274;
}
.header .nav_container .main_nav li:hover > .sub-menu,
.header .nav_container .main_nav li:focus-within > .sub-menu {
    display: block;
}
.header .nav_container .main_nav .sub-menu li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.header .nav_container .main_nav .sub-menu a {
    display: block !important;
    width: 100% !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    letter-spacing: .02em !important;
    padding: 10px 18px !important;
    white-space: nowrap !important;
    text-transform: none !important;
}
.header .nav_container .main_nav .sub-menu a:hover {
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
}

body.page-template-page-services .header,
body.page-template-page-services-php .header,
body.post-type-archive-mccann_service .header,
body.single-mccann_service .header {
    top: 0 !important;
}
.mccann-services-page {
    background-image: url('assets/images/uploads/blue_bg.jpg'), linear-gradient(135deg,#14397d 0%,#0e285d 100%) !important;
    background-size: cover !important;
    background-position: center center !important;
    padding-top: 160px !important;
    padding-bottom: 70px !important;
    min-height: 720px;
}
.mccann-services-page .pagewrap {
    max-width: 1180px !important;
    width: calc(100% - 80px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.mccann-page-heading {
    max-width: 760px;
    margin: 0 auto 42px auto;
    text-align: center;
    color: #fff;
}
.mccann-page-heading h1 {
    color: #fff !important;
    font-size: 42px !important;
    line-height: 1.15 !important;
    font-weight: 300 !important;
    margin: 0 0 18px !important;
}
.mccann-page-heading p {
    color: rgba(255,255,255,.9) !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}
.mccann-services-grid.icon_wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
    width: 100% !important;
    margin: 0 auto !important;
}
.mccann-services-grid .featurebox,
.mccann-services-grid .mccann-service-card {
    width: auto !important;
    min-height: 235px !important;
    margin: 0 !important;
    padding: 35px 28px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    transition: background .25s ease, transform .25s ease !important;
}
.mccann-services-grid .featurebox:hover {
    background: rgba(255,255,255,.14) !important;
    transform: translateY(-2px);
}
.mccann-services-grid .featurebox .icon {
    height: 72px !important;
    width: 72px !important;
    margin: 0 auto 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.mccann-services-grid .featurebox .icon img {
    max-width: 64px !important;
    max-height: 64px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    filter: brightness(0) invert(1) !important;
    opacity: .95;
}
.mccann-services-grid .featurebox .text {
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    margin: 0 0 12px !important;
}
.mccann-services-grid .service-excerpt {
    color: rgba(255,255,255,.8) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    max-width: 260px;
}
.mccann-empty-message {
    color: #fff !important;
    grid-column: 1 / -1;
    text-align: center;
}
@media (max-width: 980px) {
    .mccann-services-grid.icon_wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .mccann-services-page .pagewrap { width: calc(100% - 40px) !important; }
}
@media (max-width: 720px) {
    .header .nav_container .main_nav .sub-menu {
        position: static !important;
        display: block !important;
        transform: none !important;
        min-width: 0 !important;
        box-shadow: none !important;
        background: rgba(255,255,255,.08) !important;
        padding: 4px 0 !important;
    }
    .header .nav_container .main_nav .sub-menu a {
        padding-left: 42px !important;
        white-space: normal !important;
    }
    .mccann-services-page { padding-top: 130px !important; }
    .mccann-services-grid.icon_wrapper { grid-template-columns: 1fr !important; }
    .mccann-page-heading h1 { font-size: 34px !important; }
}

/* v31 FINAL services submenu repair
   The Services dropdown must behave like the original theme: a compact vertical dropdown under Services, not a full-width bar. */
.header .nav_container,
.header .nav_container .main_nav,
.header .nav_container .main_nav > li {
    overflow: visible !important;
}
.header .nav_container .main_nav > li.menu-item-has-children,
.header .nav_container .main_nav > li.services-menu-item {
    position: relative !important;
}
.header .nav_container .main_nav > li > ul.sub-menu,
body:not(.home) .header .nav_container .main_nav > li > ul.sub-menu {
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 30px !important;
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    width: 285px !important;
    min-width: 285px !important;
    max-width: 285px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    list-style: none !important;
    background: #13357a !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
    z-index: 999999 !important;
    text-align: left !important;
    white-space: normal !important;
}
.header .nav_container .main_nav > li:hover > ul.sub-menu,
.header .nav_container .main_nav > li:focus-within > ul.sub-menu,
body:not(.home) .header .nav_container .main_nav > li:hover > ul.sub-menu,
body:not(.home) .header .nav_container .main_nav > li:focus-within > ul.sub-menu {
    display: block !important;
}
.header .nav_container .main_nav > li > ul.sub-menu > li,
body:not(.home) .header .nav_container .main_nav > li > ul.sub-menu > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    white-space: normal !important;
    background: transparent !important;
}
.header .nav_container .main_nav > li > ul.sub-menu > li > a,
body:not(.home) .header .nav_container .main_nav > li > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 16px !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    letter-spacing: .2px !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: normal !important;
}
.header .nav_container .main_nav > li > ul.sub-menu > li > a:hover,
body:not(.home) .header .nav_container .main_nav > li > ul.sub-menu > li > a:hover {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
}
body:not(.home) .header .searchbox {
    z-index: 4 !important;
}
body:not(.home) .header .nav_container {
    z-index: 20 !important;
}
@media screen and (max-width:1130px) {
    .header .nav_container .main_nav > li > ul.sub-menu,
    body:not(.home) .header .nav_container .main_nav > li > ul.sub-menu {
        display: block !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-shadow: none !important;
        background: rgba(255,255,255,.08) !important;
        padding: 0 !important;
    }
}


/* v26 navigation cleanup: WordPress menu controlled + button reset */
.header .hamburger_menu,
.header .searchicon,
.header .close_search {
    border: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
}
.header .hamburger_menu:focus-visible,
.header .searchicon:focus-visible,
.header .close_search:focus-visible,
.header .main_nav a:focus-visible,
.footer_body .footnav a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.footer_body .footnav {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer_body .footnav li {
    list-style: none;
}

/* WordPress native menu states and dropdown class support */
.main_nav > li.current-menu-item > a,
.main_nav > li.current_page_item > a,
.main_nav > li.current-menu-ancestor > a {
    border-bottom: 2px solid currentColor !important;
    padding-bottom: 8px !important;
}
.main_nav .sub-menu {
    background-color: #13357a !important;
    padding: 20px !important;
    width: 240px !important;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    transform: translateY(-2em);
    transition: all .3s ease-in-out 0s, visibility 0s linear .3s, z-index 0s linear .01s;
}
.main_nav li:hover > .sub-menu,
.main_nav li:focus-within > .sub-menu {
    visibility: visible;
    opacity: 1;
    z-index: 9999;
    transform: translateY(0);
}
.main_nav .sub-menu li {
    float: none !important;
    display: block !important;
}
.main_nav .sub-menu a {
    color: #fff !important;
    padding: 8px 24px !important;
    border-bottom: 0 !important;
}

/* v32 production final: single scrollbar, clean header/nav/footer accessibility
   This block intentionally sits last to override older recovery patches. */
html {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: auto !important;
}
body.menu-open {
    overflow: hidden !important;
}
body > .popup_container:not(:empty) {
    max-height: 100vh !important;
    overflow-y: auto !important;
}
body > .popup_container:empty,
body > .header,
body > section,
body > main,
body > footer,
.banner,
.content,
.content.first_section,
.pagewrap,
.footer_body,
.mccann-contact-page,
.mccann-services-page,
.mccann-news-page,
.mccann-about-page,
.team-page-wrap,
.mccann-page-wrap {
    max-height: none !important;
    overflow-y: visible !important;
}
.active_search {
    max-height: 100vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}
.header,
.header .pagewrap {
    box-sizing: border-box !important;
}
.header .hamburger_menu,
.header .searchicon,
.header .close_search {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.header .hamburger_menu:focus-visible,
.header .searchicon:focus-visible,
.header .close_search:focus-visible,
.header .main_nav a:focus-visible,
.footer_body a:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 4px !important;
}
.main_nav,
.footnav {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.footnav li {
    list-style: none !important;
}
.header .nav_container,
.header .nav_container .main_nav,
.header .nav_container .main_nav > li {
    overflow: visible !important;
}
.header .nav_container .main_nav > li.menu-item-has-children {
    position: relative !important;
}
.header .nav_container .main_nav > li > .sub-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 285px !important;
    min-width: 285px !important;
    max-width: 285px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: #13357a !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
    z-index: 999999 !important;
    text-align: left !important;
}
.header .nav_container .main_nav > li:hover > .sub-menu,
.header .nav_container .main_nav > li:focus-within > .sub-menu {
    display: block !important;
}
.header .nav_container .main_nav > li > .sub-menu > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
.header .nav_container .main_nav > li > .sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 16px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    border: 0 !important;
}
.header .nav_container .main_nav > li > .sub-menu > li > a:hover,
.header .nav_container .main_nav > li > .sub-menu > li > a:focus-visible {
    background: rgba(255,255,255,.14) !important;
    color: #fff !important;
}
@media screen and (max-width: 1130px) {
    .header .hamburger_menu { display: block !important; }
    .header .nav_container {
        display: none !important;
    }
    .header .nav_container.on {
        display: block !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        background: #13357a !important;
        z-index: 99998 !important;
        padding: 65px 24px 30px !important;
        box-sizing: border-box !important;
    }
    body.admin-bar .header .nav_container.on { top: 32px !important; height: calc(100vh - 32px) !important; }
    .header .nav_container.on .main_nav,
    .header .nav_container.on .main_nav > li {
        display: block !important;
        float: none !important;
        width: 100% !important;
    }
    .header .nav_container.on .main_nav > li > a {
        display: block !important;
        color: #fff !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.14) !important;
    }
    .header .nav_container.on .main_nav > li > .sub-menu {
        display: block !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        background: rgba(255,255,255,.08) !important;
        box-shadow: none !important;
        padding: 4px 0 6px 14px !important;
    }
    .header .nav_container.on .main_nav > li > .sub-menu > li > a {
        padding: 9px 0 !important;
        font-size: 15px !important;
    }
    .header .hamburger_menu.on {
        position: fixed !important;
        z-index: 100000 !important;
    }
}
@media screen and (max-width: 782px) {
    body.admin-bar .header .nav_container.on { top: 46px !important; height: calc(100vh - 46px) !important; }
}


/* Footer overlap fix */
.site-footer,
footer {
    position: relative !important;
    overflow: hidden !important;
    clear: both !important;
}

.site-footer .footer-bottom,
footer .copyright,
footer p {
    position: relative !important;
    z-index: 2 !important;
    line-height: 1.6 !important;
}

.site-footer img,
footer img {
    max-width: 100%;
    height: auto;
}

.site-footer .logo,
footer .logo {
    margin-bottom: 15px;
}


/* v34 exact footer design restore and overlap repair */
.mccann-footer-exact,
.mccann-footer-exact .footer_body {
    background: #bcbec0 !important;
    color: #4f5358 !important;
    width: 100% !important;
    min-height: 252px !important;
    height: auto !important;
    overflow: hidden !important;
    clear: both !important;
    position: relative !important;
    font-family: inherit !important;
}
.mccann-footer-exact .footer_body {
    padding: 34px 0 14px !important;
}
.mccann-footer-exact .footer_exact_wrap {
    width: 1500px !important;
    max-width: calc(100% - 80px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    display: grid !important;
    grid-template-columns: 190px 170px 210px 310px 1fr !important;
    column-gap: 70px !important;
    align-items: start !important;
    box-sizing: border-box !important;
    min-height: 204px !important;
    overflow: visible !important;
}
.mccann-footer-exact .footer_exact_col,
.mccann-footer-exact .footer_brand_col,
.mccann-footer-exact .footer_nav_col,
.mccann-footer-exact .footer_address_col {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    line-height: 1.22 !important;
    color: #4f5358 !important;
    font-size: 19px !important;
    letter-spacing: .01em !important;
    min-width: 0 !important;
}
.mccann-footer-exact .footer_brand_col {
    display: flex !important;
    flex-direction: column !important;
    min-height: 204px !important;
}
.mccann-footer-exact .footer_logo_link {
    display: block !important;
    width: 150px !important;
    line-height: 0 !important;
    margin: 0 0 12px 0 !important;
}
.mccann-footer-exact .footer_logo {
    display: block !important;
    width: 150px !important;
    max-width: 150px !important;
    height: auto !important;
    margin: 0 !important;
}
.mccann-footer-exact .footer_legal_links {
    margin-top: auto !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
    color: #4f5358 !important;
    white-space: normal !important;
}
.mccann-footer-exact .footnav {
    list-style: none !important;
    margin: -3px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.18 !important;
}
.mccann-footer-exact .footnav li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.18 !important;
}
.mccann-footer-exact a,
.mccann-footer-exact .footnav a,
.mccann-footer-exact .footer_credit a,
.mccann-footer-exact .footer_legal_links a {
    color: #4f5358 !important;
    text-decoration: none !important;
}
.mccann-footer-exact a:hover,
.mccann-footer-exact a:focus-visible {
    text-decoration: underline !important;
}
.mccann-footer-exact strong,
.mccann-footer-exact b {
    font-weight: 700 !important;
    color: #4f5358 !important;
}
.mccann-footer-exact .footer_socials {
    position: absolute !important;
    top: -2px !important;
    right: 16px !important;
    display: flex !important;
    gap: 18px !important;
    align-items: center !important;
    line-height: 1 !important;
    z-index: 2 !important;
}
.mccann-footer-exact .social_link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    color: #4f5358 !important;
    line-height: 1 !important;
}
.mccann-footer-exact .footer_credit {
    position: absolute !important;
    right: 16px !important;
    bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    color: #4f5358 !important;
    white-space: nowrap !important;
    z-index: 2 !important;
}
@media (max-width: 1200px) {
    .mccann-footer-exact .footer_exact_wrap {
        grid-template-columns: 170px 150px 210px 260px !important;
        column-gap: 45px !important;
        padding-bottom: 36px !important;
    }
    .mccann-footer-exact .footer_exact_col { font-size: 17px !important; }
}
@media (max-width: 900px) {
    .mccann-footer-exact .footer_body { padding: 30px 0 18px !important; }
    .mccann-footer-exact .footer_exact_wrap {
        max-width: calc(100% - 36px) !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 28px 34px !important;
        min-height: 0 !important;
        padding-bottom: 44px !important;
    }
    .mccann-footer-exact .footer_brand_col { min-height: 0 !important; }
    .mccann-footer-exact .footer_legal_links { margin-top: 16px !important; }
    .mccann-footer-exact .footer_socials { right: 0 !important; top: 0 !important; }
    .mccann-footer-exact .footer_credit { left: 0 !important; right: auto !important; bottom: 0 !important; white-space: normal !important; }
}
@media (max-width: 560px) {
    .mccann-footer-exact .footer_exact_wrap {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding-top: 38px !important;
        padding-bottom: 54px !important;
    }
    .mccann-footer-exact .footer_socials { left: 0 !important; right: auto !important; top: 0 !important; }
    .mccann-footer-exact .footer_exact_col { font-size: 16px !important; }
    .mccann-footer-exact .footer_legal_links,
    .mccann-footer-exact .footer_credit { font-size: 12px !important; }
}

/* v35 FINAL footer consistency lock
   Forces the same footer design on every page and cancels older page-specific footer rules. */
html body footer.mccann-footer-exact,
html body .mccann-footer-exact,
html body .mccann-footer-exact .footer_body {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 252px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #bcbec0 !important;
    color: #4f5358 !important;
    clear: both !important;
    overflow: hidden !important;
    position: relative !important;
    float: none !important;
    box-sizing: border-box !important;
}
html body .mccann-footer-exact .footer_body {
    padding: 34px 0 14px !important;
}
html body footer.mccann-footer-exact .footer_exact_wrap,
html body .mccann-footer-exact .footer_exact_wrap,
html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
html body:not(.home) footer.mccann-footer-exact .pagewrap,
html body.page-template-page-team footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-team-php footer.mccann-footer-exact .footer_exact_wrap,
html body.page-slug-team footer.mccann-footer-exact .footer_exact_wrap,
html body.post-type-archive-mccann_team footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-about footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-contact footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-services footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-sectors footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-news footer.mccann-footer-exact .footer_exact_wrap {
    width: 1500px !important;
    max-width: calc(100% - 80px) !important;
    height: auto !important;
    min-height: 204px !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: relative !important;
    display: grid !important;
    grid-template-columns: 190px 170px 210px 310px 1fr !important;
    column-gap: 70px !important;
    row-gap: 0 !important;
    align-items: start !important;
    background: transparent !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    float: none !important;
}
html body .mccann-footer-exact .footer_exact_col,
html body .mccann-footer-exact .footer_brand_col,
html body .mccann-footer-exact .footer_nav_col,
html body .mccann-footer-exact .footer_address_col {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    color: #4f5358 !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    letter-spacing: .01em !important;
    text-align: left !important;
    background: transparent !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
html body .mccann-footer-exact .footer_brand_col {
    display: flex !important;
    flex-direction: column !important;
    min-height: 204px !important;
}
html body .mccann-footer-exact .footer_logo_link {
    display: block !important;
    width: 150px !important;
    max-width: 150px !important;
    line-height: 0 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}
html body .mccann-footer-exact .footer_logo,
html body.page-template-page-team .mccann-footer-exact .footer_logo,
html body.page-template-page-team-php .mccann-footer-exact .footer_logo,
html body.page-slug-team .mccann-footer-exact .footer_logo,
html body.post-type-archive-mccann_team .mccann-footer-exact .footer_logo {
    display: block !important;
    width: 150px !important;
    max-width: 150px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
}
html body .mccann-footer-exact .footer_legal_links {
    margin-top: auto !important;
    color: #4f5358 !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
}
html body .mccann-footer-exact .footnav,
html body .mccann-footer-exact .footnav ul {
    display: block !important;
    list-style: none !important;
    margin: -3px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.18 !important;
    background: transparent !important;
}
html body .mccann-footer-exact .footnav li {
    display: block !important;
    list-style: none !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.18 !important;
    background: transparent !important;
}
html body .mccann-footer-exact a,
html body .mccann-footer-exact .footnav a,
html body .mccann-footer-exact .footer_credit a,
html body .mccann-footer-exact .footer_legal_links a {
    display: inline !important;
    color: #4f5358 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
html body .mccann-footer-exact strong,
html body .mccann-footer-exact b {
    color: #4f5358 !important;
    font-weight: 700 !important;
}
html body .mccann-footer-exact .footer_socials {
    position: absolute !important;
    top: -2px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    display: flex !important;
    width: auto !important;
    height: auto !important;
    gap: 18px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    z-index: 3 !important;
}
html body .mccann-footer-exact .social_link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #4f5358 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
}
html body .mccann-footer-exact .footer_credit {
    position: absolute !important;
    right: 16px !important;
    left: auto !important;
    bottom: 0 !important;
    top: auto !important;
    width: auto !important;
    max-width: 420px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #4f5358 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: right !important;
    white-space: nowrap !important;
    z-index: 3 !important;
}
@media (max-width: 1200px) {
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        grid-template-columns: 170px 150px 210px 260px !important;
        column-gap: 45px !important;
        max-width: calc(100% - 60px) !important;
        padding-bottom: 36px !important;
    }
    html body .mccann-footer-exact .footer_exact_col,
    html body .mccann-footer-exact .footer_nav_col,
    html body .mccann-footer-exact .footer_address_col { font-size: 17px !important; }
}
@media (max-width: 900px) {
    html body .mccann-footer-exact .footer_body { padding: 30px 0 18px !important; }
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        max-width: calc(100% - 36px) !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 28px 34px !important;
        min-height: 0 !important;
        padding-bottom: 44px !important;
    }
    html body .mccann-footer-exact .footer_brand_col { min-height: 0 !important; }
    html body .mccann-footer-exact .footer_legal_links { margin-top: 16px !important; }
    html body .mccann-footer-exact .footer_socials { right: 0 !important; top: 0 !important; }
    html body .mccann-footer-exact .footer_credit { left: 0 !important; right: auto !important; bottom: 0 !important; text-align: left !important; white-space: normal !important; }
}
@media (max-width: 560px) {
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding-top: 38px !important;
        padding-bottom: 54px !important;
    }
    html body .mccann-footer-exact .footer_socials { left: 0 !important; right: auto !important; top: 0 !important; }
    html body .mccann-footer-exact .footer_exact_col { font-size: 16px !important; }
    html body .mccann-footer-exact .footer_legal_links,
    html body .mccann-footer-exact .footer_credit { font-size: 12px !important; }
}



/* Sustainability / BREEAM legacy template pages */
.mccann-sustainability-page {
    background: #fff;
    padding: 70px 0 50px;
    overflow: visible !important;
}
.mccann-sustainability-page .pagewrap {
    max-width: 1280px;
}
.sustainability-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.85fr);
    gap: 70px;
    align-items: start;
    max-width: 1120px;
    margin: 0 auto;
}
.sustainability-copy h1.in_content {
    margin: 0 0 32px;
    color: #003383;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 400;
}
.sustainability-copy p {
    color: #777;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 20px;
}
.sustainability-copy p.intro,
.sustainability-copy .intro {
    color: #003383;
    font-size: 24px;
    line-height: 1.35;
    letter-spacing: 1px;
    margin-bottom: 28px;
}
.sustainability-copy h2,
.sustainability-copy h3 {
    color: #003383;
    font-weight: 700;
    margin: 28px 0 8px;
}
.sustainability-copy h3 {
    font-size: 17px;
}
.sustainability-images {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 18px;
    padding-top: 78px;
}
.sustainability-images img {
    display: block;
    max-width: 100%;
    height: auto;
}
.sustainability-images .badge-small {
    width: 185px;
}
.sustainability-images .badge-wide {
    width: 270px;
    flex-basis: 270px;
}
.sustainability-images .badge-medium {
    width: 230px;
}
.sustainability-images .code-logo {
    width: 240px;
}
.sustainability-images .green-doc {
    width: 335px;
    border: 1px solid #999;
    background: #fff;
}
.sustainability-images .travel-report {
    width: 335px;
}
.mccann-page-green-support .sustainability-wrap {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
}
.mccann-page-green-support .sustainability-images {
    padding-top: 30px;
    gap: 22px;
}
.mccann-page-green-support .sustainability-copy h1.in_content {
    margin-bottom: 28px;
}
.mccann-top-button {
    margin: 55px 40px 10px 0 !important;
}

@media (max-width: 980px) {
    .mccann-sustainability-page {
        padding-top: 45px;
    }
    .sustainability-wrap,
    .mccann-page-green-support .sustainability-wrap {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .sustainability-images {
        padding-top: 0;
        justify-content: flex-start;
    }
    .sustainability-copy p.intro,
    .sustainability-copy .intro {
        font-size: 20px;
    }
    .mccann-top-button {
        margin-right: 0 !important;
    }
}
@media (max-width: 640px) {
    .sustainability-copy h1.in_content {
        font-size: 26px;
    }
    .sustainability-copy p.intro,
    .sustainability-copy .intro {
        font-size: 18px;
    }
    .sustainability-images .badge-small,
    .sustainability-images .badge-wide,
    .sustainability-images .badge-medium,
    .sustainability-images .code-logo,
    .sustainability-images .green-doc {
        width: 100%;
        max-width: 320px;
    }
}

/* Team page final fixes */
body.page-template-page-team .team-hover-inner,
body.page-template-page-team-php .team-hover-inner,
body.page-slug-team .team-hover-inner,
body.post-type-archive-mccann_team .team-hover-inner {
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    text-align: center !important;
    color: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}
body.page-template-page-team .team-hover h2,
body.page-template-page-team-php .team-hover h2,
body.page-slug-team .team-hover h2,
body.post-type-archive-mccann_team .team-hover h2 {
    color: #fff !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
}
body.page-template-page-team .team-hover p,
body.page-template-page-team-php .team-hover p,
body.page-slug-team .team-hover p,
body.post-type-archive-mccann_team .team-hover p,
body.page-template-page-team .team-hover a,
body.page-template-page-team-php .team-hover a,
body.page-slug-team .team-hover a,
body.post-type-archive-mccann_team .team-hover a,
body.page-template-page-team .team-bio,
body.page-template-page-team-php .team-bio,
body.page-slug-team .team-bio,
body.post-type-archive-mccann_team .team-bio {
    color: #fff !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
body.page-template-page-team .team-role,
body.page-template-page-team-php .team-role,
body.page-slug-team .team-role,
body.post-type-archive-mccann_team .team-role {
    font-size: 16px !important;
    line-height: 1.3 !important;
}
body.page-template-page-team .team-email,
body.page-template-page-team-php .team-email,
body.page-slug-team .team-email,
body.post-type-archive-mccann_team .team-email {
    display: none !important;
}
body.page-template-page-team .team-bio,
body.page-template-page-team-php .team-bio,
body.page-slug-team .team-bio,
body.post-type-archive-mccann_team .team-bio {
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* Service single page cleanup for imported CSS fragments */
.single-mccann_service .single_leftcol style,
.single-mccann_service .entry-content style {
    display: none !important;
}


/* v40 contact + footer polish after Swansea removal */
html body.page-template-page-contact .mccann-contact-offices,
html body.page-template-page-contact-php .mccann-contact-offices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 34px !important;
}
html body.page-template-page-contact .mccann-contact-office,
html body.page-template-page-contact-php .mccann-contact-office {
    width: 100% !important;
}
html body.page-template-page-contact .mccann-map-card,
html body.page-template-page-contact-php .mccann-map-card {
    height: 285px !important;
}
html body.page-template-page-contact .mccann-office-info,
html body.page-template-page-contact-php .mccann-office-info {
    grid-template-columns: 1fr 110px !important;
    gap: 18px !important;
}
html body.page-template-page-contact .mccann-contact-form-panel,
html body.page-template-page-contact-php .mccann-contact-form-panel {
    max-width: 1086px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body footer.mccann-footer-exact,
html body .mccann-footer-exact,
html body .mccann-footer-exact .footer_body {
    min-height: 230px !important;
    overflow: hidden !important;
}
html body .mccann-footer-exact .footer_body {
    padding: 34px 0 22px !important;
}
html body footer.mccann-footer-exact .footer_exact_wrap,
html body .mccann-footer-exact .footer_exact_wrap,
html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
html body:not(.home) footer.mccann-footer-exact .pagewrap {
    width: 1180px !important;
    max-width: calc(100% - 80px) !important;
    min-height: 174px !important;
    display: grid !important;
    grid-template-columns: 190px 160px minmax(260px, 1fr) 190px !important;
    column-gap: 70px !important;
    align-items: start !important;
    position: relative !important;
    padding-bottom: 28px !important;
}
html body .mccann-footer-exact .footer_brand_col {
    min-height: 174px !important;
}
html body .mccann-footer-exact .footer_nav_col {
    justify-self: start !important;
}
html body .mccann-footer-exact .footer_address_col {
    justify-self: start !important;
    max-width: 300px !important;
}
html body .mccann-footer-exact .footer_socials {
    position: static !important;
    justify-self: end !important;
    align-self: start !important;
    display: flex !important;
    gap: 18px !important;
    margin-top: 0 !important;
}
html body .mccann-footer-exact .footer_credit {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    max-width: 240px !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 13px !important;
}
html body .mccann-footer-exact .footer_credit a {
    font-weight: 400 !important;
}

@media (max-width: 900px) {
    html body.page-template-page-contact .mccann-contact-offices,
    html body.page-template-page-contact-php .mccann-contact-offices {
        grid-template-columns: 1fr !important;
        max-width: 520px !important;
        gap: 34px !important;
    }
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        grid-template-columns: 1fr 1fr !important;
        gap: 28px 42px !important;
        max-width: calc(100% - 40px) !important;
        min-height: 0 !important;
        padding-bottom: 42px !important;
    }
    html body .mccann-footer-exact .footer_brand_col { min-height: 0 !important; }
    html body .mccann-footer-exact .footer_socials { justify-self: start !important; }
    html body .mccann-footer-exact .footer_credit { left: 0 !important; right: auto !important; text-align: left !important; }
}
@media (max-width: 560px) {
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        max-width: calc(100% - 32px) !important;
        padding-bottom: 52px !important;
    }
    html body .mccann-footer-exact .footer_socials { order: 4 !important; }
}

/* v41 final polish: consistent footer everywhere + home sticky header cleanup */
html body footer.mccann-footer-exact,
html body .mccann-footer-exact,
html body .mccann-footer-exact .footer_body {
    background: #bcbec0 !important;
    color: #4f5358 !important;
    width: 100% !important;
    min-height: 232px !important;
    overflow: hidden !important;
    clear: both !important;
}
html body .mccann-footer-exact .footer_body {
    padding: 30px 0 24px !important;
}
html body footer.mccann-footer-exact .footer_exact_wrap,
html body .mccann-footer-exact .footer_exact_wrap,
html body.home footer.mccann-footer-exact .footer_exact_wrap,
html body:not(.home) footer.mccann-footer-exact .footer_exact_wrap,
html body:not(.home) footer.mccann-footer-exact .pagewrap,
html body.page-template-page-team footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-about footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-contact footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-services footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-sectors footer.mccann-footer-exact .footer_exact_wrap,
html body.page-template-page-news footer.mccann-footer-exact .footer_exact_wrap {
    width: 1080px !important;
    max-width: calc(100% - 80px) !important;
    min-height: 178px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 180px 135px 285px 150px !important;
    column-gap: 70px !important;
    align-items: start !important;
    justify-content: center !important;
    position: relative !important;
    background: transparent !important;
    box-sizing: border-box !important;
}
html body .mccann-footer-exact .footer_brand_col,
html body .mccann-footer-exact .footer_nav_col,
html body .mccann-footer-exact .footer_address_col {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    color: #4f5358 !important;
    font-size: 17px !important;
    line-height: 1.22 !important;
    text-align: left !important;
}
html body .mccann-footer-exact .footer_brand_col {
    min-height: 178px !important;
    display: flex !important;
    flex-direction: column !important;
}
html body .mccann-footer-exact .footer_logo_link,
html body .mccann-footer-exact .footer_logo {
    width: 150px !important;
    max-width: 150px !important;
    height: auto !important;
    display: block !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    position: static !important;
}
html body .mccann-footer-exact .footer_legal_links {
    margin-top: auto !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
}
html body .mccann-footer-exact .footnav,
html body .mccann-footer-exact .footnav li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    line-height: 1.18 !important;
}
html body .mccann-footer-exact .footer_address_col {
    max-width: 285px !important;
}
html body .mccann-footer-exact .footer_socials {
    grid-column: 4 !important;
    grid-row: 1 !important;
    position: static !important;
    justify-self: end !important;
    align-self: start !important;
    display: flex !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}
html body .mccann-footer-exact .footer_credit {
    grid-column: 4 !important;
    grid-row: 1 !important;
    position: static !important;
    justify-self: end !important;
    align-self: end !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}
html body .mccann-footer-exact a,
html body .mccann-footer-exact .footnav a,
html body .mccann-footer-exact .footer_credit a,
html body .mccann-footer-exact .footer_legal_links a {
    color: #4f5358 !important;
    text-decoration: none !important;
}
html body .mccann-footer-exact a:hover,
html body .mccann-footer-exact a:focus-visible {
    text-decoration: underline !important;
}
html body .mccann-footer-exact .social_link {
    color: #4f5358 !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

/* Contact page: balance two remaining offices after Swansea removal */
html body.page-template-page-contact .mccann-contact-offices,
html body.page-template-page-contact-php .mccann-contact-offices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 860px !important;
    max-width: calc(100% - 80px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 36px !important;
    justify-content: center !important;
}
html body.page-template-page-contact .mccann-contact-office,
html body.page-template-page-contact-php .mccann-contact-office {
    width: 100% !important;
}

/* Home page sticky header: stop the ugly overlap/bar while scrolling */
html body.home .header.fixed,
html body.front-page .header.fixed {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    overflow: visible !important;
}
html body.home.admin-bar .header.fixed,
html body.front-page.admin-bar .header.fixed {
    top: 32px !important;
}
html body.home .header.smaller,
html body.front-page .header.smaller {
    height: 72px !important;
    min-height: 72px !important;
    background: #13357a !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
}
html body.home .header.smaller .pagewrap,
html body.front-page .header.smaller .pagewrap {
    width: 1180px !important;
    max-width: calc(100% - 80px) !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 0 auto !important;
    position: relative !important;
}
html body.home .header.smaller .logo_large,
html body.front-page .header.smaller .logo_large {
    display: none !important;
}
html body.home .header.smaller .logo_small,
html body.front-page .header.smaller .logo_small {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    width: 120px !important;
    height: auto !important;
    z-index: 2 !important;
}
html body.home .header.smaller .logo_small img,
html body.front-page .header.smaller .logo_small img,
html body.home .header.smaller img.logo,
html body.front-page .header.smaller img.logo {
    width: 120px !important;
    max-width: 120px !important;
    height: auto !important;
    display: block !important;
    position: static !important;
}
html body.home .header.smaller .nav_container,
html body.front-page .header.smaller .nav_container {
    position: absolute !important;
    left: 180px !important;
    right: 300px !important;
    top: 24px !important;
    margin: 0 !important;
    float: none !important;
    height: auto !important;
    overflow: visible !important;
}
html body.home .header.smaller .main_nav,
html body.front-page .header.smaller .main_nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body.home .header.smaller .main_nav > li,
html body.front-page .header.smaller .main_nav > li {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body.home .header.smaller .main_nav > li > a,
html body.front-page .header.smaller .main_nav > li > a {
    color: #fff !important;
    padding: 0 0 8px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    background: transparent !important;
    white-space: nowrap !important;
}
html body.home .header.smaller .searchbox,
html body.front-page .header.smaller .searchbox {
    position: absolute !important;
    top: 19px !important;
    right: 0 !important;
    width: 260px !important;
    height: 32px !important;
    margin: 0 !important;
    color: #fff !important;
}
html body.home .header.smaller .searchinput,
html body.front-page .header.smaller .searchinput {
    width: 210px !important;
    height: 32px !important;
    background: rgba(255,255,255,.9) !important;
    color: #4f5358 !important;
}
html body.home .header.smaller .search_clear,
html body.front-page .header.smaller .search_clear {
    display: none !important;
}

@media (max-width: 1200px) {
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        max-width: calc(100% - 60px) !important;
        grid-template-columns: 170px 130px 260px 140px !important;
        column-gap: 48px !important;
    }
    html body.home .header.smaller .nav_container,
    html body.front-page .header.smaller .nav_container { left: 155px !important; right: 270px !important; }
    html body.home .header.smaller .main_nav,
    html body.front-page .header.smaller .main_nav { gap: 16px !important; }
    html body.home .header.smaller .main_nav > li > a,
    html body.front-page .header.smaller .main_nav > li > a { font-size: 13px !important; }
}
@media (max-width: 900px) {
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        grid-template-columns: 1fr 1fr !important;
        gap: 28px 40px !important;
        max-width: calc(100% - 40px) !important;
        min-height: 0 !important;
    }
    html body .mccann-footer-exact .footer_brand_col { min-height: 0 !important; }
    html body .mccann-footer-exact .footer_socials,
    html body .mccann-footer-exact .footer_credit {
        grid-column: auto !important;
        grid-row: auto !important;
        justify-self: start !important;
        align-self: start !important;
        text-align: left !important;
    }
    html body.page-template-page-contact .mccann-contact-offices,
    html body.page-template-page-contact-php .mccann-contact-offices {
        grid-template-columns: 1fr !important;
        width: 520px !important;
        max-width: calc(100% - 40px) !important;
    }
    html body.home .header.smaller .nav_container,
    html body.front-page .header.smaller .nav_container { display: none !important; }
}
@media (max-width: 560px) {
    html body footer.mccann-footer-exact .footer_exact_wrap,
    html body .mccann-footer-exact .footer_exact_wrap,
    html body:not(.home) footer.mccann-footer-exact .pagewrap {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        max-width: calc(100% - 32px) !important;
    }
    html body .mccann-footer-exact .footer_legal_links { margin-top: 16px !important; }
    html body.home.admin-bar .header.fixed,
    html body.front-page.admin-bar .header.fixed { top: 46px !important; }
}

/* v5 About accreditation logo restore and isolation */
.mccann-about-page .mccann-about-logos,
body.page-template-page-about .mccann-about-page .mccann-about-logos,
body.page-template-page-about-php .mccann-about-page .mccann-about-logos,
body.page-slug-about .mccann-about-page .mccann-about-logos {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}
.mccann-about-page .mccann-about-logo-cell,
.mccann-about-page .mccann-about-logo-cell img {
    visibility: visible !important;
    opacity: 1 !important;
}
