/* 
  Custom styles for JUDr. Filip Geleta website
  © 2025 Advokátska kancelária JUDr. Filip Geleta. All rights reserved.

  Bootstrap framework © 2011–2025 Twitter, Inc.
  Licensed under MIT License
  https://getbootstrap.com
*/



html {
  scroll-behavior: smooth;
}

body {
  font-family: "Playfair Display", serif;
  font-size: 20px;
}

/* Fonts */

.playfair-font {
  font-family: "Playfair Display", serif;
}

.font-20 {
  font-size: 20px;
}

.font-30 {
  font-size: 30px;
}

.text-justify {
  text-align: justify;
}

.bg-dark-red {
  background-color: #021526 !important;
}

.icon-white path {
  fill: white;
}

.information-list {
  display: flex;         
  gap: 2rem;             
  padding-left: 0;
  margin: 0;     
  list-style: none;         
}

.navbar {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.carousel-item img {
  height: 100vh;
  object-fit: cover;
  border-bottom: 1px solid grey;

}

.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 200px;
  width: 100%;
  /* Original rgba: (25, 37, 41, 1) */
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(26, 26, 26, 1) 100%);

}

.hero-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
}

.hero-text {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
  padding: 1rem;
  max-width: 700px;
}

.hero-text-inner {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 2s ease, transform 2s ease;

}

.hero-text-inner.visible {
  opacity: 1;
  transform: translateY(0);
}

.hero-name {
  text-shadow:
    -2px -2px 0 black,
    2px -2px 0 black,
    -2px 2px 0 black,
    2px 2px 0 black;
}

.dropdown-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.section-scroll {
  scroll-margin: 10rem;
}

.sections-width {
  max-width: 1200px;
  margin: 0 auto;

}

/*About us */
.profil-image {
  height: 100%;
  border: solid 1px;
}


.service-item ul {
  margin-top: 1rem;
}

.service-item li {
  margin-bottom: 0.3rem;
}


.pricing-bg {
  background-color: rgb(0, 0, 82);
  clip-path: polygon(0 0, 100% 0%, 100% 71%, 0 100%);
  ;
  height: 500px;
  z-index: 0;
  /*border-top: 3px solid gray; */

}

.map-location {
  max-height: 250px;
  height: 250px;
  overflow: hidden;
}


#footer {
  position: relative;
}

@media (min-width: 992px) {

  :root {
    --banner-h: 40px;
    /* adjust to your real height */
  }

  .top-banner {
    position: sticky;
    inset: 0 0 auto 0;
    height: var(--banner-h);

    color: #fff;
    display: flex;
    align-items: right;
    justify-content: right;
    z-index: 1040;
    padding-top: 0.3rem;
    padding-right: 6rem;

    /* start in view */
    transform: translateY(0);
    opacity: 1;

    /* animate position & opacity */
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .banner-hidden {
    transform: translateY(-100%);
    opacity: 0;
  }

  .ms-lg-6 {
    margin-left: 6rem !important;
  }

  .navbar {
    background-color: rgba(33, 37, 41, 0) !important;
    border-bottom: 1px solid grey;
  }

  .navbar-scrolled {
    background-color: rgba(33, 37, 41, 1) !important;
  }

  .navbar-animated {
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition: padding 0.3s ease, background-color 0.5s ease;
  }

  .navbar-animated-scrolled {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .hero-text {
    top: 50%;
  }

  .starting_phrase_latin {
    display: inline;
    font-size: 38px;
    text-shadow:
      -2px -2px 0 black,
      2px -2px 0 black,
      -2px 2px 0 black,
      2px 2px 0 black;
  }

  .starting_phrase_normal {

    text-shadow:
      -2px -2px 0 black,
      2px -2px 0 black,
      -2px 2px 0 black,
      2px 2px 0 black;
  }

  .container-services {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }



  .service-item {
    transition: 1s;
  }

  .service-item:hover {
    background-color: rgba(255, 255, 255, 0.2);

  }

  .border-line-container {
    position: absolute;
    top: 100vh;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
  }

.border-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2.5rem;
  background: linear-gradient(
    to bottom,
    transparent 0%,      /* fully transparent at very top */
    #552121 20%,         /* fade in to solid */
    #552121 80%,         /* keep solid through most of the height */
    transparent 100%     /* fade out to transparent at bottom */
  );
  z-index: 1;
}

  .border-line-right {
    right: 0;
  }

  .border-line-left {
    left: 0;
  }

}

@media (max-width: 992px) {

  .sm-font-about{
    font-size: 18px;
  }

  .sm-alignment-left {
    text-align: left;
  }

  .top-banner {
    visibility: hidden;
  }

  .sm-navbar {
    background-color: rgba(0, 0, 0, 1) !important;
    transition: background-color 0.3s ease;
  }

  .sm-gap-3 {
    gap: 0.9rem !important;
  }

  .sm-font {
    font-size: 28px !important;
  }

  .sm-hide {

    font-size: 20px !important;
  }

  .hero-text {
    font-size: 20px;
    top: 50%;
  }

  .hero-name {
    padding-bottom: 1rem;
    ;
  }

  .hero-text {
    width: 70%
  }

  .hero-name {
    font-size: 25px;
    margin-top: 0.5rem !important;
    padding-bottom: 1rem !important;
  }

  .starting_phrase_latin {
    margin-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .starting_phrase_normal {
    margin-top: 1rem !important;
  }

@media (max-width: 768px) {
  .information-margin {
    margin-left: 0 !important;
  }
}

}