    :root{
        --neo-green: #00b050;
        --neo-blue: #0070c0;
        --neo-yellow: #ffd000;
        --neo-white: #ffffff;
        --neo-grey: #f4f4f4;
        --neo-dark-grey: #111111;
        --neo-black: #000000;
        --neo-red: #ff9d9d;
    }
    .neo-green{
        color: var(--neo-green);
    }
    .neo-blue{
        color: var(--neo-blue);
    }
    .__missing-values:not(.__not-edited){
        background-color: var(--neo-red);
    }
    a{
        color: var(--neo-black);
        text-decoration: underline;
    }
    a:hover{
        opacity: 0.7;
        transition: 0.5s;
    }
    section.dark a{
        color: var(--neo-white);
    }

    /* ************************ */
    button.swal2-confirm{
        color: black;
    }
    /* ************************ */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: Arial, Helvetica, sans-serif;
    }

    body, html {
      height: 100%;
    }

    /* Video pozadí */
    .hero {
      position: relative;
      height: 100vh;
      overflow: hidden;
      color: var(--neo-white);
    }

    /* Slideshow pozadí */
    .slideshow {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      z-index: -2;
    }

    .slideshow img {
      position: absolute;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      /*animation: slideShow 25s infinite;*/
      animation: slideShow 15s infinite;
    }

    .slideshow img:nth-child(1) { animation-delay: 0s; }
    .slideshow img:nth-child(2) { animation-delay: 5s; }
    .slideshow img:nth-child(3) { animation-delay: 10s; }
    /*.slideshow img:nth-child(4) { animation-delay: 15s; }*/
    /*.slideshow img:nth-child(5) { animation-delay: 20s; }*/

    @keyframes slideShow {
      0% { opacity: 0; }
      10% { opacity: 1; }
      20% { opacity: 1; }
      30% { opacity: 0; }
      100% { opacity: 0; }
    }

    .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.55);
      z-index: -1;
    }

    /* Horní lišta */
    header {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      padding: 20px 40px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    nav ul {
      list-style: none;
      display: flex;
      gap: 30px;
    }

    nav a {
      color: var(--neo-white);
      text-decoration: none;
      font-weight: bold;
      transition: color 0.3s;
    }

    nav a:hover {
      color: var(--neo-yellow);
    }

    /* Logo vpravo */
    .logo {
      position: absolute;
      top: 30px;
      right: 40px; /* není úplně nalepené na roh */
      font-size: 24px;
      font-weight: bold;
      color: var(--neo-yellow);
    }

    /* Úvodní text */
    .hero-content {
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 20px;
    }

    .hero-content h1 {
      font-size: 72px;
      margin-bottom: 20px;
      display: flex;
      align-items: center;
      gap: 20px;
    }

    .hero-content p {
      font-size: 20px;
      max-width: 700px;
      line-height: 1.6;
    }

    @media (max-width: 768px) {
      .hero-content h1 {
        font-size: 34px;
      }

      nav ul {
        gap: 15px;
      }
    }

    /* ********************** */
    .section{
        padding: 80px 40px;
        margin:auto;;
    }

    .section.accent{
        background-color: var(--neo-grey);
    }

    .section.dark{
        background-color: var(--neo-dark-grey);
        color: var(--neo-white);
    }

    .section :is(p, ul){
        margin-top:15px;
        line-height:1.7;
    }

    .section ul{
        line-height: 2;
        list-style: inside;
    }

    .section :is(p:first-child, ul:first-child){
        margin-top:20px;   
    }

    .section .content{
        max-width:1100px;
        margin:auto;
    }

    .section .content.short{
        max-width: 600px;
    }

    #prace .grid{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
        gap:20px;
        margin-top: 40px;
    }

    #prace .grid .card img{
        width:100%;
        border-radius:8px;
    }

    #kontakt .flex{
        display:flex;
        flex-direction:column;
        gap:15px;
        margin-top:30px;
    }

    #kontakt form :is(input, textarea, button){
        padding: 12px;
    }

    #kontakt form button[type="submit"]{
        background-color: var(--neo-yellow);
        border:none;
        font-weight:bold;
        cursor:pointer;
    }

    #kontakt .grid{
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:20px;
        margin-top:40px;
    }

    #kontakt .grid div{
        margin: auto;
    }

    .loaderProgressBarDots::after{
        content: "...  ";
        animation-name: dots;
        animation-duration: 2s;
        animation-iteration-count: infinite;
    }
    @keyframes dots{
        0%{
            content: "...  ";
        }
        33%{
            content: " ... ";
        }
        66%{
            content: "  ..."
        }
        100%{
            content: "...  ";
        }
    }