/* Grundläggande styling */
// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 100 to 900

.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #cec1b1;
}

html {
    scroll-behavior: smooth; /* Aktivera smidig skrollning för hela sidan */
}

p {
    font-size: 16px;                  /* Sets the font size */
    color: #333;                      /* Sets the text color */
    line-height: 1.6;                 /* Adjusts line spacing */
}

/* Navbar styling */
nav {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
	display: flex;
    align-items: center;
	transition: background-color 1s ease, box-shadow 1s ease;
}
.navBackground{
    width: 100%;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0); /* Transparent bakgrund först */
	display: flex;
    justify-content: space-between; /* Placera element på vänster och höger sida */
    align-items: center;
    padding: 10px 15px;
	box-sizing: border-box; /* Gör att padding inte påverkar elementens bredd */
}

/* Navbar efter scroll */
nav.scrolled .navBackground {
    background-color: rgba(255, 255, 255, 0.6); /* Vit bakgrund efter scroll */
    backdrop-filter: blur(8px);
    box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.1); /* Lätt skugga */
}


/* Hamburgermeny (synlig på alla skärmar) */
.menu-icon {
    display: flex;
    align-items: center;
    flex: 0 0 auto; /* Fixerar hamburgermenyens storlek */
    margin-right:57px;
}

.menu-icon img {
    width: 40px;
    height: 40px;
    cursor: pointer;
}

/* Länkarna är dolda tills hamburgermenyn öppnas */
.nav-links {
    list-style: none; /* Ta bort punktlistor (bullets) */
	padding: 0; /* Ta bort standardutfyllnad */
    margin: 0; /* Ta bort standardmarginal */
	display: block; /* Behöver block för att kunna använda höjd */
    max-height: 0; /* Initialt dold med höjd 0 */
    opacity: 0; /* Osynlig från början */
    overflow: hidden; /* Döljer innehåll när höjden är 0 */
    transition: max-height 0.6s ease, opacity 0.1s ease; /* Transition för höjd och opacitet */
    flex-direction: column;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* Klassen som visas när menyn öppnas */
.nav-links.show {
    max-height: 500px; /* Öppnar menyn med en maxhöjd */
    opacity: 1; /* Gör länkarna synliga */
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(8px);
}


.nav-links li {
    text-align: center;
    margin: 30px 0;  /* Ökar avståndet mellan länkarna */
}
.nav-links li a {
    text-decoration: none;
    color: black;
    font-weight: bold;
    padding: 15px 20px; /* Ökat padding för större klickyta */
    font-size: 20px; /* Större textstorlek för länkarna */
}

.nav-links li a:hover {
    text-decoration: underline;
}

/* Logga i mitten */
.logo-container {
    flex: 1; /* Ger loggan flexibilitet att centrera mellan menyn och ikonerna */
    display: flex;
    justify-content: center;
}

.logo-container img {
    /*display: none; /* Dölj loggan vid sidladdning */
    width: 180px;
    height: auto;
    transition: display 0.6s ease;
}

nav.scrolled .logo-container img {
    display: block; /* Visa loggan efter scroll */
}

/* Ikoner för Instagram och Google karta */
.icon-links {
    display: flex;
    align-items: center;
	justify-content: flex-end; /* Håll ikonerna vid höger kant */
}

.icon-links a {
    margin-left: 15px; /* Ge avstånd mellan ikonerna */
}

.icon-links img {
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.google-map {
    filter: grayscale(100%) contrast(140%);
}


@media (max-width: 1000px) {
.menu-icon img {
    width: 35px;
    height: 35px;
}

.logo-container img {
    /*display: none; /* Dölj loggan vid sidladdning */
    width: 140px;
}

.icon-links img {
    width: 35px;
    height: 35px;
}

}
/* Hero section ---------------------------------------------------------------------------------------------------------------------*/
#hero {
    position: relative; /* Behåll innehållet ovanpå videon */
    height: 100vh; /* Sätt hero-sektionens höjd */
    background-size: center; /* Ser till att bilden täcker hela ytan */
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    padding: 20px;
}

/* Ställ in video som bakgrund */
#hero video {
    position: absolute; /* Placera videon bakom allt innehåll */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Gör så att videon täcker hela ytan utan att ändra proportionerna */
    z-index: -1; /* Gör så att videon är i bakgrunden */
}

/* Hero content - centrerad text och knapp i en transparent rektangulär bakgrund */
.hero-content {
    background-color: rgba(0, 00, 0, 0.3); /* Mörk transparent bakgrund */
    padding: 20px 40px; /* Utrymme inuti rektangeln */
    border-radius: 20px; /* Rundade hörn (valfritt, kan tas bort om du vill ha skarpa hörn) */
    max-width: 600px; /* Begränsar bredden så att innehållet inte blir för stort */
}

#hero h1 {
    font-size: 2.5rem;
    margin-bottom: 20px;
}

#hero p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

#hero button {
    padding: 10px 20px;
    background-color: #cec1b1;
    color: white;
    border: none;
    cursor: pointer;
	border-radius: 10px;
	transition: background-color 0.5s ease;
}

#hero button:hover {
    background-color: #794D00;
}

/* Introduktion sektion ------------------------------------------------------------------------------------------------------------------*/
#introduction {
    background-color: white;
    padding: 40px 40px;
}

/* Containern som håller bilden och texten */
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0px auto; /* Centerar containern */
    gap: 20px; /* Mellanrum mellan bilden och texten */
    flex-wrap: wrap; /* Gör att de staplas på varandra på små skärmar */
}

/* Bild div */
.image-container {
    max-width: 500px;
    overflow: hidden; /* Förhindrar att bilden sticker ut vid skalning */
    border-radius: 10px;
    opacity: 0; /* Osynlig till en början */
    transform: translateY(100px); /* Flyttad lite nedåt */
    transition: opacity 1s ease-out, transform 1s ease-out; /* Transition för mjuk fade och rörelse */
}

.image-container.visible {
    opacity: 1; /* Fullt synlig när den kommer in i viewport */
    transform: translateY(0); /* Flytta tillbaka till ursprunglig position */
}

.image-container img {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 10px;
    transition: transform 2s ease; /* Förbered för hover-effekt */
}

.image-container img:hover {
    transform: scale(1.1); /* Förstora bilden när musen hover över den */
}

/* Text div */
.text-container {
    max-width: 500px;
    padding: 10px 20px;
    box-sizing: border-box;
    background-color:#cec1b1;
    margin-right: -100px;
    z-index: 2;
}

.text-container h2 {
    font-size: 28px;
    margin-bottom: 15px;
    color: #333;
}

.text-container p {
    color: #555;
    line-height: 1.6;
}

/* Responsiv design för mobiler */
@media (max-width: 1000px) {
    .container {
        flex-direction: column; /* Stapla divarna ovanpå varandra */
        align-items: center; /* Centrera innehållet */
        padding-top: 0px;
    }

    .text-container {
        max-width: 100%; /* Divarna tar upp 100% av bredden */
    }

    .image-container {
        max-height: 400px;
    }

    .image-container img {  
        top: -100px;
    }

    .text-container {
        padding: 20px 20px; /* Minska padding för text på mobiler */
        margin-right:0;    
        background-color:white;
    }

    .text-container h2 {
        font-size: 24px; /* Minska rubrikens storlek på små skärmar */
    }

    .text-container p {
        font-size: 14px; /* Minska textstorleken på små skärmar */
    }
}

/* Menysektionens bakgrundsfärg -------------------------------------------------------------------------------------------------------- */
#menu-section {
    background-color: #cec1b1;
    padding: 60px 20px; /* Padding uppifrån och ner */
    text-align: justify;
}

/* Centrera container och styla den */
.menu-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto; /* Centrera container */
    gap: 40px;
    flex-wrap: wrap; /* Gör den responsiv för mindre skärmar */
}

/* Textdiven med rubrik och text */
.menu-text {
    max-width:600px;
    flex: 1;
    text-align: justify;
}

.menu-text h2 {
    font-size: 32px;
    margin-bottom: 15px;
    margin-top:-5px;
    color: #333;
}

.menu-text p {
    color: #555;
    margin-bottom: 20px;
}

/* Div för knapparna */
.menu-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.menu-button {
    padding: 12px 20px;
    background-color: #333;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

.menu-button:hover {
    background-color: #575757;
}

/* Bilddiven */
.menu-image {
    flex: 1;
    text-align: center;
    align-items: center;
    max-width: 500px;
}

.menu-image img {
    max-width: 100%;
    border-radius: 10px;
}

/* Responsiv design för mobiltelefoner */
@media (max-width: 1000px) {
    .menu-container {
        flex-direction: column; /* Gör container vertikal på mobiler */
        text-align: center;
    }

    .menu-text {
        text-align: center;
    }

    .menu-buttons {
        justify-content: center;
    }

    .menu-image {
        margin-top: 20px; /* Lägg till lite avstånd mellan texten och bilden */
        order:2;
    }
}

/* Section catering -------------------------------------------------------------------------------------------------------- */
#catering-section {
    background-color: white;
    padding: 40px 20px;
}

/* Container for the catering content */
.catering-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
}

/* Styling for the introductory text */
.catering-intro {
    font-size: 18px;
    color: #333;
    text-align: justify;
    max-width: 600px;
}

/* Container for the image and testimonial */
.catering-testimonial {
    display: flex;
    justify-content: center;
    width: 100%;
    position: relative;
}

/* Image div */
.catering-image {
    position: relative;
    max-height: 500px;
    width: 100%;
    max-width: 500px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.catering-image img {
    width: 100%;
    height: auto;
    position: center;
    scale:1.1;
}

/* Testimonial div that overlaps the image */

.testimonial {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background-color: rgba(255, 255, 255, 0.1);
    padding: 10px;
    color: #555;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-width: 70%; /* Ensure it doesn't cover too much of the image */
    transform: translateY(-100px); /* Flyttad lite uppåt */
    transition: background-color 1s ease-out, transform 1s ease-out; /* Transition för mjuk fade och rörelse */
}

.testimonial p{
    font-size:12px;
    text-decoration: none;
}

.referens{
    float: right;
    Margin-top: -10px;
    margin-buttom:-10px;
}

.testimonial.visible {
    background-color: rgba(255, 255, 255, 0.9); /* Fullt synlig när den kommer in i viewport */
    transform: translateY(0); /* Flytta tillbaka till ursprunglig position */
}

/* Responsive adjustments */
@media (max-width: 1000px) {
    .catering-container {
        gap: 20px;
        flex-direction: column;
    }

    .testimonial {
        font-size: 12px;
        bottom: 10px;
        right: 10px;
        max-width: 70%;
    }
}

/*Instagram section--------------------------------------------------------------------------------------------------------*/
.instagram-header h2 {
    margin: 20px;
}

/* Footer */
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px;
}

/* Responsive Design for Mobile */
@media (max-width: 768px) {
    #hero h1 {
        font-size: 2rem;
    }

    #hero p {
        font-size: 1rem;
    }

    #hero button {
        padding: 8px 16px;
    }

    #content h2 {
        font-size: 1.5rem;
    }

    #content p {
        font-size: 1rem;
    }
}

/* Larger screens */
@media (min-width: 1200px) {
    #hero h1 {
        font-size: 3rem;
    }

    #content h2 {
        font-size: 2.5rem;
    }
}

/* Styling for the Instagram section ----------------------------------------------------------------------------------------------------*/
#instagram-section {
    padding: 40px;
    background-color: #fafafa; /* Light background color for contrast */
    text-align: center;
}

.instagram-header {
    margin-bottom: 20px;
}

.instagram-header h2 {
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: bold;
}

.follow-button {
    background-color: #333; /* Instagram blue */
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    transition: background-color 0.6s ease;
}

.follow-button:hover {
    background-color: #575757; /* Darker on hover */
}

/* Instagram posts container */
.instagram-posts {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px; /* Space between the Instagram posts */
}

/* Each post should take up equal space */
.post {
    flex: 1 1 calc(20% - 20px); /* Five posts, 20% of the width each */
    max-width: 20%;
}

/* Responsive design for mobile */
@media (max-width: 1000px) {
    .post {
        flex: 1 1 calc(33.33% - 20px); /* On mobile, show three posts in a row */
        max-width: 33.33%;
    }
}


/* Section Slider --------------------------------------------------------------------------------------------------*/
#image-slider {
    background-color: #cec1b1;
    padding: 40px 20px;
    position: relative;
    overflow: hidden;
}

/* Slider container styling */
.slider-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Styling the image track to create the sliding effect */
.image-track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 10px;
}

.image-track img {
    width: 100%;
    max-width: calc(100% / 4 - 20px); /* Show 4 images by default */
    height: auto;
    border-radius: 10px;
}

/* Arrows for navigation */
.arrow {
    position: absolute;
    width:25px;
    top: 50%;
    font-size: 24px;
    text-align:center;
    color: black;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    transform: translateY(-50%);
    user-select: none;
    z-index: 10;
}

.left-arrow {
    left: 15px;
}

.right-arrow {
    right: 15px;
}
/* Instagram button styling */
.instagram-button-container {
    text-align: center;
    margin-top: 35px;
}

.instagram-button {
    padding: 12px 20px;
    background-color: #333;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

.instagram-button:hover {
    background-color: #575757;
}


/* Responsive styling: Show 3 images on screens smaller than 1000px */
@media (max-width: 1000px) {
    .image-track img {
        max-width: calc(100% / 2 - 10px); /* Show 3 images */
    }
    .arrow {
    width:20px;
    font-size: 20px;
    }
}


/* Contact section ------------------------------------------------------------------------------------------------------------*/
#contact-section {
    background-color: white;
    padding: 60px 20px;
    text-align: center;
}

/* Container för kontaktinformation och karta */
.contact-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    gap: 40px;
    flex-wrap: wrap;
}

/* Kontaktinformationen */
.contact-info {
    flex: 1;
}

.contact-info h2 {
    font-size: 32px;
    margin-bottom: 10px;
    color: #333;
    text-align: left;
}

.contact-info p {
    text-align: left;
    margin-bottom:20px
}

.contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.contact-item img {
    width: 40px;
    height: 40px;
    margin-right: 15px;
}

.contact-item p {
    color: #555;
    text-align: left;
}

/* Google Map-stil */
.map {
    flex: 1;
}

.map iframe {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Responsiv design för mindre skärmar */
@media (max-width: 1000px) {

    .contact-container {
        flex-direction: column;
        text-align: center;
        
    }

    .map {
        margin-top: 20px;
        width: 80%;
    }
}

.footer{
    color:white;
}