html { scroll-behavior: smooth; }

body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  margin: 0;
  padding: 0;
  height: 100%;
}

:root { 
  --main-color: #cf000e; 
  --main-color66: #cf000e66; 
  --main-color88: #bf000d;
}

.color { color: var(--main-color); }
a, a:hover {  color: var(--main-color); }
.btn-main-color { background-color: var(--main-color); color: #fff; margin-left: auto; margin-right: auto;}
.btn-main-color:hover { color: #CCC; }
.white-overlay { background-color: #FFFFFFFF; filter: drop-shadow(0px 0px 6px #00000033); }
.white-text { color: #FFFFFF; }
.pull-center{ display: flex; justify-content: center; }

.mt-200 { margin-top: 200px; }
.mt-140 { margin-top: 140px; }
.mt-100 { margin-top: 100px; }
.mt-80 { margin-top: 80px; }
.mt-40 { margin-top: 40px; }
.mt-10 { margin-top: 10rem; }
.mb-40 { margin-bottom: 40px; }
.mb-10 { margin-bottom: 10px; }
.mt-6 { margin-top: 6rem; }
.mt-5 { margin-top: 5rem; }
.p-40 { padding: 40px; }
.p-20 { padding: 20px; }
.mt-20-vh { margin-top: 20vh; }
.pb-100 { padding-bottom: 100px; }

@media screen and (max-width: 768px) {
  .p-40 { padding: 15px; }
}

/* Animované pozadí */
.bg {
  background-image: url('../img/background-maina.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position-x: 90%;
  position: fixed;
  inset: 0;
  transform-origin: center;
  animation: bgPulse 10s ease-in-out infinite;
  z-index: -1;
}

@keyframes bgPulse {
    0% { transform: scale(1) translate(0, 0); }
    25% { transform: scale(1.05) translate(-5px, -5px); }
    50% { transform: scale(1.1) translate(0, -10px); }
    75% { transform: scale(1.05) translate(5px, -5px); }
    100% { transform: scale(1) translate(0, 0); }
}

/* Navigace - horni menu */
.nav-tabs li a { color: #777; }
.navbar {
  margin-bottom: 0;
  background-color: var(--main-color88);
  border: 0;
  opacity: 0.9;
}
.navbar li a, .navbar .navbar-brand { color: #ffffff !important; }
.navbar-nav li a:hover { color: #fff !important; font-weight: 600;}
.navbar-nav li.active a { color: #fff !important; background-color: #00000033 !important;}
.navbar-nav li { position: relative}
.navbar-nav li.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 5px; background-color: var(--main-color66); }
.navbar-default .navbar-toggle { border-color: transparent; }
.open .dropdown-toggle { color: #fff; background-color: #555 !important; }
.dropdown-menu li a { color: #000 !important; }
.dropdown-menu li a:hover { background-color: var(--main-color) !important; }

@media screen and (max-width: 768px) {
  .navbar { background-color: var(--main-color); opacity: 0.9; }
  .nav-tabs li a { color: #FFF; }
  .navbar li a, .navbar .navbar-brand { color: #FFF !important; }
}

/* Carousel */
.carousel { padding: 20px 160px; border: 5px solid #EFEFEF; }
.carousel-control.right, .carousel-control.left { background-image: none !important; }
.carousel-control-icon {
    width: 38px !important;
    height: 38px !important;
    background-color: var(--main-color);
    border-radius: 50%;
    line-height: 35px !important;
    font-size: 20px !important;
}
.carousel-control { width: 140px !important; }
.carousel-indicators li {
  width: 16px;
  height: 16px;
  border: 1px solid var(--main-color) !important;
}
.carousel-indicators .active {
  width: 18px;
  height: 18px;
  background-color: var(--main-color) !important;
}
.carousel-indicators { bottom: -44px; }

@media screen and (min-width: 768px) {
    .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: 0px !important; }
    .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: 0px !important; }
}

@media screen and (max-width: 768px) {
  .carousel-control { display: none; }
  .carousel { padding: 0; border: 0; margin-bottom: 60px; }
  .products-box h3,.products-box h4{ text-align: center; }
}


/* Obsah */
.products-box { padding: 0; }
.attachment { display: flex; align-items: center; margin-top: 40px; }
.attachment .icon { width: 24px; margin-right: 10px; }

.scroll-icon {
    width: 38px !important;
    height: 38px !important;
    background-color: #00000066;
    color: #FFF;
    padding-left: 2px;
    border-radius: 50%;
    line-height: 35px !important;
    font-size: 20px !important;
}

.bottom-bar {
  background-color: none;
  background-repeat: no-repeat;
  background-size: cover; 
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 1;
}

.footer {
  height: 130px;
  margin: 20px auto 0;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 20px;
  background-color: var(--main-color); color: #fff;
}

.top-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #000;
  box-sizing: border-box;
}

.middle-bar {
  margin: 0 auto;
  position: relative;
  background-image: url(../img/bg-w.jpg);
  background-position: bottom center;
  background-repeat: no-repeat;
  color: black;
  box-sizing: border-box;
  border-radius: 10px;
  z-index: 2;
}

.text-center{
  text-align: center;
}

.text-initial{
  text-align: initial;
}

@media screen and (max-width: 768px) {
  .middle-bar { border-radius: 0; }
  .bottom-bar { display: none; }
  .footer { max-width: 380px; }
}