/*
Theme Name: Vinking Group Corporate
Theme URI: https://vinkinggroup.com/
Author: Vinking Group
Description: Premium multi-page corporate WordPress theme for Vinking Group, including founder, businesses, projects, team, careers, contact and employee portal integration.
Version: 2.1.8
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vinking-group
License: GPLv2 or later
*/

.siteHeader .primaryMenu { display: contents; margin: 0; padding: 0; list-style: none; }
.siteHeader .primaryMenu li { display: contents; }
.siteHeader .primaryMenu a { padding: 12px 0; position: relative; }
.siteHeader .primaryMenu a:not(.navCta)::after { content: ""; position: absolute; right: 100%; bottom: 5px; left: 0; height: 1px; background: var(--green); transition: .25s; }
.siteHeader .primaryMenu a:hover::after,
.siteHeader .primaryMenu .current-menu-item a:not(.navCta)::after,
.siteHeader .primaryMenu .current_page_item a:not(.navCta)::after { right: 0; }
.siteHeader .primaryMenu .portalLink { color: #61706b; }
.siteHeader .primaryMenu .navCta { display: flex; padding: 15px 19px !important; gap: 26px; color: #fff; background: var(--green); }
.wpContent { min-height: 55vh; padding: 75px 7vw; }
.wpContent > h1 { font: 400 clamp(42px, 5vw, 70px)/1.05 var(--serif); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.contactNotice { margin-bottom: 22px; padding: 15px 17px; color: #155942; background: #e5f2ec; border: 1px solid #c9e1d6; font-size: 13px; }
.contactNotice.error { color: #8b3438; background: #f8e9e9; border-color: #efcdcf; }
.contactForm .website-field { position: absolute; left: -9999px; }
.contactForm .vinkingConsent { display: flex; gap: 10px; align-items: flex-start; letter-spacing: normal; line-height: 1.55; text-transform: none; }
.contactForm .vinkingConsent input { width: 17px; margin: 2px 0 0; }
.contactForm .vinkingConsent a { color: var(--teal); text-decoration: underline; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

/* Brand logo: packaged artwork by default, replaceable under Site Identity. */
.brand.brand--header,
.brand.brand--footer { display: block; overflow: hidden; line-height: 0; }
.brand--header { width: 190px; height: 64px; }
.brand--header .brandLogo--builtin { display: block; width: 190px; height: auto; transform: translateY(-22px); }
.brand--header .brandLogo--custom { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.brand--footer { width: 230px; height: 78px; }
.brand--footer .brandLogo--builtin { display: block; width: 230px; height: auto; transform: translateY(-27px); filter: brightness(0) invert(1); }
.brand--footer .brandLogo--custom { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }

@media (max-width: 1000px) {
    body.nav-active { overflow: hidden; }
    .siteHeader .primaryMenu { display: flex; width: 100%; flex-direction: column; align-items: flex-start; }
    .siteHeader .primaryMenu li { display: block; width: 100%; }
    .siteHeader .primaryMenu a { display: block; width: 100%; }
}

@media (max-width: 650px) {
    .brand--header { width: 158px; height: 52px; }
    .brand--header .brandLogo--builtin { width: 158px; transform: translateY(-19px); }
    .brand--footer { width: 190px; height: 64px; }
    .brand--footer .brandLogo--builtin { width: 190px; transform: translateY(-22px); }
    .wpContent { padding: 55px 6vw; }
}
