﻿:root {
  --focus-ring: #0d6efd;
}

/* Body */
@font-face {
    font-family: "OpenSans";
    font-display: swap;
    src: url("../fonts/OpenSans.woff2") format("woff2");
}

@font-face {
    font-family: "Inter";
    font-display: swap;
    src: url("../fonts/Inter.woff2") format("woff2");
}

@font-face {
    font-family: "Andika";
    font-display: swap;
    src: url("../fonts/Andika.woff2") format("woff2");
}

@font-face {
    font-family: "FSMe";
    font-display: swap;
    src: url("../fonts/FSMe.woff2") format("woff2");
}

@font-face {
    font-family: "Tiresias";
    font-display: swap;
    src: url("../fonts/Tiresias.woff2") format("woff2");
}

@font-face {
    font-family: "OpenDyslexic";
    font-display: swap;
    src: url("../fonts/OpenDyslexic3.woff2") format("woff2");
}

html {
    font-size: 16px;
    height: 100%;
}

body {
    color: #000;
    font-family: OpenSans;
    background-color: #fff;
    line-height: 1.7;
}


/* Respect reduced-motion user preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body.fontfamily_inter {
    font-family: Inter;
}

body.fontfamily_andika {
  color: var(--bs-link-color, #0d6efd);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}


body.fontfamily_fsme {
    font-family: FSMe;
}

body.fontfamily_tiresias {
    font-family: Tiresias;
}

body.fontfamily_opendyslexic {
    font-family: OpenDyslexic;
}

footer,
header,
nav,
section,
figcaption,
figure {
    display: block;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

a {
    color: #161616;
    text-decoration: none;
}

/* Keep hover underline for mouse users */
a:hover,
a:active {
    text-decoration: underline;
}

/* Keyboard focus ring (with safe fallback for older browsers) */
:focus {
  outline: 3px solid var(--focus-ring, #0d6efd);
  outline-offset: 3px;
}
@supports selector(:focus-visible) {
  :focus { outline: none; }
  :focus-visible {
    outline: 3px solid var(--focus-ring, #0d6efd);
    outline-offset: 3px;
    border-radius: 2px;
  }
}
strong { font-weight: bolder; }


img {
    border-style: none;
}

svg {
    height: 20px;
    width: auto;
}

svg:not(:root) {
    overflow: hidden;
}

button,
input,
textarea {
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button {
    text-transform: none;
}

button,
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

textarea {
    overflow: auto;
}

/* Lists */
main ul,
main ol,
#content ul,
#content ol {
  margin-top: 0;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

/* Menus / widget lists: never show bullets and never inherit content spacing */
nav ul,
nav ol,
.navbar-nav,
.lab-main-menu ul,
.lab-breadcrumb,
.lab-skip-menu,
.lab-wcag-settings,
.lab-wcag-settings ul,
.access-float-fontfamily,
.access-float-fontfamily ul,
.nav-menu,
.nav-menu ul,
.sub-menu,
.sub-menu ul,
.menu,
.menu ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

h1,
h2,
h3,
.close {
    line-height: 1.7;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

[role="button"] {
    cursor: pointer;
}

#settings_close svg {
    height: 70%;
}

.jumbotron {
    padding-top: 200px;
    padding-bottom: 800px;
    text-align: center;
    background: #f4f7fc;
    background-image: url("../images/website/Hero-Image.jpeg");
    background-size: cover;
    background-position: center;
}

/* Accessibility: consistent focus styling (keyboard-first) */
:focus {
    outline: none;
}

:focus-visible {
    outline: 3px solid #000;
    outline-offset: 3px;
    border-radius: 2px;
}

.block_settings {
    box-shadow: 3px 3px 10px -5px #444;
}

.open-accessibility button .lab-only {
    font-weight: normal;
    padding: 5px;
}

.open-accessibility button .lab-only:hover {
    text-decoration: underline;
}

.button,
.wm-button,
.lab-wcag-settings,
.access-open,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  min-height: 44px;
  line-height: 1.2;
  border: 2px solid transparent;
  background: #000;
  font-family: inherit;
  font-weight: 600;
  padding: 0.75rem 1.25rem;
  color: #fff;
  text-transform: none;
  border-radius: 999px;
  transition: background-color 0.2s ease-in, color 0.2s ease-in, border-color 0.2s ease-in;
}
.button:hover,
.wm-button:hover,
.lab-wcag-settings:hover,
.access-open:hover,
input[type="submit"]:hover,
.button:focus,
.wm-button:focus,
.lab-wcag-settings:focus,
.access-open:focus,
input[type="submit"]:focus {
    text-decoration: none;
    color: #fff;
    background: #373737;
}

.button:active,
.wm-button:active,
.lab-wcag-settings:active,
.access-open:active,
input[type="submit"]:active { }


.footer-dark .call-to-action-button .wm-button:hover {
    background-color: #fff;
}

.footer-light input[type="submit"] {
    background: #fff;
    color: #000;
}

#lab-main .lab-wcag-settings {
    padding: 0 15px;
    display: block;
    width: 100%;
}

#lab-main .lab-wcag-settings>li {
    clear: both;
    margin-top: 30px;
    font-weight: bold;
    float: left;
    width: 100%;
}

#lab-main .lab-wcag-settings>li:first-child {
    margin: 0;
}

#lab-main .lab-wcag-settings ul>li {
    width: 50%;
    float: left;
}

.open-accessibility,
#lab-main .lab-wcag-settings li button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.25rem 0.5rem;
  text-decoration: none;
  border: 2px solid transparent;
  background: transparent;
  color: inherit;
  border-radius: 0.375rem;
}
#lab-main .lab-wcag-settings li button {
    display: contents;
    vertical-align: baseline;
    padding: 3px 7px;
    text-decoration: none;
    border: none;
    margin: 0;
    border-radius: 0;
}

#lab-main .lab-wcag-settings li button:hover,
#lab-main .lab-wcag-settings li button:focus-visible {
  background: #000;
  color: #fff;
}
.block-settings-wrapper {
    position: fixed;
    left: -403px;
    top: 17%;
    width: 400px;
    z-index: 70;
    -moz-transition: left 0.4s;
    -webkit-transition: left 0.4s;
    transition: left 0.4s;
}

.block-settings-wrapper #settings_close {
    width: 50px;
    height: 50px;
    display: block;
    position: absolute;
    right: -50px;
    top: 15%;
    background-repeat: no-repeat;
    border-radius: 0 2px 2px 0;
    font-size: 30px;
    background-color: #000;
    color: white;
    text-align: center;
    padding: 4px;
    cursor: pointer;
    box-shadow: 5px 5px 25px -5px #444;
}

#settings_close svg {
    vertical-align: baseline;
}

.block-settings-wrapper section {
    display: block;
    clear: both;
    padding: 15px 12px 15px 15px;
    height: 199px;
}

.opened-settings .block-settings-wrapper {
    left: 0;
}

body.font-readable button .lab-only {
    letter-spacing: 1px;
}

body.font-readable {
    letter-spacing: 0.12em;
    word-spacing: 0.16em;
}

body.font-readable .button,
body.font-readable button,
body.font-readable input[type="submit"],
body.font-readable input[type="button"],
body.font-readable input[type="reset"],
body.font-readable .page-header>h1,
body.font-readable .page-header>h2,
body.font-readable .page-header>h3,
body.font-readable .page-header>h4,
body.font-readable .page-header>h5,
body.font-readable .page-header>h6,
body.font-readable .page-header>p {
    letter-spacing: 0.12em;
    word-spacing: 0.16em;
}

body.link-underline a,
body.link-underline a * {
    text-decoration: underline !important;
}

body.link-underline a svg {
    border-bottom: 1px solid #000 !important;
}

/* Font Size */
.fsize70,
.fsize70 #lab-main .lab-wcag-settings,
.fsize70 .menu ul li a,
.fsize70 #lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a,
.fsize70 select,
.fsize70 textarea,
.fsize70 input,
.fsize70 button,
.fsize70 .btn,
.fsize70 .button {
    font-size: 11px;
}

.fsize80,
.fsize80 #lab-main .lab-wcag-settings,
.fsize80 .menu ul li a,
.fsize80 #lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a,
.fsize80 select,
.fsize80 textarea,
.fsize80 input,
.fsize80 button,
.fsize80 .btn,
.fsize80 .button {
    font-size: 13px;
}

.fsize90,
.fsize90 #lab-main .lab-wcag-settings,
.fsize90 .menu ul li a,
.fsize90 #lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a,
.fsize90 select,
.fsize90 textarea,
.fsize90 input,
.fsize90 button,
.fsize90 .btn,
.fsize90 .button {
    font-size: 15px;
}

.fsize110,
.fsize110 #lab-main .lab-wcag-settings,
.fsize110 .menu ul li a,
.fsize110 #lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a,
.fsize110 select,
.fsize110 textarea,
.fsize110 input,
.fsize110 button,
.fsize110 .btn,
.fsize110 .button {
    font-size: 18px;
}

.fsize120,
.fsize120 #lab-main .lab-wcag-settings,
.fsize120 .menu ul li a,
.fsize120 #lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a,
.fsize120 select,
.fsize120 textarea,
.fsize120 input,
.fsize120 button,
.fsize120 .btn,
.fsize120 .button {
    font-size: 19px;
}

.fsize130,
.fsize130 #lab-main .lab-wcag-settings,
.fsize130 .menu ul li a,
.fsize130 #lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a,
.fsize130 select,
.fsize130 textarea,
.fsize130 input,
.fsize130 button,
.fsize130 .btn,
.fsize130 .button {
    font-size: 21px;
}

/* Skip menu */
.lab-skip-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    z-index: 999999;
}
		
.lab-skip-menu ul.menu {
    margin: 0;
}

.lab-skip-menu ul.menu>li {
    padding: 0;
    margin: 0;
}

.lab-skip-menu ul.menu>li>a:before {
    display: none;
}

.lab-skip-menu ul.menu>li>a {
    color: #fff;
    background: #000;
    position: absolute;
    top: 0;
    left: -9999px;
    right: auto;
    white-space: nowrap;
    padding: 10px;
    border: none;
    line-height: 1.5;
}

.lab-skip-menu ul.menu>li>a:focus {
    left: 0;
}

.lab-skip-menu ul.menu>li>a:hover,
.lab-skip-menu ul.menu>li>a:focus {
    color: #000;
    background: #fff;
}

/* header */
#lab-main {
    position: relative;
    background: #fff;
}

#lab-header {
    background-color: #fff;
    color: #161616;
    position: relative;
    padding-top: 149px;
}

#lab-header.header-full .lab-widget {
    padding: 0;
    margin: 0;
}

#lab-header.header-full #lab-offcanvas .lab-widget {
    padding: auto 15px;
}

#lab-header .lab-widget {
    margin: 90px auto;
}

.sticky-bar #lab-header:not(.top-bar-over-header) {
    padding-top: 69px;
}

/* Logo */

.sticky-bar #lab-logo-nav {
    position: fixed;
    display: block;
    width: 100%;
    top: 0;
    right: 0;
    left: 0;
    z-index: 50;
    -webkit-transition: background 0.15s linear;
    transition: background 0.15s linear;
}

#lab-logo-nav {
    color: #161616;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.topbar-mode-default #lab-logo-nav {
    background: #fff;
}

.topbar-shadow-default #lab-logo-nav {
    box-shadow: 5px 0 5px rgba(22, 22, 22, 0.2);
    padding-top: 20px;
}

#lab-logo-nav .lab-main-menu .nav-menu {
    margin: 0;
    padding: 0;
}

#lab-logo-nav .lab-main-menu .nav-menu>.menu-item {
    float: left;
    position: relative;
    border: 1px dashed transparent;
}

#lab-logo-nav .lab-main-menu .nav-menu>.menu-item:last-child {
    margin-right: 0;
}

#lab-logo-nav .lab-main-menu .nav-menu>.menu-item>a {
    padding: 12px 14px;
    font-weight: 600;
}

#lab-logo-nav .lab-main-menu .nav-menu>.menu-item:hover,
#lab-logo-nav .lab-main-menu .nav-menu>.menu-item a:focus {
    background-color: transparent;
}

/* Keep main nav on one line */
#lab-main-menu .nav-menu{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 14px;              /* adjust smaller if needed */
  white-space: nowrap;
}

/* Tighten top-level link padding so they fit */
#lab-logo-nav .lab-main-menu .nav-menu > .menu-item > a{
  padding: 10px 10px;     /* was bigger; reduces width */
  font-size: 0.95rem;     /* optional: slightly smaller */
}

/* Make sure the menu area can actually use the available width */
#lab-main-menu{
  flex: 1 1 auto;
  min-width: 0;
}



#lab-bar-left {
    float: left;
}

#lab-bar-left #lab-logo a {
    display: block;
    position: relative;
}



/* Container */
.lab-container {
    max-width: 1280px;
    padding-bottom: 30px;
    margin: auto;
}

/* Align logo and navigation vertically */
#lab-logo-nav .lab-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#lab-main .main-container {
    max-width: 1950px;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    padding: 100px 0;
}

#lab-main .inside-container {
    padding: 5em;
}

.lab-container:before,
.lab-container:after {
    content: " ";
    display: table;
}

.lab-container:after {
    clear: both;
}

/* Row 1 */
.icon-scp-top-left {
    float: left;
    padding-top: 5px;
    padding-left: 25px;
}

.ml-auto.icon-scp-top {
    float: right;
    padding-top: 5px;
}

.ml-auto.icon-scp-top svg {
    padding-left: 20px;
    padding-right: 20px;
	margin: 2px;
}

.ml-auto.icon-scp-top a:hover {
    text-decoration: none;
    cursor: pointer;
	background-color: #000;
	fill: #F4D03F;
}

#lab-bar-right {
    float: right;
}

#menu-side-menu a:hover {
	background-color: transparent;
}

.sticky-bar.scrolled #lab-main #lab-wcag .icon-scp-top,
.sticky-bar.scrolled #lab-main #lab-wcag .icon-scp-top-left {
    display: none;
}

/* Menu */
#lab-main-menu {
    float: left;
    position: relative;
    z-index: 5;
}

.lab-main-menu {
    float: left;
}

.menu li {
    display: block;
    position: relative;
}

.menu li a {
    display: block;
    color: inherit;
    line-height: 20px;
    padding: 5px 0;
    text-decoration: none;
}

.menu li a:hover,
.menu li a:focus {
    color: #000;
}

.menu>li {
    padding: 15px auto;
    border-top: 1px solid #ededed;
}

.menu>li:first-child {
    border-top: none;
    padding-top: 0;
}

.menu>li:last-child {
    padding-bottom: 0;
}

.menu>li>a {
    padding: 0 0 0 30px;
    position: relative;
}

.menu>li>a:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: auto;
    width: 8px;
    height: 8px;
    border: 1px solid #000;
    border-radius: 100%;
    margin-right: 22px;
}

/* Off-Canvas Menu */
#lab-offcanvas-button {
    float: left;
    margin: 24px 0 24px 30px;
}

#lab-main .lab-offcanvas-menu {
    text-align: center;
}

.lab-offcanvas-menu .nav-menu .menu-item {
    width: 270px !important;
}

#lab-main .lab-offcanvas-menu>ul,
#lab-main .lab-offcanvas-menu .menu-item {
    margin: 0;
    padding: 0;
}

#lab-main .lab-offcanvas-menu .menu-item {
    text-align: left;
}

#lab-main .lab-offcanvas-menu .menu-item a {
    display: block;
    padding: 5px 0;
    line-height: 1.5;
}

#lab-main .lab-offcanvas-menu .menu-item a:hover {
    color: #000;
    text-decoration: none;
}

#lab-main .lab-offcanvas-menu .menu-item a:focus-within {
    color: #000;
    text-decoration: none;
}

#lab-main .lab-offcanvas-menu .menu-item.current-menu-item>a {
    color: #000;
}

#lab-main .lab-offcanvas-menu .nav-menu>.menu-item>a {
    padding: 20px 0;
}

#lab-main .lab-offcanvas-menu .nav-menu>.menu-item+.menu-item {
    border-top: 1px solid rgba(102, 102, 102, 0.2);
}

.menu-standard #lab-offcanvas-button,
.menu-standard #lab-offcanvas .lab-offcanvas-menu {
    display: none;
}

.call-to-action-button {
    text-align: center;
    margin-top: 35px;
}

.call-to-action-button .wm-button {
    background-color: #000;
    color: #fff;
}

.size-large {
    border-radius: 10px;
    padding: 25px 50px;
    display: block;
}

#lab-offcanvas {
    position: fixed;
    height: 100%;
    width: 300px;
    max-width: 100%;
    top: 0;
    z-index: 900;
    overflow: hidden;
}

#lab-offcanvas #lab-offcanvas-content .lab-widget {
    margin: 0 auto 30px auto;
}

#lab-offcanvas.off-canvas-right {
    -webkit-transition: right 300ms ease-in-out;
    transition: right 300ms ease-in-out;
    right: -300px;
    left: auto;
}

#lab-offcanvas {
    color: #666;
    background: #f6f6f6;
}

#lab-offcanvas-toolbar {
    padding: 15px;
}

#lab-offcanvas .toggle-nav.close {
    cursor: pointer;
    display: inline-block;
}

#lab-offcanvas-content {
    padding: 15px;
}

#lab-main .toggle-nav.open {
    cursor: pointer;
    display: block;
    color: #161616;
    line-height: 1.5;
    height: 20px;
    text-align: center;
}

#lab-main .toggle-nav.open:hover,
#lab-main .toggle-nav.open:focus {
    color: #000;
}

/* Side Navigation */
.sidenav {
    background-color: #fff;
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 5;
    top: 0;
    left: auto;
    right: 0;
    overflow: hidden;
    transition: 0.5s;
    padding-top: 60px;
    box-shadow: -1px 0 5px -2px #666;
    text-align: center;
	display: none;
}

.sidemenu-logo {
    margin: 50px 0;
    display: inline-block;
}

#sidemenu-logo a:hover {
    background-color: transparent;
}

.sidenav a {
    text-decoration: none;
    color: #161616;
    transition: 0.3s;
    text-align: center;
}

.menu-item:hover {
    text-decoration: underline;
}

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 20px;
    font-size: 30px;
    cursor: pointer;
}

#closebtn:hover {
    background-color: transparent;
}

#off-canvas-btn {
    font-size: 20px;
    float: right;
    cursor: pointer;
}

/* Breadcrumb */

#lab-offcanvas-button {
    margin-left: 10px;
}

/* Section */
.section-bg {
    background-color: #f4f7fc;
}

.row-pad {
    padding: 35px;
}

.our-spec h3 {
    text-align: center;
    font-weight: 600;
    margin-bottom: 25px;
    max-height: 70px;
    line-height: 1.5;
}

.our-spec p {
    text-align: center;
    min-height: 84px;
}

.our-spec svg {
    width: 208px;
    height: 208px;
    padding: 25px;
    margin: 25px;
    border-radius: 15px;
}

.our-spec svg:hover {
    border: 1px solid;
}

#portfolios .mix {
    padding: 0;
}

#portfolios .portfolio-item {
    padding: 10px;
}

.controls {
    text-align: center;
    padding-top: 50px;
    padding-bottom: 100px;
}

.controls .active {
    color: #373737;
    border-color: #373737;
    background: transparent;
}

.controls .btn.active {
    background-color: #fff;
    color: #373737;
}

.controls .btn:focus {
    outline: 2px dotted #f00;
    outline-offset: 0;
}

.controls .btn {
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 1px solid #373737;
    padding: 15px 60px;
    border-radius: 24px;
    margin-top: 5px;
}

.controls:hover {
    color: #fff;
    cursor: pointer;
}

.btn-common {
    background-color: #373737;
    position: relative;
    z-index: 1;
    padding: 12px 32px;
    border-radius: 30px;
}

.btn-common:hover {
    color: #000000ff;
}

.shot-item {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.shot-item img {
    width: 100%;
    height: 100%;
    -webkit-transition-duration: 4000ms;
    -o-transition-duration: 4000ms;
    transition-duration: 4000ms;
}

.shot-item .single-content {
    background-color: rgba(22, 26, 39, 0.7);
    opacity: 1;
    height: 100%;
    left: 0;
    top: 0;
    position: absolute;
    -webkit-transition-duration: 500ms;
    -o-transition-duration: 500ms;
    transition-duration: 500ms;
    width: 100%;
}

.shot-item .single-content .fancy-table {
    display: table;
    height: 100%;
    left: 0;
    top: 0;
    position: relative;
    width: 100%;
    z-index: 2;
}

.shot-item .single-content .fancy-table {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.shot-item:hover img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.shot-item:hover .single-content {
    opacity: 1;
    background-color: rgba(22, 26, 39, 0.3);
}

.offcanvas-butns {
    padding: 10px 0;
}

.our-header h2 {
    text-transform: capitalize;
    text-decoration: none;
    font-size: 60px;
    text-align: center;
    line-height: 1.7;
    padding-bottom: 60px;
}

/* Team Section */
.team {
    text-align: center;
}

.section {
    padding: 0;
}

.team .team-item {
    text-align: left;
    margin-bottom: 30px;
}

.team .team-item figure {
    position: relative;
    overflow: hidden;
}

img {
    max-width: 100%;
}

.team .team-item figure figcaption {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: rgba(0, 0, 0, 0.6);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.team .team-item figure figcaption .info {
    position: absolute;
    color: #fff;
    float: left;
    bottom: 10px;
    left: 20px;
    margin-left: -80px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.team .team-item figure:hover figcaption {
    opacity: 1;
}

.team .team-item figure:focus figcaption,
.team .team-item figure figcaption:focus-within {
    opacity: 1;
}


.team .team-item figure:hover figcaption .info {
    margin-left: 0;
}

.team .team-item figure figcaption .info h3 {
    font-size: 16px;
}

.team .team-item figure figcaption .info p {
    color: #fff;
    font-size: 14px;
    margin-bottom: 180px;
}

.team .team-item figure:hover figcaption .social {
    margin-bottom: 0;
}

.team .team-item figure:hover figcaption .social a:hover {
    text-decoration: none;
    cursor: pointer;
	background-color: #000;
	fill: #F4D03F;
}

.team .team-item figure:focus figcaption .social,
.team .team-item figure:focus-within figcaption .social {
    margin-bottom: 0;
}

.team .team-item figure figcaption .social {
    position: absolute;
    float: right;
    bottom: 28px;
    margin-bottom: -80px;
    right: 20px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.team .team-item figure figcaption .social a {
    color: #fff;
    font-size: 15px;
    width: 36px;
    height: 36px;
    background: #fff;
    display: inline-block;
    text-align: center;
    line-height: 36px;
    border-radius: 2px;
    margin: 4px;
}

/* Contact */
.aligncenter,
div.aligncenter {
    display: block;
    margin: auto;
}

.contact-bg {
    background-repeat: no-repeat;
    background-size: cover;
}

.contact-con {
    margin-right: 1em;
}

.contact-con p {
    padding: 25px 0;
    font-weight: 400;
}

.contact-con h2,
.author span {
    font-weight: 400;
    text-transform: capitalize;
}

.contact {
    font-weight: 400;
    padding: 15px 40px;
    border-radius: 8px;
    color: #161616;
}

.contact:hover {
    text-decoration: none;
}

.img-box {
    width: 90px !important;
    max-height: 90px;
    border-radius: 50%;
    margin: auto;
}

.all-testimonial {
    padding: 30px 0;
    border: 1px solid #ececec;
}

.testimonial {
    text-align: center;
    padding-left: 50px;
    padding-right: 50px;
}

.stars-icon svg {
    fill: #FFFFFF;
}

.author {
    text-align: center;
    padding: 30px;
}

.author p {
    font-weight: 400;
}

input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    margin-top: 6px;
    margin-bottom: 16px;
    resize: vertical;
}

/* News */
.lab-part-content {
    padding: 35px;
    background-color: #000;
    color: #fff;
    margin: 5px;
    border-radius: 20px;
}

.lab-bs-item-content {
    position: relative;
}

.lab-bs-item-date {
    font-weight: 400;
    margin-bottom: 12px;
    display: inline-block;
}

h3.lab-bs-item-title {
    font-weight: 400;
    margin-bottom: 14px;
    line-height: 1.5;
}

.lab-bs-item-title {
    margin-top: 0;
}

.lab-bs-item-excerpt {
    margin-bottom: 20px;
    padding-bottom: 24px;
    border-bottom: 1px solid #f2f2f2;
}

/* Counters */

/* Footer */
.footer-container {
    max-width: 1950px;
    width: 100%;
    overflow: hidden;
}

.footer-nav {
    margin-top: 0;
}

.footer-social-left {
    float: right;
    margin-right: 50px;
}

.foot-logo {
    margin-bottom: 25px;
    text-align: center;
}

.foot-col-padd {
    padding: 0 20px;
}

.dream-text p {
    color: #000;
    padding-top: 20px;
    padding-left: 39px;
}

.foot-icon svg {
    fill: #000;
    margin: 25px 18px auto auto;
}

.foot-icon a:hover svg {
    text-decoration: none;
    cursor: pointer;
	background-color: #000;
	fill: #F4D03F;
}

.foot-icon svg:hover {
    fill: #000;
}

.footer-dark h3,
.footer-light h3 {
    font-weight: 600;
    text-transform: capitalize;
    margin: 0;
}

.footer-dark h3:after,
.footer-light h3:after {
    border-bottom: 1px solid #000;
    content: " ";
    width: 100%;
    display: block;
    position: relative;
    top: 15px;
    left: 0;
    clear: both;
    margin-bottom: 40px;
    text-align: center;
}

.foot-icon {
    text-align: center;
}

.pop-link a {
    color: #000;
    margin-bottom: 20px;
    text-transform: capitalize;
    display: block;
}

.ltl-blog {
    display: inline-flex;
}

.blog-post {
    color: #000;
    padding-left: 30px;
}

.blog-vl {
    margin: 0 5px;
}

.blog-icon {
    margin-right: 5px;
}

.blog-icon svg,
.contact-icon svg {
    fill: #000;
}

.footer-contact-icon {
    text-align: center;
}

.icon-footer-contact svg {
    width: 85px;
    height: 85px;
    border: 1px dashed;
    padding: 24px 0;
    font-size: 45px;
    fill: #fff;
    border-radius: 50%;
}

.contacts p {
    padding: 15px 0;
    text-align: center;
}

.contact-icon {
    border: 1px solid #000;
    border-radius: 50%;
    padding: 5px;
    width: 38px;
    height: 38px;
    text-align: center;
    margin: 0 20px;
    color: #fff;
}

.contact-row-margin {
    margin-top: 20px;
}

.contact-row-margin p {
    margin: auto 0;
    color: #000;
}

.copyright-text {
    color: #000;
}

.copyright-text a {
    color: #000;
}

.copyright-text a:hover {
    color: #243659;
    text-decoration: none;
}

.call-to-action-button .wm-button:hover {
    background-color: #373737 !important;
    color: #fff !important;
}

.our-spec h3,
.our-spec p {
    color: #161616;
}

.icon-footer-contact svg:hover {
    background-color: #fff !important;
    fill: #000;
    border: 1px solid;
}

/*footer opning time*/

.opening-time li {
    text-transform: capitalize;
}

.opening-time {
    padding-left: 0;
}

input.btnContact:hover {
    background-color: #fff !important;
    color: #000 !important;
}

.opening-time p {
    color: #fff;
}

.contact-form label,
.form-group label {
    font-weight: 400;
}

#email1:focus {
    outline: 2px dotted #f00;
    outline-offset: 0;
}

#msg1:focus {
    outline: 2px dotted #f00;
    outline-offset: 0;
}

.footer-dark {
    background-color: #f4f7fc;
    color: #000;
}

.footer-light {
    background-color: #000;
    color: #fff;
}

.footer-social-left svg {
    margin: 15px;
    fill: #000;
}

.footer-social-left a:hover svg {
    text-decoration: none;
    cursor: pointer;
	background-color: #000;
	fill: #F4D03F;
}

/* Tag Cloud */
.tagcloud ul.tagcloudul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
}

.tagcloud ul.tagcloudul li {
    display: inline-block;
    margin: 0 0.3em 0.3em 1em;
    padding: 0;
}

.tagcloud ul.tagcloudul li a {
    position: relative;
    display: inline-block;
    height: 30px;
    line-height: 30px;
    padding: 0 1em;
    background-color: #fff;
    border-radius: 0 3px 3px 0;
    text-decoration: none;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.tagcloud ul.tagcloudul li a::before {
    position: absolute;
    top: 0;
    left: -15px;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #fff transparent transparent;
    border-style: solid;
    border-width: 15px 15px 15px 0;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}

.tagcloud ul.tagcloudul li a::after {
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 2;
    display: block;
    content: "";
    width: 6px;
    height: 6px;
    margin-top: -3px;
    background-color: #373737;
    border-radius: 100%;
}

.tagcloud ul.tagcloudul li span {
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    color: initial;
}

.tagcloud ul.tagcloudul li a:hover {
    background-color: #fff;
}

.tagcloud ul.tagcloudul li a:hover::before {
    border-right-color: #fff;
}

.lab-footer-menu .nav-menu>.menu-item {
    float: left;
    position: relative;
    padding: 0;
    margin: 0 15px;
}

.lab-footer-menu {
    margin: auto;
}

#footer-menu li a {
    color: #000;
}

/* Back To Top */
#lab-back-top {
    position: fixed;
    bottom: 30px;
    right: 10px;
    left: auto;
    z-index: 999;
}

#lab-back-top a {
    cursor: pointer;
    display: block;
    position: relative;
    height: 35px;
    width: 35px;
    fill: #fff;
    background-color: #000;
    text-decoration: none;
    -webkit-transition: all 1s ease 0s;
    transition: all 1s ease 0s;
    border-radius: 100%;
    text-align: center;
    border: 1px solid #fff;
    padding-top: 1px;
}

/* Media Query */
@media (max-width: 800px) {
    #off-canvas-btn {
        padding: 0 5px;
        position: relative;
        top: 5px;
    }

    .menu-standard #lab-logo-nav .lab-main-menu,
    #lab-wcag {
        display: none;
    }

    .menu-standard #lab-offcanvas-button,
    .menu-standard #lab-offcanvas .lab-offcanvas-menu {
        display: block;
    }

    .block-settings-wrapper {
        left: -301px;
        top: 15%;
        width: 300px;
        z-index: 500;
    }

    .open-accessibility {
        top: -65px;
    }

    .contact-col,
    .footer-dark h3,
    .footer-light h3 {
        text-align: center;
        margin-top: 100px;
    }

    #team .col-12,
    #team .col-sm-6 {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 500px) {
    .footer-social-left {
        float: none;
    }

    .copyright-text {
        text-align: center;
    }
}

@media reader,
speech,
aural {

    *:before,
    *:after {
        display: none !important;
        content: "" !important;
        visibility: hidden;
    }
}

/* ==== NS Dropdown Navigation (Accessible) ==== */

/* Base list reset for submenus */
.lab-main-menu .nav-menu,
.lab-main-menu .nav-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Ensure top-level items are positioned for dropdowns */
.lab-main-menu .nav-menu > .menu-item {
    position: relative;
}

/* Submenu base styling */
.lab-main-menu .nav-menu .sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 230px;
    z-index: 1000;
    background-color: #ffffff;
    border: none;
    border-radius: 0 0 0.5rem 0.5rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15), 0 2px 6px rgba(0,0,0,0.08);
    padding: 0.35rem 0;
    display: none;
    /* Subtle slide-down animation */
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

/* When shown, animate in */
.lab-main-menu .nav-menu > .menu-item.menu-item-has-children:hover > .sub-menu,
.lab-main-menu .nav-menu > .menu-item.menu-item-has-children:focus-within > .sub-menu{
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Submenu links */
.lab-main-menu .nav-menu .sub-menu .menu-item > a {
    display: block;
    padding: 0.55rem 1rem 0.55rem 1.1rem;
    white-space: nowrap;
    color: #2a2a2a;
    background-color: transparent;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 500;
    border-left: 3px solid transparent;
    border-bottom: 2px solid transparent;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

/* High-contrast hover — clean left accent + bold */
.lab-main-menu .nav-menu .sub-menu .menu-item > a:hover {
    background-color: var(--ns-red, #ff0900);
    color: #ffffff;
    border-left-color: #ffffff;
    text-decoration: none;
    border-bottom: 2px solid rgba(255,255,255,0.6);
    font-weight: 700;
}

/* High-contrast keyboard focus */
#lab-logo-nav .lab-main-menu .nav-menu .sub-menu .menu-item > a:focus,
#lab-logo-nav .lab-main-menu .nav-menu .sub-menu .menu-item > a:focus-visible {
    background-color: var(--ns-red, #ff0900) !important;
    color: #ffffff !important;
    border-left-color: #ffffff;
    text-decoration: none;
    border-bottom: 2px solid rgba(255,255,255,0.6);
    font-weight: 700;
    outline: 2px solid var(--ns-red, #ff0900);
    outline-offset: -2px;
    border-radius: 0.15rem;
}

/* Show submenu on hover (mouse users) */
.lab-main-menu .nav-menu > .menu-item.menu-item-has-children:hover > .sub-menu {
    display: block;
}

/* Show submenu when any child receives focus (keyboard users) */
.lab-main-menu .nav-menu > .menu-item.menu-item-has-children:focus-within > .sub-menu {
    display: block;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .lab-main-menu .nav-menu .sub-menu {
        transition: none;
    }
}

/* ==== NS: Make offcanvas menu scrollable ==== */

#lab-offcanvas {
    /* Make sure the offcanvas never exceeds the viewport height */
    max-height: 100vh;

    /* Allow the offcanvas panel itself to scroll if content is taller
       than the screen (mouse wheel, touch, keyboard all work) */
    overflow-y: auto;

    /* For smoother scrolling on iOS / mobile devices */
    -webkit-overflow-scrolling: touch;
}

/* Optional: keep the inner content from touching the right edge */
#lab-offcanvas-content {
    padding-right: 0.75rem;
}

/* === NS FIX: Prevent entire section from highlighting on hover in offcanvas menu === */

/* Remove background highlight from parent items */
#lab-offcanvas .nav-menu > .menu-item-has-children:hover > a {
    background: none !important;
}

/* Remove background from parent links on focus as well */
#lab-offcanvas .nav-menu > .menu-item-has-children > a:focus {
    background: none !important;
}

/* Make sure only each individual sub-menu link highlights */
#lab-offcanvas .sub-menu .menu-item > a:hover,
#lab-offcanvas .sub-menu .menu-item > a:focus {
    background-color: #003366 !important;
    color: #ffffff !important;
}

/* Also make top-level items (Home, District News, etc.) highlight individually */
#lab-offcanvas .nav-menu > .menu-item > a:hover,
#lab-offcanvas .nav-menu > .menu-item > a:focus {
    background-color: #003366 !important;
    color: #ffffff !important;
}

/* === NS: Bold top-level sidebar menu items only === */

#menu-side-menu > .menu-item > a {
    font-weight: 700;   /* Bold */
}

/* Do NOT bold sub-menu items */
#menu-side-menu .sub-menu a {
    font-weight: 400;   /* Normal */
}

/* === NS: Make desktop side menu scrollable when too tall === */

@media (min-width: 992px) { /* only on desktop / larger screens */
    #menu-side-menu {
        max-height: 80vh;          /* keep some space for header/footer */
        overflow-y: auto;          /* enable vertical scrolling */
        -webkit-overflow-scrolling: touch; /* smoother scroll on touch devices */
        padding-right: 0.5rem;     /* avoid text hugging the scrollbar */
    }
}

/* =========================================================
   ACCESSIBLE FOCUS + DROPDOWN READABILITY (KEYBOARD TAB FIX)
   - Keeps visible focus outlines
   - Prevents dropdown text from turning white on TAB focus
   - Covers focus landing on <a>, <button>, <li>, or focus-within cases
   ========================================================= */

/* Hover underline (mouse) */
a:hover,
a:active {
  text-decoration: underline;
}

/* Focus ring (keyboard). Don't remove it. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #000;
  outline-offset: 3px;
  border-radius: 2px;
}

/* ---------------------------------------------------------
   DROPDOWN MENU: force readable colors on keyboard focus
   (This fixes "TAB makes text white" even if a global :focus
   rule or .nav-link:focus rule is overriding you.)
   --------------------------------------------------------- */

/* Base dropdown item text color */
.dropdown-menu,
.dropdown-menu * {
  color: #111;
}

/* If focus lands on the LI (common), keep it readable */
.dropdown-menu li:focus,
.dropdown-menu li:focus-within {
  color: #111 !important;
  background-color: #e9ecef !important;
}

/* If focus lands on an A or BUTTON inside the dropdown */
.dropdown-menu a:focus,
.dropdown-menu a:focus-visible,
.dropdown-menu button:focus,
.dropdown-menu button:focus-visible,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:focus-visible {
  color: #111 !important;
  background-color: #e9ecef !important;
  text-decoration: underline;
}

/* Ensure the focused item's children don't inherit "white" from anywhere */
.dropdown-menu a:focus *,
.dropdown-menu a:focus-visible *,
.dropdown-menu .dropdown-item:focus *,
.dropdown-menu .dropdown-item:focus-visible *,
.dropdown-menu li:focus-within * {
  color: #111 !important;
}

/* Optional: keep hover consistent with focus */
.dropdown-menu a:hover,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu li:hover > a {
  color: #111 !important;
  background-color: #e9ecef !important;
  text-decoration: underline;
}

/* =========================================================
   North Schuylkill theme overrides (Bootstrap 5 compatible)
   Keeps existing accessibility behaviors intact.
   v3 — fixes: dropdown text, utility bar, carousel crop,
   logo focus, mobile hamburger, mobile centering.
   ========================================================= */

:root{
  --ns-blue: #0032aa;
  --ns-blue-accent: #2c3ccd;
  --ns-red: #ff0900;
  --ns-white: #ffffff;
  --ns-dark-blue: #003366;
  --ns-black: #000000;
  --ns-light-bg: #f5f7fb;
}

/* ===== GLOBAL SPACING OVERRIDES ===== */

#lab-main .main-container{
  padding: 2rem 0;
}
#lab-main .inside-container{
  padding: 1.5rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}
.lab-container{
  padding-bottom: 0;
}

/* ===== COMPACT HEADER ===== */

.topbar-shadow-default #lab-logo-nav{
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}
#lab-logo-nav{
  background: var(--ns-blue) !important;
  border-bottom: 3px solid var(--ns-red);
}
/* Helmet icon + text lockup in nav bar */
.ns-logo-link{
  display: inline-flex !important;
  align-items: center;
  gap: 0.6rem;
  padding: 0.2rem 0;
  text-decoration: none !important;
}

.ns-header-helmet{
  height: 56px;
  width: 56px;
  display: block;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.3);
  object-fit: contain;
  flex-shrink: 0;
}

.ns-logo-text{
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.ns-logo-name{
  color: #ffffff;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.ns-logo-tagline{
  color: rgba(255,255,255,0.75);
  font-weight: 400;
  font-size: 0.75rem;
  font-style: italic;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.ns-logo-link:hover .ns-logo-name,
.ns-logo-link:focus .ns-logo-name{
  color: #ffffff;
}
.ns-logo-link:hover .ns-logo-tagline,
.ns-logo-link:focus .ns-logo-tagline{
  color: rgba(255,255,255,0.9);
}
.ns-logo-link:hover{
  text-decoration: none !important;
}

/* Logo focus ring: WHITE on blue background */
#lab-logo a:focus-visible,
#lab-bar-left #lab-logo a:focus-visible{
  outline: 3px solid #ffffff !important;
  outline-offset: 3px;
  border-radius: .25rem;
}

/* ===== TOP UTILITY BAR ===== */

/* Same blue as nav bar, with a subtle bottom separator */
#lab-wcag.lab-container{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0.3rem 1rem;
  background: var(--ns-blue);
  border-bottom: 1px solid rgba(255,255,255,0.2);
}

.ml-auto.icon-scp-top{
  float: none;
  padding-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ml-auto.icon-scp-top .top-links{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ml-auto.icon-scp-top .top-link,
.ml-auto.icon-scp-top .top-link:visited{
  color: #ffffff;
  font-weight: 600;
  font-size: 0.85rem;
  text-decoration: none;
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
}
.ml-auto.icon-scp-top .top-link:hover,
.ml-auto.icon-scp-top .top-link:focus,
.ml-auto.icon-scp-top .top-link:focus-visible{
  color: #ffffff;
  background-color: var(--ns-red);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  outline: none;
}
.ml-auto.icon-scp-top .top-link:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,255,255,0.85);
}
.ml-auto.icon-scp-top .top-link-sep{
  color: rgba(255,255,255,0.5);
  user-select: none;
  font-size: 0.8rem;
}
.ml-auto.icon-scp-top .top-link:hover{ fill: inherit; }

/* ===== GOOGLE TRANSLATE WIDGET ===== */

.ns-translate-wrap{
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

/* Prevent the Google top-bar from pushing page down */
body{ top: 0 !important; }

/* Hide the Google top banner but NOT the widget itself */
.skiptranslate.goog-te-banner-frame,
iframe.skiptranslate{
  display: none !important;
}

/* Override old template rule (line ~754) that turns everything black on hover
   inside .icon-scp-top — must not affect the translate widget */
.ml-auto.icon-scp-top .ns-translate-wrap:hover,
.ml-auto.icon-scp-top .ns-translate-wrap a:hover,
.ml-auto.icon-scp-top .ns-translate-wrap a,
.ml-auto.icon-scp-top #google_translate_element a:hover,
.ml-auto.icon-scp-top #google_translate_element a,
.ml-auto.icon-scp-top .goog-te-gadget a:hover,
.ml-auto.icon-scp-top .goog-te-gadget a{
  background-color: transparent !important;
  fill: inherit !important;
  color: transparent !important;
}

/* Style the Google Translate container */
#google_translate_element{
  display: inline-block;
  line-height: 1;
}

/* Compact the gadget wrapper */
#google_translate_element .goog-te-gadget{
  font-family: inherit;
  font-size: 0;
  margin: 0;
  color: transparent;
  white-space: nowrap;
}

/* Hide Google branding image and links */
#google_translate_element .goog-te-gadget img{
  display: none !important;
}
#google_translate_element .goog-te-gadget > span{
  display: none !important;
}
#google_translate_element .goog-te-gadget > a{
  display: none !important;
}

/* Style the actual <select> dropdown */
#google_translate_element select.goog-te-combo,
#google_translate_element .goog-te-gadget .goog-te-combo,
#google_translate_element .goog-te-gadget select{
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  color: #ffffff;
  background-color: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 0.25rem;
  padding: 0.2rem 1.3rem 0.2rem 0.35rem;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.4rem center;
}

#google_translate_element select.goog-te-combo:hover,
#google_translate_element .goog-te-gadget select:hover{
  background-color: var(--ns-red);
  border-color: var(--ns-red);
  color: #ffffff;
}

#google_translate_element select.goog-te-combo:focus,
#google_translate_element select.goog-te-combo:focus-visible,
#google_translate_element .goog-te-gadget select:focus,
#google_translate_element .goog-te-gadget select:focus-visible{
  box-shadow: 0 0 0 3px rgba(255,255,255,0.85);
  border-color: rgba(255,255,255,0.6);
  outline: none;
}

/* Dropdown options: dark text on white so they're readable */
#google_translate_element select.goog-te-combo option,
#google_translate_element .goog-te-gadget select option{
  color: #161616;
  background: #ffffff;
}

/* Responsive: shrink on medium screens */
@media (max-width: 991.98px){
  #google_translate_element .goog-te-combo{
    font-size: 0.75rem;
    padding: 0.15rem 1.1rem 0.15rem 0.3rem;
  }
}

.sticky-bar.scrolled #lab-main #lab-wcag .icon-scp-top,
.sticky-bar.scrolled #lab-main #lab-wcag .icon-scp-top-left{
  display: none;
}

/* ===== PRIMARY NAV: TOP-LEVEL LINKS ONLY ===== */

#lab-main-menu .nav-menu,
#lab-main-menu .sub-menu{
  list-style: none !important;
  margin: 0;
  padding-left: 0;
}

/* Top-level nav links: white text on blue bar */
#lab-logo-nav .lab-main-menu .nav-menu > .menu-item > a{
  color: var(--ns-white) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  transition: background-color 0.15s ease, border-color 0.15s ease, font-weight 0.1s ease;
  padding: 10px 12px;
  font-weight: 600;
}

#lab-logo-nav .lab-main-menu .nav-menu > .menu-item > a:hover{
  background: var(--ns-red) !important;
  color: var(--ns-white) !important;
  text-decoration: none !important;
  border-bottom-color: #ffffff;
  font-weight: 700;
}

#lab-logo-nav .lab-main-menu .nav-menu > .menu-item > a:focus-visible{
  background: var(--ns-red) !important;
  color: var(--ns-white) !important;
  text-decoration: none !important;
  border-bottom-color: #ffffff;
  font-weight: 700;
  outline: 3px solid var(--ns-white);
  outline-offset: 2px;
  border-radius: .25rem;
}

/* ===== DROPDOWN / SUBMENU: polished, modern ===== */

#lab-main-menu .sub-menu{
  background: #ffffff !important;
  border: none;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15), 0 2px 6px rgba(0,0,0,0.08);
}

#lab-main-menu .sub-menu a,
#lab-main-menu .sub-menu .menu-item > a{
  color: #2a2a2a !important;
  background-color: transparent;
  border-left: 3px solid transparent;
  border-bottom: 2px solid transparent;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

/* Submenu hover/focus: red background + elegant underline + bold */
#lab-main-menu .sub-menu a:hover,
#lab-main-menu .sub-menu a:focus,
#lab-main-menu .sub-menu a:focus-visible,
#lab-logo-nav .nav-menu .sub-menu a:hover,
#lab-logo-nav .nav-menu .sub-menu a:focus,
#lab-logo-nav .nav-menu .sub-menu a:focus-visible,
#lab-main-menu .sub-menu li:hover > a,
#lab-logo-nav .nav-menu .sub-menu li:hover > a{
  background-color: var(--ns-red) !important;
  color: #ffffff !important;
  border-left-color: #ffffff;
  text-decoration: none !important;
  border-bottom: 2px solid rgba(255,255,255,0.6);
  font-weight: 700;
}

/* Submenu link focus ring */
#lab-logo-nav .lab-main-menu .nav-menu .sub-menu .menu-item > a:focus-visible{
  outline: 2px solid var(--ns-red) !important;
  outline-offset: -2px;
  border-radius: .15rem;
}

/* ===== NAV: Top-level hover/focus/focus-within ===== */

#lab-logo-nav .nav-menu > li > a:focus,
#lab-logo-nav .nav-menu > li > a:focus-visible,
#lab-logo-nav .nav-menu > li:focus-within > a,
#lab-logo-nav .nav-menu > li:hover > a,
#lab-logo-nav .nav-menu > li.menu-item-has-children:hover > a,
#lab-logo-nav .nav-menu > li.menu-item-has-children:focus-within > a{
  background-color: var(--ns-red) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom-color: #ffffff;
  font-weight: 700;
}

#lab-logo-nav .nav-menu > li > a:focus-visible{
  outline: 3px solid #ffffff;
  outline-offset: 2px;
}

/* ===== HAMBURGER / OFFCANVAS ICON ===== */

#lab-offcanvas-button .toggle-nav svg,
#lab-offcanvas-button .toggle-nav{
  color: var(--ns-white) !important;
  fill: var(--ns-white);
}
#lab-offcanvas-button .toggle-nav:hover svg{
  fill: var(--ns-red);
}
#lab-offcanvas-button .toggle-nav:focus-visible{
  outline: 3px solid var(--ns-white);
  outline-offset: 2px;
  border-radius: .25rem;
}

/* ===== HERO CAROUSEL ===== */

.ns-hero-carousel .carousel-item img{
  max-height: 480px;
  object-fit: cover;
  width: 100%;
}

.ns-hero-carousel .carousel-caption{
  background: rgba(0,0,0,.6);
  padding: 0.75rem 1.25rem;
  border-radius: .5rem;
}

@media (prefers-reduced-motion: reduce){
  .carousel-item{
    transition: none !important;
  }
}

/* ===== FOOTER: NS Blue/Red branded ===== */

/* The footer element itself must be blue — not just the inner containers */
.page-footer,
.page-footer.footer-bg{
  background-color: var(--ns-blue) !important;
  color: var(--ns-white) !important;
}

/* ALL .footer-dark elements inside the footer — including inner rows */
.page-footer .footer-dark,
.page-footer .main-container.footer-dark,
.page-footer .row.footer-dark{
  background-color: var(--ns-blue) !important;
  color: var(--ns-white) !important;
}

/* Remove excess padding from main-container INSIDE the footer */
.page-footer .main-container{
  padding: 0 !important;
}
.page-footer .main-container.footer-dark{
  overflow: visible;
}

/* Footer inside-container: tighter padding */
.page-footer .inside-container{
  padding: 1.5rem 2rem 1rem;
}

/* Force copyright text to be visible on blue */
.page-footer .ns-copyright{
  color: rgba(255,255,255,0.7) !important;
}
.page-footer .footer-dark h2,
.page-footer .footer-dark h3{
  color: var(--ns-white) !important;
  font-weight: 600;
}
.page-footer .footer-dark h3::after{
  border-bottom-color: rgba(255,255,255,0.25);
}
.page-footer .footer-dark p,
.page-footer .footer-dark span,
.page-footer .footer-dark .copyright-text,
.page-footer .footer-dark .copyright-text a{
  color: rgba(255,255,255,0.85) !important;
}
.page-footer .footer-dark a{
  color: rgba(255,255,255,0.9) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.page-footer .footer-dark a:hover,
.page-footer .footer-dark a:focus{
  color: #ffffff !important;
  background-color: var(--ns-red);
  text-decoration: none;
  border-radius: 0.15rem;
  padding: 0 0.15rem;
}
.page-footer .footer-dark a:focus-visible{
  outline: 3px solid var(--ns-white);
  outline-offset: 2px;
  border-radius: .25rem;
}
.page-footer{
  border-top: 4px solid var(--ns-red);
}
#lab-back-top a{
  background-color: var(--ns-blue);
  border: 2px solid var(--ns-white);
}
#lab-back-top a:hover,
#lab-back-top a:focus{
  background-color: var(--ns-red);
}
.icon-footer-contact svg{
  fill: var(--ns-white);
  border-color: rgba(255,255,255,0.3);
}

/* ===== MOBILE: hamburger fix + utility centering ===== */

/* At <=800px the template hides #lab-wcag and .lab-main-menu,
   and shows #lab-offcanvas-button. We must NOT let our flex
   rule on #lab-wcag fight with display:none. */

@media (max-width: 800px){
  /* Override template: show utility bar but only the translate widget */
  #lab-wcag.lab-container,
  .menu-standard #lab-wcag{
    display: flex !important;
    justify-content: center;
    padding: 0.25rem 0.75rem;
  }

  /* Hide the nav links and their separators on mobile */
  #lab-wcag .top-links{
    display: none !important;
  }
  /* Hide the separator between nav and translate */
  #lab-wcag > .ml-auto.icon-scp-top > .top-link-sep{
    display: none;
  }

  /* Keep the translate widget visible and centered */
  #lab-wcag .ns-translate-wrap{
    display: inline-flex;
  }

  /* Ensure hamburger container is visible and clickable */
  .menu-standard #lab-offcanvas-button{
    display: block !important;
    float: none;
    margin: 0.5rem 0;
  }

  /* Make the header flex container work on mobile */
  #lab-logo-nav .lab-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding: 0.35rem 0.75rem;
  }

  /* Let the logo shrink */
  #lab-bar-left{
    float: none;
    flex: 0 1 auto;
  }
  .ns-header-helmet{
    height: 44px;
    width: 44px;
  }
  /* Compact logo text on mobile */
  .ns-logo-text{
    display: flex;
  }
  .ns-logo-name{
    font-size: 0.95rem;
  }
  .ns-logo-tagline{
    font-size: 0.65rem;
  }

  /* Put hamburger on the right */
  #lab-bar-right{
    float: none;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
  }
}

/* Slightly wider mobile: show utility bar centered */
@media (max-width: 991.98px) and (min-width: 801px){
  #lab-wcag.lab-container{
    justify-content: center;
  }
}

/* Small phone screens: if utility bar is somehow visible, center it */
@media (max-width: 576px){
  #lab-wcag.lab-container{
    justify-content: center;
  }
  #lab-main .inside-container{
    padding: 1rem 0.75rem;
  }
}

@media (max-width: 991.98px){
  #lab-main .inside-container{
    padding: 1rem 1rem;
  }
}

/* =========================================================
   NS MOBILE OFF-CANVAS MENU — branded, modern, accessible
   ========================================================= */

/* Panel background: NS blue with subtle gradient */
#lab-offcanvas{
  background: linear-gradient(180deg, var(--ns-blue) 0%, var(--ns-dark-blue, #003366) 100%);
  color: #ffffff;
  box-shadow: -4px 0 20px rgba(0,0,0,.35);
}

/* Toolbar area (close button row) */
#lab-offcanvas-toolbar{
  padding: 1rem 1rem 0.5rem;
  border-bottom: 2px solid var(--ns-red);
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Close button */
#lab-offcanvas .toggle-nav-close,
#lab-offcanvas .toggle-nav.close{
  color: #ffffff;
  fill: #ffffff;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  border-radius: 0.3rem;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
  text-decoration: none;
}
#lab-offcanvas .toggle-nav-close:hover,
#lab-offcanvas .toggle-nav.close:hover{
  background: var(--ns-red);
  border-color: var(--ns-red);
}
#lab-offcanvas .toggle-nav-close:focus-visible,
#lab-offcanvas .toggle-nav.close:focus-visible{
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  border-radius: 0.3rem;
}
#lab-offcanvas .toggle-nav-close svg,
#lab-offcanvas .toggle-nav.close svg{
  fill: #ffffff;
  width: 16px;
  height: 16px;
}
#lab-offcanvas .toggle-nav-close .sr-only{
  /* Keep screen reader text but visually show "Close Menu" */
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

/* Content area */
#lab-offcanvas #lab-offcanvas-content{
  padding: 0.75rem 1rem 2rem;
}

/* ===== Top-level menu items ===== */
#lab-offcanvas .nav-menu > .menu-item > a{
  display: block;
  color: #ffffff !important;
  font-weight: 700;
  font-size: 1rem;
  padding: 0.75rem 0.75rem;
  text-decoration: none;
  border-radius: 0.35rem;
  letter-spacing: 0.01em;
}

/* Top-level dividers */
#lab-offcanvas .nav-menu > .menu-item + .menu-item{
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

/* Top-level hover / focus */
#lab-offcanvas .nav-menu > .menu-item > a:hover{
  background-color: var(--ns-red) !important;
  color: #ffffff !important;
  text-decoration: none;
}
#lab-offcanvas .nav-menu > .menu-item > a:focus-visible{
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  border-radius: 0.35rem;
  background-color: var(--ns-red) !important;
  color: #ffffff !important;
}

/* Override old template highlight rules */
#lab-offcanvas .nav-menu > .menu-item-has-children:hover > a{
  background: none !important;
}
#lab-offcanvas .nav-menu > .menu-item-has-children > a:focus{
  background: none !important;
}

/* ===== Submenu items ===== */
#lab-offcanvas .sub-menu{
  background: transparent !important;
  border: none !important;
  padding-left: 0.75rem;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

#lab-offcanvas .sub-menu .menu-item > a{
  display: block;
  color: rgba(255,255,255,0.85) !important;
  font-weight: 400;
  font-size: 0.9rem;
  padding: 0.45rem 0.75rem;
  text-decoration: none;
  border-radius: 0.3rem;
  border-left: 2px solid transparent;
}

#lab-offcanvas .sub-menu .menu-item > a:hover{
  background-color: var(--ns-red) !important;
  color: #ffffff !important;
  border-left-color: #ffffff;
  text-decoration: none;
}

#lab-offcanvas .sub-menu .menu-item > a:focus-visible{
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  border-radius: 0.3rem;
  background-color: var(--ns-red) !important;
  color: #ffffff !important;
}

/* Current/active page indicator */
#lab-offcanvas .nav-menu > .menu-item.current-menu-item > a{
  background: rgba(255,255,255,0.1);
  border-left: 3px solid var(--ns-red);
  padding-left: calc(0.75rem - 3px);
}

/* ===== Scrollbar styling for the panel ===== */
#lab-offcanvas::-webkit-scrollbar{
  width: 6px;
}
#lab-offcanvas::-webkit-scrollbar-track{
  background: rgba(255,255,255,0.05);
}
#lab-offcanvas::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.25);
  border-radius: 3px;
}
#lab-offcanvas::-webkit-scrollbar-thumb:hover{
  background: rgba(255,255,255,0.4);
}

/* =========================================================
   NS ACCESSIBILITY TOOLBAR — branded, readable
   ========================================================= */

/* Panel background: NS blue instead of black */
.block_settings{
  background-color: var(--ns-blue) !important;
  box-shadow: 3px 3px 16px rgba(0,0,0,0.25);
}

/* The circular settings panel */
#lab-main .lab-wcag-settings{
  background: var(--ns-blue) !important;
  color: #ffffff !important;
  border-radius: 999px;
}

/* Section labels: Font Family, Font Settings */
#lab-main .lab-wcag-settings > li{
  color: #ffffff !important;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
}

/* Individual button text */
.open-accessibility button .lab-only{
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500;
  font-size: 0.85rem;
}

/* Button icons (SVG) */
#lab-main .lab-wcag-settings li button svg{
  fill: rgba(255,255,255,0.7);
}

/* Hover state: red highlight with white text */
#lab-main .lab-wcag-settings li button:hover,
#lab-main .lab-wcag-settings li button:focus-visible{
  background: var(--ns-red) !important;
  color: #ffffff !important;
  border-radius: 0.25rem;
}

#lab-main .lab-wcag-settings li button:hover svg,
#lab-main .lab-wcag-settings li button:focus-visible svg{
  fill: #ffffff;
}

#lab-main .lab-wcag-settings li button:hover .lab-only,
#lab-main .lab-wcag-settings li button:focus-visible .lab-only{
  color: #ffffff !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* Focus ring for keyboard */
#lab-main .lab-wcag-settings li button:focus-visible{
  outline: 3px solid #ffffff;
  outline-offset: 2px;
}

/* The toggle button (accessibility icon) on the right edge */
.block-settings-wrapper #settings_close{
  background-color: var(--ns-blue) !important;
  color: #ffffff;
  border: 2px solid rgba(255,255,255,0.3);
  box-shadow: 3px 3px 16px rgba(0,0,0,0.25);
}

.block-settings-wrapper #settings_close:hover{
  background-color: var(--ns-red) !important;
  border-color: var(--ns-red);
}

.block-settings-wrapper #settings_close:focus-visible{
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  background-color: var(--ns-red) !important;
}

/* Reset button at the bottom */
#lab-main .lab-wcag-settings .lab-reset{
  color: rgba(255,255,255,0.85) !important;
}
#lab-main .lab-wcag-settings .lab-reset:hover,
#lab-main .lab-wcag-settings .lab-reset:focus-visible{
  background: var(--ns-red) !important;
  color: #ffffff !important;
  border-radius: 0.25rem;
}
#lab-main .lab-wcag-settings .lab-reset svg{
  fill: rgba(255,255,255,0.7);
}
#lab-main .lab-wcag-settings .lab-reset:hover svg,
#lab-main .lab-wcag-settings .lab-reset:focus-visible svg{
  fill: #ffffff;
}

/* ===== Announcement Modal ===== */
.ns-announcement-modal .modal-content {
    border: none;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}

/* Urgent variant — red accent (weather, safety, closures) */
.ns-announcement-modal.ns-urgent .modal-header {
    background-color: #ff0900;
    color: #fff;
    border-bottom: 4px solid #b30700;
    border-radius: 8px 8px 0 0;
}

.ns-announcement-modal.ns-urgent .modal-header .btn-close {
    filter: brightness(0) invert(1);
}

.ns-announcement-modal.ns-urgent .ns-modal-icon {
    font-weight: bold;
    margin-right: 0.5rem;
}

/* General variant — NS blue (events, reminders, news) */
.ns-announcement-modal.ns-general .modal-header {
    background-color: #0032aa;
    color: #fff;
    border-bottom: 4px solid #002280;
    border-radius: 8px 8px 0 0;
}

.ns-announcement-modal.ns-general .modal-header .btn-close {
    filter: brightness(0) invert(1);
}

.ns-announcement-modal .modal-title {
    font-weight: 600;
    font-size: 1.4rem;
}

.ns-announcement-modal .modal-body {
    padding: 1.75rem;
    font-size: 1.05rem;
    line-height: 1.6;
}

.ns-announcement-modal .modal-body p:last-child {
    margin-bottom: 0;
}

.ns-announcement-modal .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 1rem 1.5rem;
}

.ns-announcement-modal .btn-ns-primary {
    background-color: #0032aa;
    color: #fff;
    border: 2px solid #0032aa;
    padding: 0.5rem 1.5rem;
    font-weight: 600;
}

.ns-announcement-modal .btn-ns-primary:hover,
.ns-announcement-modal .btn-ns-primary:focus {
    background-color: #002280;
    border-color: #002280;
    color: #fff;
}

.ns-announcement-modal.ns-urgent .btn-ns-primary {
    background-color: #ff0900;
    border-color: #ff0900;
}

.ns-announcement-modal.ns-urgent .btn-ns-primary:hover,
.ns-announcement-modal.ns-urgent .btn-ns-primary:focus {
    background-color: #b30700;
    border-color: #b30700;
}
