/* font */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100&family=Poppins:wght@400;500;600&display=swap');

/* variable css */
:root {
    --header-height: 3rem; 

/* color */
    --first-hue: 250;
    --sat:66%;
    --lig:75%;
    --second-hue:219;

    --first-color: hsl(var(--first-hue),var(--sat),var(--lig));
    --first-color-alt : hsl(var(--first-hue),var(--sat),71%);
    --title-color: hsl(var(--second-hue),15%,95%);
    --text-color: hsl(var(--second-hue),8%,75%);
    --text-color-light: hsl(var(--second-hue),4%,55%);
    --body-color:hsl(var(--second-hue),48%,8%);
    --container-color:hsl(var(--second-hue), 32%,12%);

    --maximum-blue-purple: #a395e9ff;
    --medium-purple: #9584e6ff;
    --cultured: #f0f2f4ff;
    --silver-sand: #babec4ff;
    --roman-silver: #888b91ff;
    --rich-black-fogra-29: #0b111e;
    --rich-black-fogra-29-2: #151c28ff;

/* font */
    --body-font: 'Poppins', sans-serif ;
    --biggest-font-size: 2rem;
    --h1-font-size: 1.5rem;
    --h2-font-size: 1.25rem;
    --h3-font-size: 1rem;
    --normal-font-size: .938rem;
    --small-font-size: .813rem;
    --smaller-font-size: .75rem;
    --smallest-font-size: .5rem;

    --font-medium: 500;
    --font-bold: 700;

/* merge-bottom */
    --mb-0-5: .5rem;
    --mb-0-75: .75rem;
    --mb-1: 1rem;
    --mb-1-5: 1.5rem;
    --mb-2: 2rem;
    --mb-2-5: 2.5rem;
    --mb-3: 3rem;

/* z-index */ 
    --z-tooltip: 10;
    --z-fixed: 100;
    --z-modal: 1000;
}

@media screen and (min-width: 968px) {
    :root {
      --biggest-font-size: 2.5rem;
      --h1-font-size: 2.25rem;
      --h2-font-size: 1.5rem;
      --h3-font-size: 1.25rem;
      --normal-font-size: 1rem;
      --small-font-size: .875rem;
      --smaller-font-size: .813rem;
    }
  }
*
{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*  Base */
*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
html {
scroll-behavior: smooth;

}

body,button,input,textarea{
     font-family: var(--body-font);
     font-size: var(--normal-font-size);
}
body{
    background-color: var(--body-color);
    color: var(--text-color);
    transition: .4s; /* for light animation */
}

h1,h2,h3{
    color: var(--title-color);
    font-weight: var(--font-medium);
}

ul{
    list-style: none;
}

a{
    text-decoration: none;
}

button{
    cursor: pointer;
    border: none;
    outline: none;
}

img{
    max-width: 100%;
    height: auto;
}

hr {width: 300px;margin-left: auto;margin-right: auto; opacity: 0.2;}

/* reusable css classes */
.container{
    max-width: 968px;
    margin-left: 1rem;
    margin-right: 1rem;
}

.grid{
    display: grid;
    gap: 1.25rem;
}
.main{
    overflow: hidden;
}

.section{
    padding: 4rem 0 1rem;
}

.section__title,
.section__subtitle{
    text-align: center;
}

.section__title{
    font-size: var(--h2-font-size);
    color: var(--first-color);
    margin-bottom: 2rem;
    padding-top: .5rem;

}

.section__subtitle{
    display: block;
    font-size:var(--small-font-size) ;
    color: var(--cultured);
    padding-bottom: .5rem;
}
/* header and nav */
.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color:var(--body-color);
    z-index: var(--z-fixed);
    transition: .4s; /* for light animation */
}

.nav{
     height: var(--header-height);
     display: flex;
     justify-content: space-between;
     align-items: center;
}
.nav{
    height: calc(var(--header-height) + 1.5rem);
}






 .nav__menu{
     position: fixed;
     bottom: 1rem;
     background: hsla(var(--second-hue),32%,16%,.8);
     width: 90%;
     border-radius: 4rem;
     padding: 1rem 2.25rem;
     backdrop-filter: blur(10px);
     transition: .4s; /* for light animation */
 }

 .nav__list{
     display:flex ;
     justify-content: space-between;
     align-items: center;
 }

 .nav__link{
     color: var(--text-color);
     font-size: 1.25rem;
      padding: .4rem;
      display: flex;
      border-radius: 5rem;
 }

 /* active-link */

.active-link{
    background: linear-gradient(180deg,
    hsla(var(--first-hue),var(--sat),var(--lig),1), 
    hsla(var(--first-hue),var(--sat),var(--lig),.2)
    );

    box-shadow: 0 0 16px 
    hsla(var(--first-hue),var(--sat),var(--lig),.4);
    color: var(--title-color);
}

/* active modal */
.active-modal{
    opacity: 1;
    visibility: visible;
}

/* Works */
.work__container {
    padding-top: 1rem;
}
.work__filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: .75rem;
    margin-bottom: 2rem;
}
.work__item{
    cursor: pointer;
    color: var(--title-color);
    padding: .25rem .75rem;
    font-weight: var(--font-medium);
    border-radius: .5rem;
}
.work__card{
    background-color: var(--container-color);
    padding: 1rem;
    border-radius: 1rem;
}
.work__img{
    border-radius: 1rem;
    margin-bottom: .75rem;
    width: 100%;
}
.work__video{
    border-radius: 1rem;
    width: 100px;
}
.work__title{
    font-size: var(--small-font-size);
    font-weight: var(--font-medium);
    margin-bottom: .25rem;
}
.work__title-container{
	position: relative;
}
.label {
    
    font-size: var(--smaller-font-size);
    position: absolute;
    top: 0;
	right: .5rem;
}

.work__button{
    width: max-content;
    color: var(--title-color);
    font-size: var(--small-font-size);
    display: flex;
    align-items: center;
    column-gap: .25rem;
}
.work__button:hover .work__icon{
    transform: translateX(.25rem);
}
.work__icon{
    font-size: 1rem;
    transition: .4s;
}
/* Active item work*/
.active-work{
    background-color: var(--first-color);
    color: var(--body-color);
}
.work__title{
    margin-bottom: .5rem;
    margin-top: 1rem;
}

.webgl
{

    display: block;
    /* position: absolute top left; */
    width: 100% !important;
    height: 300px !important;
    top: 0;
    left: 0;
    outline: none;
    object-fit: contain;
}


/*=============== BREAKPOINTS ===============*/
/* For small devices */
@media screen and (max-width: 320px) {
    .nav{
        height: calc(var(--header-height) + 1.5rem);
    }
    .nav__menu{
        padding: 1.5rem;
    }
    .nav__logo{
        width: 30px;
    }
   
 
    .work__filters{
        flex-wrap: wrap;
        column-gap: .25rem;
        font-size: var(--small-font-size);
        margin-bottom: 0;
    }
    .work__title{
        margin-bottom: .5rem;
        margin-top: .5rem;
    }
    .webgl
    {
    
    display: block;
    /* position: absolute top left; */
    width: 100% !important;
    top: 0;
    left: 0;
    outline: none;
    object-fit: contain;
    }
    
}

/* For medium devices */
@media screen and (min-width: 576px) {
    .nav{
        height: calc(var(--header-height) + 1.5rem);
    }
    .nav__menu{
        width: 328px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .nav__logo{
        width: 50px;
    }
   
    .work__container{
        justify-content: center;
    }
   
    .work__img{
        width: 295px;
    }
    .work__video{
        width: 295px;
    }
    .contact__info{
        grid-template-columns: 300px;
        justify-content: center;
    }
    .contact__form{
        width: 360px;
        margin: 0 auto;
    }
    .video {
        padding-top: 1rem;
        padding-bottom: .5rem;
    }
    .work__title{
        margin-bottom: .5rem;
        margin-top: .5rem;
    }
   
    .webgl
    {

        display: block;
        /* position: absolute top left; */
        width: 100% !important;
        top: 0;
        left: 0;
        outline: none;
        object-fit: contain;
    }
    .work__title{
        margin-bottom: .5rem;
    }
}

@media screen and (min-width:767px){
    .nav{
        height: calc(var(--header-height) + 1.5rem);
    }
    .nav__logo{
        width: 60px;
    }
    .work__container{
        grid-template-columns: repeat(2, max-content);
    }
    
    .video {
        padding-top: 1rem;
        padding-bottom: .5rem;
    }
    
    .webgl
    {
    
        display: block;
        position: absolute top left;
        width: 100%;
        top: 0;
        left: 0;
        outline: none;
    }
}
/* For large devices */
@media screen and (min-width:820px) {
    .container{
        margin-left: auto;
        margin-right: auto;
    }
    .section{
        padding: 4.5rem 0 1rem;

    }
    .section__title{
        margin-bottom: 3.5rem;
    }
    .nav{
        height: calc(var(--header-height) + 1.5rem);
    }
    .nav__logo{
        width: 70px;
    }

    .work__container{
        grid-template-columns: repeat(2, 375px);
        gap: 1rem;
    }
    .work__card{
        padding: 1.25rem;
    }
    .work__img{
        width: 100%;
        margin-bottom: 1rem;
    }
    .work__video{
        width: 100%;
        
    }
    .video {
        
        padding-top: 1rem;
        padding-bottom: .5rem;
    }
    .work__title{
        margin-bottom: .5rem;
    }
    
    .webgl
    {

    display: block;
    /* position: absolute top left; */
    width: 100% !important;
    top: 0;
    left: 0;
    outline: none;
    object-fit: contain;
    }
   
}    
/* For large devices */
@media screen and (min-width:920px) {
    .container{
        margin-left: auto;
        margin-right: auto;
    }
    .section{
        padding: 4.5rem 0 1rem;

    }
    .section__title{
        margin-bottom: 3.5rem;
    }
    .nav{
        height: calc(var(--header-height) + 1.5rem);
    }
    .nav__logo{
        width: 70px;
    }

    
    .work__container{
        grid-template-columns: repeat(2, 400px);
        gap: 1rem;
    }
    .work__card{
        padding: 1.25rem;
    }
    .work__img{
        width: 100%;
        margin-bottom: 1rem;
    }
    .work__video{
        width: 100%;
        
    }
    .video {
        
        padding-top: 1rem;
        padding-bottom: .5rem;
    }
    .work__title{
        margin-bottom: .5rem;
    }
    .testimonial__container{    
        width: 1400px;       
    }
    .webgl
    {

    display: block;
    /* position: absolute top left; */
    width: 100% !important;
    top: 0;
    left: 0;
    outline: none;
    object-fit: contain;
    }
   
}    
/* For large devices */
@media screen and (min-width:1000px) {
    .container{
        margin-left: auto;
        margin-right: auto;
    }
    .section{
        padding: 4.5rem 0 1rem;

    }
    .section__title{
        margin-bottom: 3.5rem;
    }
    .nav{
        height: calc(var(--header-height) + 1.5rem);
    }
    .nav__logo{
        width: 70px;
    }

    
    .work__container{
        grid-template-columns: repeat(2, 500px);
        gap: 1rem;
    }
    .work__card{
        padding: 1.25rem;
    }
    .work__img{
        width: 100%;
        margin-bottom: 1rem;
    }
    .work__video{
        width: 100%;
        
    }
    .video {
        
        padding-top: 1rem;
        padding-bottom: .5rem;
    }
    .work__title{
        margin-bottom: .5rem;
    }
    .testimonial__container{    
        width: 1400px;       
    }
    .webgl
    {

    display: block;
    /* position: absolute top left; */
    width: 100% !important;
    top: 0;
    left: 0;
    outline: none;
    object-fit: contain;
    }
   
}    
