/* Lists used as layout containers must not inherit browser list indentation. */
body #wrapper :is(header, #footer) ul,
body #wrapper :is(.blog-sec, #case-study, #team-sec, .job-cat-list, .resources-list, #pop-cats, #feat-jobs, #insights) > ul {
    padding-left: 0;
    padding-inline-start: 0;
    list-style: none;
}
/* Remove mouse-focus outlines; retain a clear keyboard-focus indicator. */
body #wrapper a:focus:not(:focus-visible) { outline: none; }
body #wrapper a:focus-visible { outline: 2px solid #00c6f8; outline-offset: 3px; }

/* Current CF7 wraps fields with data-name instead of the old named classes. */
body #blue-form form .wpcf7-form-control-wrap > input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),
body #blue-form form .wpcf7-form-control-wrap > textarea,
body #blue-form form .wpcf7-form-control-wrap > select {
    width: 100%;
    box-sizing: border-box;
}
body #blue-form form .wpcf7-form-control-wrap[data-name="consent_permission"] {
    width: 100%;
    display: block;
    padding: 0;
    margin: 2rem 0 0;
}
body #blue-form form .wpcf7-form-control-wrap[data-name="consent_permission"] span {
    width: auto;
    margin: 0;
    padding: 0;
}
body #blue-form form .wpcf7-acceptance,
body #blue-form form .wpcf7-acceptance .wpcf7-list-item {
    display: block;
    width: 100%;
}
body #blue-form form .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    width: 100%;
}
body #blue-form form .wpcf7-acceptance input[type=checkbox] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: .35rem 0 0;
    padding: 0;
}
body #blue-form form .consent_permission label .wpcf7-list-item-label {
    flex: 1;
    width: auto !important;
    margin: 0;
    line-height: 1.6;
}
body #blue-form form .wpcf7-not-valid-tip {
    display: block;
    width: 100%;
    padding: 0;
    margin: .5rem 0 0;
}
/* The parent reset's width:auto overrides the portrait's 150px HTML width. */
body .wpb_single_image img.attachment-thumbnail[width="150"] {
    width: 150px;
    max-width: 100%;
    height: auto;
}
/* Keep square artwork and its caption within the frame printed on the image. */
body.blog .blog-sec > ul > li {
    aspect-ratio: 1;
    min-height: 0 !important;
}
body.blog .blog-sec > ul > li > .inner {
    left: 2.5%;
    width: 95%;
    height: 27.5%;
    bottom: 10%;
    overflow: hidden;
    padding: 1.5rem;
}
body.blog .blog-sec > ul > li:hover > .inner,
body.blog .blog-sec > ul > li:focus-within > .inner { height: 85%; }
body.blog .blog-sec > ul > li:focus-within > .inner p { opacity: 1; }
@media (max-width: 1250px) {
    body.blog .blog-sec > ul > li > .inner { height: 85%; }
}

@media (max-width: 900px) {
    body.blog .blog-sec > ul > li > .inner { background: rgba(0,0,0,.65) !important; height: auto; max-height: 85%; }
    body.blog .blog-sec > ul > li > .inner h4 { display: block; font-size: 1rem; line-height: 1.3; }
    body.blog .blog-sec > ul > li > .inner a { position: static; display: inline-block; padding: .35rem .75rem; }
}
body.blog .blog-sec > ul > li > .inner { padding: 1rem; }
body.blog .blog-sec > ul > li > .inner h4 {
    font-size: 1.1rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
body.blog .blog-sec > ul > li:hover > .inner h4,
body.blog .blog-sec > ul > li:focus-within > .inner h4 { -webkit-line-clamp: unset; }
