/* Global reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Root variables */
:root {
    --background-color: #000000;
    --navigation-text-color: #dfdfdf;
    --navigation-hover-underline: #03A062;
    --navigation-hover-second-color: #5f14e0;
}

@font-face {
  font-family: 'Jua';
  src: url('../fonts/Jua/Jua-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Signika';
  src: url('../fonts/Signika/Signika-VariableFont_GRAD\,wght.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

/* Body */
body {
    background-color: var(--background-color);
    font-family: var(--default-font);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: 'Jua', 'Signika', 'Work Sans', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Navigation Menu */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--navigation-text-color);
    width: 100%;
    min-height: 8rem;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
}

#logo_img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    cursor: pointer;
}

#navi_name {
    display: flex;
    align-items: center;
    margin-left: 10rem;
}

#name {
    font-size: 2em;
    padding: 20px;
    width: 100%;
    cursor: pointer;
}

#navi_menu ul li {
    display: inline-block;
    position: relative;
}

#navi_menu ul li a {
    text-decoration: none;
    color: white;
    font-size: 18px;
    padding: 10px;
    position: relative;
}

#navi_menu ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 1.8px;
    margin-left: 11px;
    background-color: var(--navigation-hover-second-color);
    transition: width 0.3s ease-in-out;
    
}

#navi_menu ul li a:hover::after {
    width: 50%;
}

ul {
    display: flex;
    gap: 40px;
    margin-right: 5rem;
}

li {
    list-style: none;
}

.navi_item {
    text-decoration: none;
    color: var(--navigation-text-color);
    font-size: 1.3rem;
}

.navi_item:hover {
    color: var(--navigation-hover-second-color);
}



.responsive-navi{
    display: none;
}

/* Languge Flags */
/* Language Switcher */
#language-switcher {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 2rem;
}

.lang-flag {
  width: 50px;
  height: 50px;
  background-color: aliceblue;
  border-radius: 50%;
  padding: 1px;
  cursor: pointer;
  transition: transform 0.2s ease-in-out;
}

.lang-flag:hover {
  transform: scale(1.2);
}

.burger-menu {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: transparent;
  border: 0;
  padding: 6px;
  margin: 0 12px 0 0; /* a bit of right spacing */
}
.burger-menu:focus { outline: 2px solid #5f14e0; outline-offset: 2px; }
.burger-menu .bar {
  width: 28px;
  height: 3px;
  background-color: #fff;
  border-radius: 2px;
}

/* Hero Section */
#hero {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
}

#hero_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#hero_img_1{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
}

/* Centered Content */
.container {
    position: absolute;
    top: 50%;
    left: 31%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: white;
}

.container h2 {
    font-size: 2rem;
    font-weight: 700;
}

.container p {
    font-size: 1.1rem;
    margin: 10px 0;
}

/* Social Links */
.social-links a img {
    padding: 5px;
    background-color: #dfdfdf;
    border-radius: 50%;
    margin-top: 10px;
    cursor: pointer;
}

.social-links a img:hover {
    background-color: #9b69f1;
}

.instagram, .socials {
    max-width: 40px;
}

.socials {
    margin-left: 10px;
    width:50px;
}

.main_mail {
    color: white;
}

/*services section */
#services{
    color: var(--navigation-text-color);
    margin-top: 10rem;
}

/* About */
#about {
    margin-top:  8rem;
    color: var(--navigation-text-color);
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    align-items: center;
}
#about_main_div  {
    margin-top: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 85%;
}

#about_header{
    font-size: 3rem;
    letter-spacing: 1px;
}

#about_img {
    max-width: 800px;
    border-radius: 5px;
}

#about_para_div{
    max-width: 55%;
    text-align: left;
    margin-left: 40px;
}


#about_me {
    margin: 0 auto;
    font-size: 1.3rem;
    
    text-align: left;
}

#btn, .cta_button {
    padding: 15px 35px;
    border-radius: 10px;
    cursor: pointer;
    background-color: var(--navigation-hover-second-color);
    color: white;
    font-size: 1rem;
    border: none;
    transition: background-color 0.3s ease;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 1px;
    font-family: 'Jua', 'Signika', 'Work Sans', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

#btn {
    display: inline-block; /* Ensure it respects margin */
    margin-top: 70px !important; /* Force the margin */
}

/* .button {
    margin-top: 250px;
} */

.cta_button:hover {
    background-color: #9b69f1;
}

#btn:hover {
    background-color: #9b69f1;
}

/* Services */
#services_header{
    text-align: center;
    font-size: 3rem;
    letter-spacing: 1px;
}

#services_main_div{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 5rem;
    gap: 70px;
}

#service_item, #web_service {
    max-width: 500px;
    min-height: 500px;
    background-color:#150050;
    border-radius: 5px;
    box-shadow: var(--navigation-hover-second-color) 1px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
    text-align: center;
}

#service_item hr, #web_service hr{
    max-width: 60%;
    margin: 45px auto 0 auto;
}

#services_icon, #web_icon{
    margin-top:50px;
    width: 50px;
}

#design_header, #web_header {
    margin-top: 50px;
    font-size: 2rem;
    letter-spacing: 1px;
}

#design_para, #web_para{
    margin-top: 50px;
    padding:0 30px;
    line-height: 1.5rem;
    font-size: 1.2rem;
}

/*Portfolio*/
#portfolio {
    margin-top: 10rem;
    padding: 0 50px;
}

#portfolio_header{
    color: var(--navigation-text-color);
    text-align: center;
    font-size: 3rem;
    letter-spacing: 1px;
    margin-top: 50px;
}

#portfolio_main_div{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#projects_div {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(3, 1fr); 
    width: 100%;
    gap: 50px;
    max-width: 1400px;
}

.project_cards{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 20px;
    max-width: 32rem;
    margin-top: 5rem;
    background-color: #0F044C;
    border-radius: 5px;
    color: var(--navigation-text-color);
    box-shadow: var(--navigation-hover-second-color) 1px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
    height: 100%;
    min-height: 600px;
    width: 100%; 
}

.project_headers {
    font-size: 2rem;
    margin-top: 50px;
    letter-spacing: 1px;
}

.project_img{
    max-width: 300px;
    max-height: 170px;
    margin-top: 50px;
    border-radius: 5px;
}

.project_link{
    margin-top: 50px;
}

.project_link img {
    width: 40px;
    cursor: pointer;
    transition: transform 0.1s ease-in-out;
}

.project_link img:hover {
    transform: scale(1.2)
}

.project_descr{
    color: var(--navigation-text-color);
    margin-top: 20px;
    padding: 15px 20px;
    margin-bottom: 50px;
    text-align: center;
    line-height: 1.5;
    font-size: 1.2rem;
    min-height: 200px;
}

/* Contact div */
#cta_section {
    padding: 60px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    width: 100%;
    margin-top: 15rem;
    
}
  
.cta_box {
    background-color: #0F044C;
    width: 80%;
    padding: 0 40px;
    min-height: 280px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    color: var(--navigation-text-color);
}
  
  .cta_box h2 {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
  
  .cta_box p {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }

/* Footer */
footer {
    width: 100%;
    padding: 40px 20px;
    background-color: #222222;
    color: var(--navigation-text-color);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
}

#footer-content {
    text-align: center;
    max-width: 800px;
    width: 100%;
}

.footer-socials {
    margin-bottom: 20px;
}

.footer-socials a img {
    padding: 10px;
    background-color: #dfdfdf;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.footer-socials a img:hover {
    background-color: #9b69f1;
}

.footer-info p {
    margin: 5px 0;
    color: var(--navigation-text-color);
    font-size: 1.2rem;
    margin-top: 20px;
}

hr {
    margin-top: 20px;
}

.footer-info a {
    color: #9b69f1;
    text-decoration: none;
    font-weight: 500;
}

.footer-info a:hover {
    text-decoration: underline;
}

#copy_para {
    margin-top: 25px;
    font-size: 0.9rem;
    color: #aaa;
}

/* coockies */

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #222;
  color: #fff;
  padding: 1rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  font-size: 14px;
}

.cookie-banner p {
  margin: 0;
}

.cookie-banner a {
  color: #03A062;
  text-decoration: underline;
}

.cookie-banner button {
  background: #03A062;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  font-weight: bold;
  cursor: pointer;
  border-radius: 4px;
}



/* Responsive Media Queries */

@media screen and (min-width: 1360px) and (max-width: 1440px) {
    /* Navigation */
    ul{
        margin-right: 2rem;
    }
   #about_img {
    max-width: 500px;
   }
  }

@media screen and (max-width: 1360px) {
    /* navigation */
    #about_img {
     max-width: 500px;
    }

    #projects_div {
        width: 100%;
        gap: 25px;  
    }

   }

@media screen and (max-width: 1255px) {

    #logo_img {
        width: 65px;
        height: 65px;
    }

    #name {
        font-size: 1.3rem;
    }

    ul{
        margin-right: 1rem;
        gap: 8px;
    }

    /* Project Cards */
    #projects_div {
        gap: 15px;
    }

    .project_img{
        max-width: 280px;
        max-height: 280px; 
        
    }

    .project_headers {
        margin-top: 5px;   
    }

    /* navigation */
    #about_img {
     max-width: 500px;
    }

    #projects_div {
        width: 80%;
        gap: 25px;  
    }

    /* Service Cards */
    #services_main_div{
        gap: 40px;
    }

    #service_item, #web_service {
        max-width: 420px;
    }

    /* Project Cards */

    .project_cards {
        padding: 20px;
        max-width: 25rem;
    }

    .project_img{
        max-width: 300px;
        max-height: 350px;
    }

    .project_descr{
        padding: 10px 20px;
        margin-bottom: 50px;
        max-height: 80px;
    }

   }


   @media screen and (max-width: 1170px) { 
    #about_main_div  {
        margin-top: 30px;
        max-width: 100%;
    }

    #about_img {
        max-width: 350px;
        border-radius: 5px;
    }

    #projects_div {
        width: 100%;
        gap: 20px;  
    }
   }

   
   @media screen and (max-width: 1024px) {
    header {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    /* Logo and Name */
    #logo_img {
        width: 55px;
        height:55px;
    }

    #name {
        font-size: 1.1em;
        padding: 20px;
        width: 100%;
        cursor: pointer;
    }

    #navi_name {
        margin-left: 0;
    }

    #navi_menu {
        margin-top: 2.5rem;
        width: 100%;
        /* display: flex; */
        flex-direction: column;
        text-align: center;
        align-items: center;
        justify-content: center;
    }

    ul {
        gap:5px;
        width: 100%;
        text-align: center;
        align-items: center;
        justify-content: center;
        margin-right: 0;
    }

    .navi_item {
        font-size: 1rem;
    }

    /* All names */
    #about_header, #services_header, #portfolio_header {
        font-size: 2rem;
    }

    .project_headers, .cta_box h2 {
        font-size: 1.6rem;
    }
    
    /* navigation */
    ul{
        margin-right: 3.5rem;
        gap: 20px;
    }

    /* Service Cards */
    #service_item, #web_service {
        max-width: 350px;
    }

    /* Project Cards */
    #projects_div {
        gap: 15px;
    }
    
    .project_img{
        max-width: 250px;
        max-height: 250px; 
    }

    .project_headers {
        margin-top: 5px;   
    }
   }

   @media screen and (max-width: 910px) {
        .container {
            left: 40%;
        }
        .container h2 {
            font-size: 1.5rem;
        }
        .container p {
            font-size: 1rem;
            max-width: 70%;
        }

        /* main img */
        #hero_img {
            width: 100%;
            height: 70%;
            object-fit: cover;
        }

        #about_main_div {
            display: flex;
            flex-direction: column;
        }

        /* #about_img_div {
            width: 90%;
        } */

        #about_me {
            margin-top: 30px;
        }

        #projects_div {
            display: flex;
            flex-direction: column;
            width: 100%;
            max-width: 100%;
        }

        .project_cards {
            width: 80%;
        }
   }


        @media (max-width: 767px) {

        #services_main_div{
            display:flex;
            flex-direction: column;
        }

        #navi_menu ul{
            margin: 0 auto;

        }

        #hero_img {
            display: none;
        }

        #hero_img_1 {
            display: block;
        }

        #about  {
            margin-top: 1rem;
        }

        #hero {
            height: 90vh;
        }

        }


        @media (max-width: 515px) {

        #services_main_div{
            display:flex;
            flex-direction: column;
        }

        #navi_menu ul{
            margin: 0 auto;
            display: flex;
        }

        #about  {
            margin-top: 1rem;
        }

        #hero {
            height: 90vh;
             
        }

        #navi_menu ul li a{
            font-size: 14px;
        }
        }

        @media (max-width: 440px) {
        .responsive-navi {
            display: flex;
        }

        #navi_menu {
            display: none;
        }

        .responsive-navi-ul {
            display: flex;
            margin: 20px auto; 
            gap: 20px;
        }

        .first-navi-group li,  .second-navi-group li {
            margin-top: 10px;
        }

        .navi_item {
            margin-top: 15px;
        }
        
        #navi_menu ul li a{
            font-size: 13px;
            gap: 5px;
        }

        #services_main_div {
            width: 70%;
            margin: 25px auto;
        }

        .container {
            top: 70%;
            left: 40%;
            
        }

        #about {
            margin-top: 50px;
            width: 100%;
        }

        
        #about_para_div{
        max-width: 90%;
        }

        .project_cards {
            width: 100%;
        }

        .project_img {
            width: 85%;
        }

        #cta_section {
            margin-top: 5rem;
        }

        .cta_box {
            padding: 20px;
            width: 100%;
        }



        .cookie-banner {
            flex-direction: column;
            justify-content: center;
        }

        #accept-cookies {
            margin-top: 10px;
        }
       
        }


        @media (max-width:365px) {
        #navi_menu ul li a{
            font-size: 12px;
            
        }

        

        
    }
