:root {
    --crna: #323232;
    --crnabez: #DDD7BB;
    --svjetlabez: #F2ECCD;
    --herogumb: #DDCD84;
    --smjergumb: #C12414;
    --hlace: #FF0000;
    --istaknuto: #3AABF4;
}

* {
    box-sizing: border-box;
}

p {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

/* Lato */
@font-face {
    font-family: "Lato";
    src: url('fonts/Lato/Lato-Regular.ttf') format('truetype'),
         url(fonts/Lato/Lato-Bold.ttf) format('truetype'),
         url(fonts/Lato/Lato-Black.ttf) format('truetype');
}

/* Playfair display */
@font-face {
    font-family: "Playfair Display";
    src: url(fonts/Playfair_Display/static/PlayfairDisplay-Black.ttf) format('truetype');
}

body {
    background-color: var(--crna);
    margin: 0;
    font-family: 'Lato', sans-serif;
}

.container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 2em;
}

.container-s {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 2em;
}

.nav-items {
    list-style-type: none;
    display: flex;
    gap: 2rem;
    font-family: "Lato", sans-serif;
    font-weight: 900;
    color: #fff;
    margin: 21px 0;
}

.nav-items li:last-child {
  margin-right: 0;
}

.nav-items a {
    text-decoration: none;
    color: white;
    font-size: 1rem;
}

.nav-items a:hover {
    color: var(--herogumb);
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0em 1em;
}

#logo {
    width: 5em;
}

.hero-content h1 {
    color: var(--svjetlabez);
    font-family: 'Playfair Display', serif;
    font-weight: 900;
    font-size: 5rem;
    padding-top: 0.2em;
    margin-bottom: 0.6em;
}

.hero-content h3 {
    color: white;
    font-family: 'Lato', sans-serif;
    margin-bottom: 1em;
}

.hero {
    display: flex;
    justify-content: space-between;
    padding-top: 1em;
    padding-bottom: 3em;
}

.hero-image {
    max-width: 100%;
}

.hero-image img{
    width: 100%;
    height: auto;
    display: block;
}

.cta-button {
    position: relative;
    background-color: var(--herogumb);
    color: #000;
    cursor: pointer;
    border: none;
    padding: 10px 30px;
    width: fit-content;
    margin-top: 6em;
}

.cta-button a {
    margin-top: 1em;
    text-decoration: none;
    color: black;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    width: 50px; 
}

#lijevi-svg {
    position: absolute;
    left: 5px;
    top: 5px;
}

#desni-svg {
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.uvod {
    background-color: var(--crnabez);
}

.podjela{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tradicija {
    background-color: var(--svjetlabez);
    text-align: center;
    font-family: 'Playfair Display', sans-serif;
    font-weight: 900;
    font-size: 4.875rem;
    padding-top: .6em;
    padding-bottom: .85em;
}

.tradicija > span {
    color: var(--istaknuto);
    font-size: 6rem;
}

.podjela .tekst {
    max-width: 36.875rem;
    margin-bottom: 3rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    
}

.card {
    height: fit-content;
    padding: 3em 1em;
    display: flex;
    justify-content: space-between;
}

.lottie-svg-wrapper {
    max-width: 300px;
}

lottie-player {
    width: 100%;
    height: 100%;
}

.usluge {
    padding: 3em 0;
}

.opis {
    color: white;
    line-height: 1.5rem;
    display: flex;
    padding: 0 1em;
}

.opis h3 {
    font-family: 'Playfair Display';
    font-size: 2rem;
    margin: 0;
    padding-bottom: 1.4em;
}

.opis p {
    margin: 0;
    padding: 0;
}

.skracivanje-parent {
    display: flex;
    justify-content: space-between;
}

/* šIRINA TEKSTA, OPIS USLUGA */
 .popravci, .zamjene, .skracivanje {
    max-width: 30em;
} 

.zamjene, .skracivanje {
    margin-left: 3em; 
}

.popravci {
    margin-right: 3em;
}

.hlace img {
    max-width: 100%;
}

.hlace {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background: var(--svjetlabez);
}

#sivo {
    width: 100%;
    padding: 1.25em;
    padding-bottom: 8em;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(5px);
    margin-top: -400px;
}

.hlace h2 {
    /* letter-spacing: -0.75em; */
    letter-spacing: -12px; 
    /* margin-bottom: -110px; */
    margin-bottom: -0.4em;
    font-size: 11.25rem;
    font-family: 'Playfair Display';
    font-weight: 900;
    color: #f00;
    padding: 0 2rem;
    line-height: 8rem;
}

#sivo-tekst {
    margin: 0 auto;
    max-width:  500px;
    color: #fff;
    padding: 2em 1em;
}

#sivo-tekst p {
    line-height: 1.5rem;
    font-weight: bold;
}

#brojevi {
    font-family: 'PlayFair Display';
    font-weight: 900;
    font-size: 1.25rem;
    margin-top: 2rem;
    color: rgb(255, 167, 167);
}

.lokacijaSlika {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;

}

#lokacija {
    padding-bottom: 5em;
}

.lokacija {
    position: relative;
}

.lokacija h2 {
    display: grid;
    justify-items: right;
    font-family: 'Playfair Display';
    font-weight: 900;
    color: #fff;
    font-size: 4.875rem;
    margin-bottom: 10px;
}

.pozicija {
    width: 50%;
    /* margin-right: -100px; */
    height: auto;
}

#frame {
    width: 40em;  
    height: 25em;
/*     margin-bottom: 50px; */
    box-shadow: 16px 16px 30px 0px #000000;
} 

#lokal {
    width: 27.5em;
    position: absolute;
    bottom: 0px;
    left: 130px;
    box-shadow: 16px 16px 30px 0px #000000;
}

.smjer-btn {
    display: flex;
    text-align: center;
    gap: 10px;
    padding: .6em 2em;
    background-color: #C12414;
    align-items: center;
    font-family: 'Playfair Display';
    font-weight: 900;
}

.parent-btn {
    display: flex;
    justify-content: flex-end;
}

.smjer-btn a {
    text-decoration: none;
    color: white;
    width: fit-content;
}

.gallery {
    background-color: var(--svjetlabez);
    padding-bottom: 5em;
}

.gallery h2 {
    color: #000;
    font-family: 'Playfair Display';
    font-weight: 900;
    font-size: 4.875rem;
    padding-top: 0.5em;
    padding-bottom: 0;
    margin-bottom: 10px;
}

.angry-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.angry-grid {
    display: grid; 
    grid-template-rows: repeat(7, 134px); /* Each row will have a height of 124px */
    grid-template-columns: repeat(7, 134px); /* Each column will have a width of 124px */
    gap: 1em;
 
 }
   
 #item-0 {

    background-color: #FBEF8A; 
    grid-row-start: 1;
    grid-column-start: 1;
 
    grid-row-end: 4;
    grid-column-end: 3;
    
 }
 #item-1 {
 
    background-color: #BAC7C7; 
    grid-row-start: 1;
    grid-column-start: 3;
 
    grid-row-end: 3;
    grid-column-end: 5;
    
 }
 #item-2 {
 
    background-color: #7C5FDB; 
    grid-row-start: 1;
    grid-column-start: 5;
 
    grid-row-end: 3;
    grid-column-end: 8;
    
 }
 #item-3 {
 
    background-color: #F5B765; 
    grid-row-start: 3;
    grid-column-start: 3;
 
    grid-row-end: 6;
    grid-column-end: 5;
    
 }
 #item-4 {
 
    background-color: #8599D7; 
    grid-row-start: 4;
    grid-column-start: 1;
 
    grid-row-end: 6;
    grid-column-end: 3;
    
 }
 #item-5 {
 
    background-color: #7AEDCF; 
    grid-row-start: 3;
    grid-column-start: 5;
 
    grid-row-end: 6;
    grid-column-end: 8;
    
 }
 #item-6 {
 
    background-color: #79FE7D; 
    grid-row-start: 6;
    grid-column-start: 1;
 
    grid-row-end: 8;
    grid-column-end: 4;
    
 }
 #item-7 {
 
    background-color: #9E977D; 
    grid-row-start: 6;
    grid-column-start: 4;
 
    grid-row-end: 8;
    grid-column-end: 8;
 }

 .foot {
    display: flex;
    justify-content: space-between;
    padding-top: 2em;
    color: white;
    font-family: 'Lato';
    font-weight: 900;
    padding-bottom: 8rem;
 }

 .foot-left {
    display: flex;
    gap: 3rem;
 }

 .foot-left p {
    padding: 0px;
    margin: 0px;
    font-size: 0.9rem;
 }

 .foot-left a {
    text-decoration: none;
    color: #fff;
    font-size: .9rem;
    
 }

 #autorska {
    text-align: center;
 }
 
 #autorska small {
    text-align: center;
    color: #8e8e8e;
    font-weight: bold;
    font-size: 0.8rem;
 }

 .hamburger-menu {
    display: none;
    cursor: pointer;
 }

 .hamburger-menu span {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px;
    background-color: var(--herogumb);
    transition: transform 0.3, opacity 0.3s;
 }

#hlace {
    max-width: 100%;
    overflow: hidden;
}

#hlace img {
    display: block;
    width: 100%;
    height: auto;
}
 
@media screen and (max-width: 600px) {
    
    p {
        font-size: 1rem;
    }

    .hero {
        flex-direction: column;
    }

    .hero-image {
        margin-top: 1em;
        display: flex;
        justify-content: flex-end;
    }

    .hero-image img {
        max-width:20em;
        height: auto;
        display: block;
    }
    .hero-content h3 {
        font-size: 1rem;
    }

    .cta-button {
        margin-top: 2em;
    }

    .tradicija {
        font-size: 1.5rem;
    }

    .tradicija span {
        font-size: 1.85rem;
    }
}

@media screen and (max-width: 650px) {


/*     Za footer */

    .foot-left {
        flex-direction: column;
        gap: 0.1rem;
    }

    .angry-grid {
        grid-template-columns: none;
    }

    .gallery-wrapper {
        margin: 0 auto;
        max-width: 400px;
    }

   #item-1 {

    background-color: #BAC7C7; 
    grid-row-start: 4;
    grid-column-start: 1;
 
    grid-row-end: 6;
    grid-column-end: 3;
    
   } 

   #item-3 {
    background-color: purple;
    grid-row-start: 6;
    grid-column-start: 1;

    grid-row-end: 9;
    grid-column-end: 3;
   }

   #item-4 {
    background-color: white;
    grid-row-start: 9;
    grid-column-start: 1;

    grid-row-end: 11;
    grid-column-end: 3;
   }

   #item-6, #item-6 img {
    display: none;
   }
}

 /* Responsive styles for smaller screens */
@media screen and (max-width: 767px) {

    .gallery h2 {
        font-size: 4rem;
    }

    .parent-btn {
        padding-top: 10px;
    }
    .lokacijaSlika {
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-end;
    }


#lokacija {
    padding-bottom: 1em;
}

.lokacija {
    position: static;
    max-width: 100%;
}

.lokacija h2 {
    font-size: 4rem;
    margin-top: 1.2rem;
}

.pozicija {
    width: 50%;
    height: auto;
}

#frame {
    width: 100%;
    height: 25em; 
    box-shadow: 16px 16px 30px 0px #000000;
} 


#lokal {
    width: 100%;
    bottom: 0px;
    left: 0px;
    position: static;
    box-shadow: 16px 16px 30px 0px #000000;
}

    .lottie-svg-wrapper {
        align-self: flex-start; 
        padding: 0 1em;
        max-width: 480px; 
    }  

    .card {
        flex-direction: column;
        max-width: 480px;
    }


    .zamjene, .popravci, .skracivanje {
        margin: 0px;
    }

    .card:nth-last-of-type(2) {
        flex-direction: column-reverse;
    }


    .opis, lottie-player, .usluge {
        margin: 0 auto;
    }

    .opis h3 {
        padding-top: .8em;
    }


    #xxl h2 {
        font-size: 3rem;
        line-height: 1rem;
    }

    #sivo {
        padding-bottom: 9.5em; 
    }

    #sivo-tekst p {
        font-size: 1rem;
        color: #000;
    }

    #brojevi {
        font-size: 1rem;
        color: #fff;
    }

  .nav-items {
    display: none; /* Hide regular navigation items on smaller screens */
    flex-direction: column;
    align-items: flex-end;
    position: fixed;
    top: 38px;
    right: 0;
    height: 100vh;
    background-color:var(--crnabez);
    box-shadow: -2px 0 4 rgba(0, 0, 0, 0.1);
    z-index: 99;
    padding-top: 60px;
    width: 220px;
    transition: transform 0.3s ease-in-out;
  }

  .hamburger-menu {
    display: block; /* Display the hamburger menu */ 
  }

  .nav-items.show {
    display: flex; /* Show the navigation items as flex elements */
  }

  .nav-items.show a {
    color: var(--crna);
    padding-right: 10px;
  }

  .nav-items.show a:hover {
    color: var(--smjergumb);
  }

  .hamburger-menu.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
    color: var(--crna);
  }


  .hamburger-menu.active span:nth-child(2) {
    opacity: 0;
    color: var(--crna);
  }

  .hamburger-menu.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
    color: var(--crna);
  }

  .hero-content h2 {
    font-size: 3rem;
  }

  .podjela {
    flex-direction: column;
  }

  #konci {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 1100px) {

    .hlace h2 {
        letter-spacing: -12px; 
        margin-bottom: .5em;
        margin-top: 0.5em;
        font-size: 9rem;
        font-family: 'Playfair Display';
        font-weight: 900;
        color: #f00;
    }


    #item-2 img, #item-2, #item-5 img, #item-5,  #item-7 img, #item-7 {
        display: none;
    }

    .angry-grid, .gallery h2 {
        max-width: 590px;
        margin: 0 auto;
    }

    #item-2, #item-5, #item-7 {
        
        grid-row-start: 0;
        grid-column-start: 0;
    
        grid-row-end: 0;
        grid-column-end: 0;
    }

    #item-6 {
        grid-row-start: 6;
        grid-column-start: 1;
    
        grid-row-end: 9;
        grid-column-end: 5;
    }

    .tradicija {
        font-size: 3rem;
        padding: 2rem;
    }

    .tradicija span {
        font-size: 2.4375rem;
    }
}
