@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    min-width: 900px;
    max-width: 2000px; 
    margin: 0;
}

nav {
    position: fixed;
    width: 100%;
    animation: appear2 1s;
    animation-timing-function: ease-in-out;
}

nav ul {
    list-style-type: none; /* Remove bullet points */
    display: flex; /* Use flexbox for layout */
}

nav li {
    margin-right: 95px; /* Space between navigation items */
    font-size: 23px;
}

nav a {
    color: #FFFFFF;
    text-decoration: none; /* Remove underline from links */
}

nav a:hover {
    color: #343434;
}

#navbar {
    position: fixed;
    top: 0; /* Ensure navbar starts at the top of the page */
    left: 0;
    width: 100%;
    background-image: url("Images/ColombianView.png");; /* Adjust background color */
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1000; /* Keep navbar on top of other content */
    height: 92px; /* Set a fixed height for the navbar */
    transition: top 0.5s ease-in-out; /* Smooth transition when sliding the navbar */
}

.navdiv {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%; /* Ensure that the content is centered vertically */
}


/* Dropdown Menu Styling */
.dropdown-menu {
    z-index: 999;
    background-image: url("Images/ColombianView.png"); /* Background image */
    background-repeat: no-repeat;
    margin-top: 9px;
}

.dropdown-menu a:hover {
    color: #343434;

}

/* Show the dropdown when the 'show' class is applied */
ul li ul.dropdown-menu.show {
    display: block; /* Show the dropdown */
}

/* Dropdown Item Styling */
.dropdown-menu li a {
    color: white;
    display: block;
    text-align: left;
}

/* Ensure the dropdown menu width adjusts to its content */
ul li ul.dropdown-menu {
    max-width: 200px; /* Optional: set a minimum width */
    position: absolute;
    z-index: 999;
    display: none;
}

ul li ul.dropdown-menu li {
    display: block;
}


ul li a{
    display: block;
    padding: 20px 25px;
    text-align: center;
}


.logo {
    margin-left: 30px;
}

.logo a:hover {
    color: #FFFFFF;
}

header {
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 5%;
    background-image: url("Images/ColombianView.png");
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
    transition: 0.8s;
}

.logo {
    font-size: 18px;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 400;
    font-family: "Oswald", sans-serif;
}

.navbar a{
    font-family: "Oswald", sans-serif;
    font-size: 31px;
    color: #FFFFFF;
    text-decoration: none;
    margin-left: 33px;
    font-weight: 300;
    transition: 0.5s;

}

.navbar a:hover {
    color: #d3d3d3;
    transition: 0.5s;
}

.header {
    color: #FFFFFF;
    padding-top: 25%;
    padding-bottom: 20%;
}

header h1 {
    animation: fade-down 0.6s;
    animation-timing-function: ease-out;
}

@keyframes fade-up {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.9);

    }

    to {
        opacity: 1;
        transform: translateY(0px) scale(1);

    }
}

@keyframes fade-down {
    from {
        opacity: 0;
        transform: translateY(-30px) scale(0.9);

    }

    to {
        opacity: 1;
        transform: translateY(0px) scale(1);

    }
}


header h2 {
    display: inline-block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    animation: typing 1.5s;
    animation-timing-function: ease-in-out;
}

@keyframes typing{
    from {
        width: 0;
    }
}


.header-content h1 {
    font-size: 7vw;
    line-height: 6vw;

}

.header-content h2 {
    font-size: 2vw
}

/* About section */

.about {
    animation: appear2 linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
    animation-timing-function: ease-in-out;
}

@keyframes appear {
    from {
        opacity: 0;
        scale: 1.5;
    }

    to {
        opacity: 1;
        scale: 1;
    }
}

.about-section {
    margin: 150px auto;
    width: 85%;
    color: #A9A9A9;
}

.about-section img {
    float: left;
    display: flex;
    margin-right: 50px;
    max-width: 500px;
}

.about-section h2 {
    font-size: 47px;
}

.about-section p {
    font-size: 25px;
}

/* Portfolio section */

main h1 {
    text-align: center;
    font-size: 7vw;
    color: #A9A9A9;
    animation: appear linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
    animation-timing-function: ease-in-out;
}

/* Container to center content */
.container {
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
    margin-top: 2%;
}


.banner {
    animation: appear2 linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
    animation-timing-function: ease-in-out;
}

/* Banner styling */
.banner img {
    width: 100%;
    height: auto;
    display: block;
}

/* Grid styling */
.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 columns */
    gap: 16px;
    margin-top: 20px;
    width: 100%;
}

.grid-item {
    display: flex;
    justify-content: center;
    align-items: center;
    animation: appear2 linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
    animation-timing-function: ease-in-out;
}

.grid-item a {
    display: inline-block; /* Make the anchor tag behave like a block-level element but respect the content size */
    width: 100%;           /* Ensure the anchor tag takes the full width of its parent */
    height: 100%;          /* Ensure the anchor tag takes the full height of its parent */
}

.grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@keyframes appear2 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
      
/* Contact section */
.contact-content h1 {
    text-align: center;
    font-size: 7vw;
    color: #A9A9A9;
    padding-top: 3vw;

}

.home {
    padding-top: 10%;
    display: flex;           /* Use flexbox for centering */
    justify-content: center; /* Horizontally center */
    align-items: center;     /* Vertically center */
    text-align: center;
    
}

.home h1 {
    font-size: 7vw;
    color: #A9A9A9;
    animation: appear2 1s;
    animation-timing-function: ease-in-out;
}

.gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: appear2 linear;
    animation-timeline: view();
    animation-range: entry 0% cover 40%;
    animation-timing-function: ease-in-out;
}

/* Style inputs with type="text", select elements and textareas */
input[type=text], select, textarea {
    width: 100%; /* Full width */
    padding: 12px; /* Some padding */ 
    border: 1px solid #ccc; /* Gray border */
    border-radius: 1em; /* Rounded borders */
    box-sizing: border-box; /* Make sure that padding and width stays in place */
    margin-top: 6px; /* Add a top margin */
    margin-bottom: 16px; /* Bottom margin */
    resize: vertical /* Allow the user to vertically resize the textarea (not horizontally) */
}

input[type=email], select, textarea {
    width: 100%; /* Full width */
    padding: 12px; /* Some padding */ 
    border: 1px solid #ccc; /* Gray border */
    border-radius: 1em; /* Rounded borders */
    box-sizing: border-box; /* Make sure that padding and width stays in place */
    margin-top: 6px; /* Add a top margin */
    margin-bottom: 16px; /* Bottom margin */
    resize: vertical /* Allow the user to vertically resize the textarea (not horizontally) */
}
  
  /* Style the submit button with a specific background color etc */
input[type=submit] {
    background: #dddddd;
    color: #565656;
    padding: 12px 20px;
    border: none;
    border-radius: 1em; /* Rounded borders */
    cursor: pointer;
    font-size: 1vw;
}

  
  /* When moving the mouse over the submit button, add a darker green color */
  input[type=submit]:hover {
    background: #A9A9A9;
    color: #FFFFFF;
}
  
  /* Add a background color and some padding around the form */
.form {
    border-radius: 1em;
    padding: 20px;
    margin-left: 120px;
    margin-right: 120px;
    font-size: 1vw;
}

.footer {
    display: block;
    box-sizing: border-box;
    background-color: #A9A9A9;
    padding-bottom: 90px;
    text-align: center;
    margin-top: 3%;
}

.footer-list {
    padding-top: 7%;
}

.footer-list h3 {
    color: #565656;
    font-size: 30px;
}

.footer-list h4 {
    color: #565656;
    font-size: 15px;
}

.footer-list h5 {
    padding-top: 15px;
    color: #565656;
    font-size: 17px;
}

.footer-list a {
    display: inline;
    width: 40px;
    height: 40px;
    background: transparent;
    color: #565656;
    font-size: 40px;
}



/* Show dropdown when clicked on mobile */
@media (max-width: 768px) {
    .dropdown-menu {
        display: none; 
    }
    .dropdown.open .dropdown-menu {
        display: block;
    }

    .logo a {
        font-size: 15px;
    }

    .navdiv li{
        font-size: 15px;
    }

    nav li {
        margin-right: 45px;
    }

    .about-section {
        flex-direction: column; /* Stack the content vertically */
        text-align: center;
    }

    .about-section img {
        width: 150px; /* Reduce the image size on mobile */
    }

    .about-section h2 {
        font-size: 20px; /* Reduce heading font size for mobile */
    }

    .about-section p {
        font-size: 16px; /* Adjust paragraph font size for mobile */
        padding: 0 10px; /* Add some padding for better readability */
    }}

@media (min-width: 1024px) {
    .containers {
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(5rem, auto) 1fr minmax(5rem, auto) auto;
        grid-template-areas:
        "header"
        "nav"
        "content"
        "sidebar"
        "footer";
    }

    .logo {
        font-size: 45px;
    }
}
