/* Shared public and lite layout rules, loaded after client1.css. */
a, a:hover, a:focus { transition: all .3s; }
ul ul a { font-size: 1.2em !important; padding-right: 30px !important; }

/* Full public layout. */
body.public-site { margin-bottom: 0 !important; background: #f5f7fb; color: #24344b; display: flex; flex-direction: column; line-height: 1.9; }
.public-site .public-main { flex: 1; padding-top: 1.5rem; }
.public-site #footer { position: static; margin-top: 3rem; line-height: 2; }
.public-site #footer > .row { justify-content: center; padding-block: 1.5rem; }
.public-site #headerNavbar { background: #172b45 !important; }
.public-site #headerNavbar .nav-link { border-radius: .6rem; }
.public-site #headerNavbar #nv .nav-link { color: #f1f5f9; font-weight: 500; }
.public-site #headerNavbar #nv .nav-link:is(:hover, :focus-visible) { color: #fff; background: #ffffff1a; }
.public-site #headerNavbar #nv :is(.nav-link, .dropdown-item, .dropdown-toggle) i { color: inherit !important; }
.public-site #headerNavbar .navbar-collapse { max-height: 70vh; overflow-y: auto; }
.public-site #headerNavbar .public-header-actions .btn { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.public-site #headerNavbar .public-header-actions .btn:focus-visible { outline-color: white; }
.public-site #sidebar {
    position: sticky;
    right: 0;
    top: 6rem;
    width: 100%;
    height: auto !important;
    max-height: calc(100vh - 7rem);
    overflow-y: auto;
    border-radius: 1rem;
    box-shadow: 0 .2rem 1rem #172b4508 !important;
    transition: all .3s;
}
.public-site #sidebar > div:first-child { background: #172b45 !important; }
.public-site #groupSidebar, .public-site #subgroupSidebar { padding-bottom: 70px; }
.public-site #sidebar ul li a { color: #848282; display: block; font-size: .97rem !important; font-weight: normal; padding: 10px; }
.public-site #sidebar ul li a:hover { background: #e6e3e3; }
.public-site .home-hero { background: linear-gradient(125deg, #e8f5f6, #edf2ff 65%, #fff); border: 1px solid #dfe8f2; }
.public-site .home-hero h1 { color: #172b45; line-height: 1.8; }
.public-site .home-hero .input-group { box-shadow: 0 .5rem 1.5rem #1734540a; }
.public-site .home-hero > .mb-3:last-child { margin-bottom: 0 !important; }
.public-site .home-section { overflow: hidden; }
.public-site .public-job-card { transition: border-color .2s, box-shadow .2s; }
.public-site .public-job-card:hover { border-color: #86aedc !important; box-shadow: 0 .5rem 1.5rem #17345412; }
.public-site .public-job-card img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: white; }
.public-site .public-job-card h3 { line-height: 1.9; overflow-wrap: anywhere; }
.public-site :is(a, button, input):focus-visible { outline: 3px solid #276aca; outline-offset: 3px; }
.public-site #home-sectors { scroll-margin-top: 7rem; }
@media (min-width: 992px) {
    .public-site .public-job-column { max-width: 160px; }
}
@media (max-width: 1200px) {
    .public-site #sidebar { display: none; }
}
@media (max-width: 575.98px) {
    .public-site .public-main { padding-inline: .75rem; }
    .public-site #headerNavbar > .container-fluid { gap: .375rem; }
    .public-site #headerNavbar .public-header-brand { flex: 1 1 0; flex-shrink: 1 !important; min-width: 0; max-width: 108px; }
    .public-site #headerNavbar .public-header-brand img { width: 100% !important; max-width: 100px; height: auto; }
    .public-site #headerNavbar .navbar-toggler { flex: 0 0 44px; min-height: 44px; }
    .public-site #headerNavbar .public-header-actions { gap: .375rem !important; }
    .public-site #headerNavbar .public-header-actions .btn { min-height: 44px; }
    .public-site #headerNavbar #nv { max-height: 70vh; }
    .public-site .input-group-lg > .form-control { font-size: 1rem; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .public-site *, .public-site *::before, .public-site *::after { transition: none !important; animation: none !important; }
}
