/* Nav styling */
#nav-wrap, nav#nav-wrap{
  background:#111 !important;
}
#nav-wrap a, nav#nav-wrap a{
  color:#fff !important;
}
#nav-wrap a:hover, #nav-wrap a.current{
  color:#f06000 !important;
}
/* Remove white box */
#testimonials .flexslider,
#testimonials .flexslider .slides > li,
#testimonials .flexslider .slides > li blockquote{
  background:transparent!important;
  border:none!important;
}

/*
 * Responsive headline
 *
 * The site previously relied on the FitText jQuery plugin to dynamically
 * scale the main headline (h1.responsive-headline).  To reduce JavaScript
 * dependencies and improve performance, FitText has been removed.  This
 * CSS rule uses the native clamp() function to scale the font size
 * proportionally with the viewport width, while enforcing minimum and
 * maximum sizes.  Adjust the min/max values as needed to refine the
 * effect.
 */
h1.responsive-headline {
  font-size: clamp(40px, 8vw, 90px);
}

/*
 * Ensure curly quotes appear consistently in blockquote and q elements
 *
 * Some browsers ignore the quotes property unless values are defined
 * explicitly in CSS.  These declarations set the appropriate opening
 * and closing curly quotes for English and fallback languages.  They
 * complement the existing rules in combined-expanded.min.css and
 * provide redundancy to fix missing quote marks on certain pages.
 */
blockquote, q {
  quotes: "\201C" "\201D";
}
blockquote:before, q:before {
  content: open-quote;
}
blockquote:after, q:after {
  content: close-quote;
}

/*
 * Improve contrast of text within the resume section
 *
 * Lighthouse flagged several resume paragraphs and labels as having insufficient
 * contrast against the white background.  The default body colour (#838C95)
 * produces a ratio of roughly 3.4:1 against white, below the WCAG AA
 * recommendation of 4.5:1 for normal text.  To remedy this we override the
 * colour for resume‑specific text to a darker slate (#3d4145), which yields
 * a contrast ratio above 10:1 without compromising the overall aesthetic.
 */
#resume,
#resume p,
#resume .info,
#resume .info span,
#resume .info .date,
#resume em {
  color: #3d4145 !important;
}

/*
 * Visually hidden utility class
 *
 * Hides an element from visual layouts while keeping it accessible to
 * assistive technologies.  Used for the language selector label so
 * screen readers can announce the control without altering the
 * appearance of the navigation bar.
 */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

/* Improve contrast for the portfolio heading */
#portfolio h3 {
  /* Use a very dark grey for headings in the portfolio section to ensure sufficient contrast against the light background. */
  color: #333 !important;
}

/*
 * Additional custom styles inserted during modernization
 *
 * The following rules were previously embedded as inline <style> in the HTML.
 * Moving them here avoids the need for 'unsafe-inline' in the Content
 * Security Policy while preserving the intended appearance of the
 * testimonials carousel.  The flexslider and its slide items should
 * have transparent backgrounds and no borders.
 */
#testimonials .flexslider,
#testimonials .flexslider .slides > li,
#testimonials .flexslider .slides > li blockquote {
  background: transparent !important;
  border: none !important;
}

/*
 * Improve contrast for body text and footer links on dark backgrounds.  The
 * default body colour (#838C95) provided insufficient contrast against the
 * dark page background (#0f0f0f).  Override it with a lighter colour and
 * adjust the footer copyright link for readability.
 */
body {
  color: #dadada !important;
}

footer .copyright a {
  color: #bbbbbb !important;
}

footer .copyright a:hover {
  color: #ffffff !important;
}