/*
 * File: menu.css
 * Menu główne KMPS
 * Last modify: 11.05.2026
 */

/* =========================
   MENU GŁÓWNE
========================= */

a {
  -webkit-transition: color .25s ease-in-out, background .25s ease-in-out;
  -moz-transition: color .25s ease-in-out, background .25s ease-in-out;
  -o-transition: color .25s ease-in-out, background .25s ease-in-out;
  transition: color .25s ease-in-out, background .25s ease-in-out;
}

.nav {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
  font-size: 1em;
  position: relative;
  background: var(--kmps-menu, #343434);
}

.nav .menu-toggle {
  position: relative;
  z-index: 2;
  display: block;
  margin: 0;
  padding: 0.65em 0;
  background-color: var(--kmps-menu, #343434);
  text-decoration: none;
  text-align: center;
  font-size: 1em;
  color: #fff;
}

.nav .menu-toggle:hover,
.nav .menu-toggle:focus {
  color: #fff;
  background-color: var(--kmps-navy, #192036);
}

.nav .menu-toggle-text {
  font-size: 1em;
  display: block;
}

.no-js .nav .menu-toggle {
  display: none;
}

.nav .expanded-menu-toggle {
  color: #fff;
  background-color: var(--kmps-menu, #343434);
}

.no-fontface .nav .icon-menu:before {
  display: none;
}

.menu {
  position: relative;
  z-index: 1;
  background-color: var(--kmps-menu, #343434);
  border: 0;
  margin: -1px auto;
  overflow: hidden;
  padding: 0;
  max-height: 1px;
  min-height: 0;
  clip: rect(0 0 0 0);

  -webkit-transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-in;
  -moz-transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-in;
  -o-transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-in;
  transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-in;
}

.menu li,
.menu-item,
.menu-item-active {
  list-style-type: none;
}

.menu li a {
  display: block;
  padding: 11px 0;
  background-color: transparent;
  text-decoration: none;
  text-align: center;
  font-size: 1.15em;
  font-weight: 700;
  color: #fff;
}

.menu li a:hover,
.menu li a:focus {
  color: #fff;
  background: var(--kmps-navy, #192036);
}

.menu li ul.sub-menu,
.menu li ul.children {
  display: none;
}

.menu-item {
  background: var(--kmps-menu, #343434);
}

.menu-item-active {
  background: var(--kmps-navy, #192036);
}

.menu-item-active > a {
  color: #fff !important;
}

.no-js .menu,
.expanded-mobile-menu {
  -webkit-transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-in;
  -moz-transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-in;
  -o-transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-in;
  transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-in;

  clip: auto;
  min-height: 8em;
  max-height: 100em;
  padding: 0.5em 0;
}

@media only screen and (min-width: 30.1em) {
  .menu li {
    float: left;
    width: 50%;
  }
}

@media only screen and (min-width: 48em) {
  .nav .menu-toggle {
    display: none;
  }

  .menu,
  .no-js .menu,
  .expanded-mobile-menu {
    margin: 0;
    min-height: 0;
    max-height: 999em;
    clip: auto;
    overflow: visible;
    background: var(--kmps-menu, #343434);
    display: flex;
    padding: 0;
  }

  .menu li,
  .no-js .menu li,
  .expanded-mobile-menu li {
    float: none;
    width: auto;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    flex: 1 1 auto;
  }

  .menu li a,
  .no-js .menu li a,
  .expanded-mobile-menu li a {
    padding: 12px 18px;
    color: #fff;
    line-height: 1.2;
  }

  .menu li a:hover,
  .menu li a:focus,
  .no-js .menu li a:hover,
  .no-js .menu li a:focus,
  .expanded-mobile-menu li a:hover,
  .expanded-mobile-menu li a:focus {
    color: #fff;
    background: var(--kmps-navy, #192036);
  }

  .menu li:hover > a,
  .no-js .menu li:hover > a,
  .expanded-mobile-menu li:hover > a {
    background: var(--kmps-navy, #192036);
  }

  .menu li ul.sub-menu,
  .menu li ul.children,
  .no-js .menu li ul.sub-menu,
  .no-js .menu li ul.children,
  .expanded-mobile-menu li ul.sub-menu,
  .expanded-mobile-menu li ul.children {
    display: block;
    position: absolute;
    z-index: 20;
    top: 100%;
    left: 0;
    white-space: nowrap;
    background: var(--kmps-menu, #343434);
    text-align: center;

    opacity: 0;
    border: 0;
    margin: -1px 0;
    overflow: hidden;
    padding: 0;
    max-height: 1px;
    min-height: 0;

    -webkit-transition: max-height .5s ease-out, min-height .5s ease, padding .5s ease-out, opacity .5s ease-in;
    -moz-transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-out, opacity .5s ease-in;
    -o-transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-out, opacity .5s ease-in;
    transition: max-height .5s ease-out, min-height .5s ease-in, padding .5s ease-out, opacity .5s ease-in;
  }

  .menu li ul.sub-menu li,
  .menu li ul.children li,
  .no-js .menu li ul.sub-menu li,
  .no-js .menu li ul.children li,
  .expanded-mobile-menu li ul.sub-menu li,
  .expanded-mobile-menu li ul.children li {
    display: block;
    padding: 0.2em 0.4em 0;
    width: auto;
  }

  .menu li ul.sub-menu li a,
  .menu li ul.children li a,
  .no-js .menu li ul.sub-menu li a,
  .no-js .menu li ul.children li a,
  .expanded-mobile-menu li ul.sub-menu li a,
  .expanded-mobile-menu li ul.children li a {
    font-size: 1em;
    padding: 0.45em 1em;
    display: block;
    line-height: 1.5;
    margin: 0;
    text-align: center;
    background: transparent;
  }

  .menu li ul.sub-menu li a:hover,
  .menu li ul.sub-menu li a:focus,
  .menu li ul.children li a:hover,
  .menu li ul.children li a:focus,
  .no-js .menu li ul.sub-menu li a:hover,
  .no-js .menu li ul.sub-menu li a:focus,
  .no-js .menu li ul.children li a:hover,
  .no-js .menu li ul.children li a:focus,
  .expanded-mobile-menu li ul.sub-menu li a:hover,
  .expanded-mobile-menu li ul.sub-menu li a:focus,
  .expanded-mobile-menu li ul.children li a:hover,
  .expanded-mobile-menu li ul.children li a:focus {
    background: var(--kmps-navy, #192036);
  }

  .menu li:hover ul,
  .menu li.focused ul,
  .no-js .menu li:hover ul,
  .no-js .menu li.focused ul,
  .expanded-mobile-menu li:hover ul,
  .expanded-mobile-menu li.focused ul {
    min-height: 8em;
    max-height: 100em;
    padding: 0.4em 0;
    opacity: 1;

    -webkit-transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-out, opacity .5s ease-out;
    -moz-transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-out, opacity .5s ease-out;
    -o-transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-out, opacity .5s ease-out;
    transition: max-height .5s ease-in, min-height .5s ease-out, padding .5s ease-out, opacity .5s ease-out;
  }

  .menu li:hover ul ul,
  .menu li.focused ul ul,
  .no-js .menu li:hover ul ul,
  .no-js .menu li.focused ul ul,
  .expanded-mobile-menu li:hover ul ul,
  .expanded-mobile-menu li.focused ul ul {
    min-height: 0;
    padding: 0;
  }
}

/* =========================
   KRESKA I PASEK Z DATĄ
========================= */

.nav-kreska {
  background: var(--kmps-menu-dark, #252525);
  width: 100%;
  max-width: 1200px;
  height: 1px;
  position: relative;
  margin: 0 auto;
}

.marquee {
  background: var(--kmps-menu, #343434);
  padding: 5px 0;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  animation: marquee 30s linear infinite;
  -webkit-animation: marquee 30s linear infinite;
  color: #ffffff;
  font-size: 1.25em;
  position: relative;
  text-shadow: 1px 1px 1px #000000;
}

@keyframes marquee {
  0% { text-indent: 1024px; }
  100% { text-indent: -820px; }
}

@-webkit-keyframes marquee {
  0% { text-indent: 1024px; }
  100% { text-indent: -820px; }
}

@media all and (max-width: 480px) {
  .marquee {
    font-size: 1.05em;
  }
}
