:root {
  --bs-primary: #235ca7;
  --bs-success: #98c33c;
  --blue-txt: #235ca7;
  --blue-title: #1f64b0;
  --nav-txt: fff;
  --nav-selected: #59ccfe;
  --nav-contact: #44a1e3;
  --nav-login: #ff9600;
  --features-title1: #a3cafd;
  --features-title2: #6faaf8; 
  --features-title3: #3a7bd2;
  --nav-bg: #042196;
  --footer-bg: #2d3742;
  --footer-ico-bg: #222931;
  --footer-txt: #ccc;
}
.text-primary {
  color: var(--bs-primary) !important;
}
.text-success {
  color: var(--bs-success) !important;
}
.text-primary {
  color: var(--bs-primary) !important;
}
.text-danger {
  color: var(--nav-login) !important;
}

.gold {
  color: var(--nav-login) !important;
}
.btn-success {
  background-color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
  color: #fff;
}
.btn-success:hover, .btn-success:focus {
  background-color: #7ea32e !important;
  border-color: #7ea32e !important;
}


/* Flash zprávy */
.flash-container {
  position: absolute;
  top: 5rem;
  right: 15vw;
  width: 70vw;
  padding: 0.5rem 1rem;
  z-index: 9999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.flash-container .alert {
  margin-bottom: 5px; /* Mezera mezi alertami */
}


/* Zobrazení filtru v datagridu*/
.filterOpen {
  display: table-row;
}

.filterClose {
  display: none;
}

/* zobrazení validačních chyb ve formech */
ul.errors > li {
  color: var(--bs-danger);
  font-weight: bold;
}

/*--- Header ---*/
.hero-section {
  color: #fff;
  position: relative;
}
.hero-section.lg {
  background: url('/assets/images/banner-hero-bg.jpg') center center/cover no-repeat;
  padding: 10px 0 120px 0;
}
.hero-section.sm {
  background: url('/assets/images/banner-hero-sm-bg.jpg') center center/cover no-repeat;
  padding: 10px 0 60px 0;
}
.hero-section .header-logo {
  height: 100px;
  margin-top: -20px;
}
.header-contact {
  color:var(--nav-contact);
}
.header-nav{
  min-width: 496px;
}
.header-nav a { 
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  margin: 0 7px;
}
.header-nav .selected, a:hover {
  color:var(--nav-selected);
}

.header-nav a.login {
  color: var(--nav-login);
}
.header-nav a.login:hover {
  color: color-mix(in srgb, var(--nav-login), white 20%);
}
.header-bg {
  background: transparent;
  transition: background 0.3s;
}

.header-bg.scrolled {
  background: var(--nav-bg);
  opacity: 0.95;
}

@media (max-width: 991.98px) {
  header {
    position: relative;
    z-index: 20;
  }
  .header-nav {
    flex-direction: column !important;
    background: var(--footer-bg, #2d3742);
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    border-radius: 0 0 8px 8px;
    padding: 1rem 1.5rem;
    z-index: 1000;
    text-align: right;
  }
  .header-nav a {
    margin: 0.5rem 0;
    display: block;
  }
  .header-nav.mobile-nav-open {
    display: flex !important;
  }
  .navbar-toggler {
    display: block !important;
    background: none;
    border: none;
    font-size: 2rem;
  }
  .navbar-toggler-icon {
    display: inline-block;
    width: 2em;
    height: 2em;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255,255,255,0.7%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
  }
}
@media (max-width: 1200px) {
  .header-contact {
    display: none !important;
  }
  .header-nav {
    margin-left: 100px;
  }
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-top: 120px;
}
.login-form {
  max-width: 320px;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  padding: 30px 25px;
}
.section-white {
  background: #fff;
  padding-top: 60px;
}
.section-grey {
  background: url('/assets/images/banner-truck-bg.jpg') center center/cover no-repeat;
  padding: 60px 0 40px 0;
}

/*--- Articles ---*/
.feature {
  overflow: visible;
  position: relative;
  text-align: center;
}
.feature-card {
  overflow: visible;
  position: relative;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  padding: 48px 16px 0px 16px;
  text-align: center;
  top: -15px;
}
.feature .icon-circle-shadow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: relative;
  margin-top: -30px;
  z-index: 2;
}
.feature .icon-circle-shadow.feature1 {
  background: var(--features-title1);
  box-shadow: 0 5px 0 5px rgba(163,202,253,0.5); /* kompabilita se staršímé prohléžeči */
  box-shadow: 0 5px 0 5px color-mix(in srgb, var(--features-title1), white 50%);
}
.feature .icon-circle-shadow.feature2 {
  background: var(--features-title2);
  box-shadow: 0 5px 0 5px rgba(111,170,248,0.5); /* kompabilita se staršímé prohléžeči */
  box-shadow: 0 5px 0 5px color-mix(in srgb, var(--features-title2), white 50%);
}
.feature .icon-circle-shadow.feature3 {
  background: var(--features-title3);
  box-shadow: 0 5px 0 5px rgba(58,123,210,0.5); /* kompabilita se staršímé prohléžeči */
  box-shadow: 0 5px 0 5px color-mix(in srgb, var(--features-title3), white 50%);
}
.feature .icon-circle-shadow.feature4 {
  background: var(--blue-txt);
  box-shadow: 0 5px 0 5px rgba(35,92,167,0.5); /* kompabilita se staršímé prohléžeči */
  box-shadow: 0 5px 0 5px color-mix(in srgb, var(--blue-txt), white 50%);
}
.feature .icon-svg {
  color: #ffffff;
  width: 50px;
  height: 50px;
  display: block;
}
.feature-card h5 {
  font-size: 1rem;
  padding: 10px;
  margin-left: -25px;
  border-radius: 6px;
  color: var(--blue-txt);
} 

.feature-card h5.feature1{
  background: linear-gradient(to right, var(--features-title1) 0 10px, rgb(225,225,225) 10px 100%); 
}
.feature-card h5.feature2{
  background: linear-gradient(to right, var(--features-title2) 0 10px, rgb(225,225,225) 10px 100%); 
}
.feature-card h5.feature3{
  background: linear-gradient(to right, var(--features-title3) 0 10px, rgb(225,225,225) 10px 100%); 
}
.feature-card h5.feature4{
  background: linear-gradient(to right, var(--blue-txt) 0 10px, rgb(225,225,225) 10px 100%); 
}

/*--- D4K ---*/
.hover-shadow {
  transition: box-shadow 0.3s;
}
.hover-shadow:hover {
  box-shadow: 0 4px 16px 0 rgba(180,180,180,0.25);
  z-index: 2;
  position: relative;
}
.hover-shadow:hover img {
  filter: brightness(1.05);
  transition: filter 0.3s;
}

/*--- Articles ---*/
.card-body .card-title a {
  color:var(--blue-title)
}
.card-body .card-title a:hover {
  color:var(--features-title2);
}
.article-img {
  width: 100%;
  object-fit: cover;
  max-height: 140px;
  border-radius: 0 !important;
}
.banner-ksh {
  padding-bottom: 0.5rem;
}

/*--- Footer ---*/
.footer {
  background: var(--footer-bg);
  color: var(--footer-txt);
  padding: 50px 0 0 0;
}
.footer h5 {
  color: white;
}
.footer a {
  color: var(--footer-txt);
  text-decoration: underline;
}
.footer a:hover {
  color: white;
  text-decoration: none;
}
.footer-links {
  list-style-type: disc;
  padding-left: 1.2em;
  margin-bottom: 1rem;
}
.footer .ico-social {
  width: 35px;
  height: 35px;
  border-radius: 25%;
  background: var(--footer-ico-bg);
}

.footer-bottom {
  padding: 15px 0 100px 0;
  text-align: right;
}

.footer-year-bg {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.footer-year-bg .year-bg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 5rem;
  color: #bbb;
  opacity: 0.18;
  font-weight: bold;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  z-index: 0;
}