/* Shared navigation accessibility; no build step or external dependency. */
.tc-skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 10000; padding: .75rem 1rem; background: #fff; color: #123247; font-weight: 700; transform: translateY(-160%); }
.tc-skip-link:focus { transform: none; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid #135c87 !important; outline-offset: 4px; box-shadow: 0 0 0 6px #fff !important; }
#tc-main-content, #tc-main-content [id] { scroll-margin-top: var(--tc-anchor-offset, 100px); }
#tc-main-content:focus { outline: none; }
#header .navbar:not(.fixedmenu) { background: #071b30; }
#header .navbar:not(.fixedmenu) .nav-link { color: #fff; }
#header .navbar.fixedmenu .nav-link { color: #1d2c3c; }
#header .nav-link { min-height: 44px; display: inline-flex; align-items: center; }
#header .nav-link:hover, #header .nav-link:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
#sidemenu_toggle { background: transparent; border: 0; cursor: pointer; min-width: 44px; min-height: 44px; padding: 10px; }
#tc-side-menu { background: #123247 !important; background-image: none !important; width: min(440px, 100%); height: 100vh; height: 100dvh; }
#tc-side-menu[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
#tc-side-menu[aria-hidden="false"] { visibility: visible; opacity: 1; }
#tc-side-menu .inner-wrapper { padding: 5rem 2rem 2rem; align-content: flex-start; }
#tc-side-menu .nav-link, #tc-side-menu .side-footer a { color: #fff; }
#tc-side-menu .nav-item { margin: 0; }
#tc-side-menu .nav-link { padding: .5rem 0; }
#btn_sideNavClose { background: transparent; border: 0; min-width: 44px; min-height: 44px; }
#btn_sideNavClose::before, #btn_sideNavClose::after { left: 21px; top: 10px; }
#tc-side-menu .social-icons-simple a { min-width: 44px; min-height: 44px; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .wow { visibility: visible !important; }
    .parallax { background-attachment: scroll !important; }
    #tc-side-menu .nav-item { opacity: 1 !important; transform: none !important; }
    .loader { display: none !important; }
}

/* Make the project path visible in both navigation modes. */
#header .tc-nav-project { border: 1px solid currentColor; border-radius: 6px; padding-inline: .8rem; }
.tc-menu-caption { position: absolute; right: 43px; top: 11px; color: inherit; font-size: .85rem; font-weight: 700; }
.tc-menu-title { color: #91e2bf; font-size: .85rem; font-weight: 700; letter-spacing: .06em; margin: 0 0 1rem; }
#tc-side-menu .inner-wrapper { overflow-y: auto; height: 100%; padding-top: 4.5rem; }
#tc-side-menu .nav-link { display: flex; min-height: 46px; padding: .6rem .2rem; font-size: 1.15rem; line-height: 1.35; }
#tc-side-menu .tc-nav-project { background: #75dda5; border-color: #75dda5; color: #071b30; padding: .7rem .9rem; margin-block: .4rem; }
#tc-side-menu .side-footer { margin-top: 1.5rem; }
@media (min-width: 992px) { #sidemenu_toggle { display: none !important; } #header .navbar .nav-link { font-size: .86rem; padding-inline: .65rem; } }
@media (max-width: 991px) { #sidemenu_toggle { color: #fff; } #header .fixedmenu #sidemenu_toggle { color: #18384b; } }
@media (max-width: 575px) { #tc-side-menu .inner-wrapper { padding-inline: 1.4rem; } }

#tc-side-menu .side-nav .navbar-nav a.tc-nav-project, #tc-side-menu .side-nav .navbar-nav a.tc-nav-project:hover, #tc-side-menu .side-nav .navbar-nav a.tc-nav-project:focus { color: #071b30 !important; background: #75dda5; }

/* Keep the optional desktop shortcut away from mobile forms and reading. */
a.back-top { width: 44px; height: 44px; line-height: 44px; }
@media (max-width: 767px) { a.back-top { display: none !important; } }
