/* Website by : JamPre */




html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;

  font-family: 'lato', sans-serif;

  color: #000;

  background-color: #fff;
}

section {
  width: 100%;
}

a {
  text-decoration: none;
  text-transform: capitalize;

  color: #000;

  transition: 0.2s;
}





/* Classes */

.mid-screen {
    height: 0;
    margin: 0;
    padding: 0;

    opacity: 0;
}






/* Header style */

#mobile-header {
    height: 0;
    padding: 0;

    opacity: 0;
}

#header {
    width: 100%;

    z-index: 128;

    display: flex;
    justify-content: center;

    position: fixed;

    background-color: #fff;

    box-shadow: #00000073 0 0 50px;
}

#header .container {
    width: 90%;

    display: flex;
    justify-content: space-between;
}

#header .container .left {
    display: flex;
}

#header .container .left img {
    height: 50px;
    margin-right: 1rem;
    
    object-fit: contain;
    place-self: center;
}

#header .container .left h2 {
    font-weight: 300;

    text-transform: uppercase;
}

#header .container .right {
    display: flex;
    place-items: center;
}

#header .container .right a {
    margin: 0 0 0 2rem;

    font-size: 18px;
}





/* Banner styling */

#banner {
    height: 95vh;

    display: flex;
    justify-content: center;
    place-items: center;

    background-image: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.2)), url(images/banners/main-banner.jpg);
    background-size: cover;
    /* background-attachment: fixed; */
}

#banner .content {
    width: auto;

    color: #fff;

    text-align: center;
}

#banner .content h1 {
    margin-bottom: 0;

    font-size: 60px;
    font-weight: 300;

    letter-spacing: 0.5rem;
    text-shadow: #000000 0 0 15px;
}

#banner .content p {
    margin-top: 0;

    font-size: 21px;
    font-weight: 300;

    letter-spacing: 1rem;

    text-shadow: #000000 0 0 15px;
}

.mobile-logo {
    height: 0;
    opacity: 0;
}








#portfolio-links {
    height: auto;

    padding: 1rem 0;

    display: flex;
    justify-content: center;
}

#portfolio-links .container {
    width: 90%;
}

#portfolio-links .container .button {
    height: 12rem;
    width: 100%;

    margin: 2rem 0;
    
    position: relative;
}

#portfolio-links .container .button h3 {
    width: 100%;
    height: auto;

    top: 30%;

    z-index: 5;

    font-size: 32px;
    font-weight: 300;

    position: absolute;

    text-align: center;
    text-transform: capitalize;

    color: #fff;
    text-shadow: #000000 0 0 15px;
}

#portfolio-links .container .button .images {
    height: 100%;
    width: 100%;

    display: flex;
    position: absolute;
}

#portfolio-links .container .button .images img {
    width: 25%;
    height: 100%;
    transition: 0.2s;

    filter: brightness(0.65);

    object-fit: cover;
}

#portfolio-links .container .button:hover .images img {
    filter: brightness(0.5);
}

#portfolio-links .container .button a {
    width: 100%;
    height: 100%;

    z-index: 5;

    position: absolute;
}









/* Portfolio layout */

#portfolio {
    height: auto;

    padding: 2rem 0;

    display: flex;
    justify-content: center;
}

#portfolio .container {
    width: 90%;
    height: auto;
}

#portfolio .container .content-row {
    padding: 1rem 0;

    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

#portfolio .container .content-row a {
    height: 20rem;
    width: auto;
    max-width: 20%;

    /* box-shadow: #00000000 0 0 0; */
}

#portfolio .container .content-row img {
    height: 20rem;
    width: 100%;

    transition: 0.5s;
    transition-timing-function: ease-in-out;

    object-fit: cover;

    box-shadow: #00000000 0 0 0;
}

#portfolio .container .content-row video {
    height: 25rem;
    width: auto;
    max-width: 20%;

    transition: 0.5s;
    transition-timing-function: ease-in-out;

    object-fit: cover;

    box-shadow: #00000000 0 0 0;
}

/* #portfolio .container .content-row img:hover {
    scale: 1.05;
    transform: rotate3d(1, 1, 1, 50deg);

    box-shadow: #000000 2rem 2rem 5px;
} */







/* About */

#about {
    height: auto;

    padding: 1rem 0;

    /* display: flex;
    justify-content: center; */
}

#about h2 {
    margin: 0 2rem 2rem 5%;

    font-size: 34px;
    font-weight: 300;

    letter-spacing: 0.2rem;

    text-align: left;
    text-transform: capitalize;
}

#about .container {
    width: 90%;
    margin: 0 5%;

    display: flex;
    justify-content: space-between;
}

#about .container img {
    width: 35%;
    object-fit: contain;
    object-position: top;
}

#about .container .text-element {
    width: 50%;
}

#about .container .text-element .space-below {
    margin-bottom: 1rem;
}

#about .container .text-element p {
    margin: 0;
    font-size: 21px;
    
    text-align: justify;
}







#clients-list {
    margin-top: 1rem;

    display: flex;
    justify-content: center;
}

#clients-list .container {
    width: 90%;

    overflow-x: hidden;
}

#clients-list .container .group {
    width: 2400px;

    display: flex;

    animation: spin 30s infinite linear;
}

#clients-list .container:hover .group {
    width: 2400px;

    display: flex;

    animation-play-state: paused;
}

#clients-list .container .group .card {
    flex: 0 0 400px;

    text-align: center;
}

#clients-list .container .group .card h3 {
    font-size: 28px;
    font-weight: 300;
}


@keyframes spin {
    from {translate: 0;}
    to {translate: -100%;}
}





/* contact segment */

#contact {
    margin: 1rem 0 2rem 0;

    display: flex;
    justify-content: center;
}

#contact .container {
    width: 90%;

    display: grid;
    place-items: center;
}

#contact .container h2 {
    margin: 0 0 1rem 0;

    font-size: 32px;
    font-weight: 300;

    letter-spacing: 0.2rem;

    text-align: center;
    text-transform: capitalize;
}

#contact .container .copyright {
    margin: 2rem 0 0 0;
    
    font-size: 12px;

    font-style: italic;
}

#contact .container .content {
    width: 50%;

    display: grid;
    place-items: center;
}

#contact .container .content h3 {
    margin-bottom: 0.5rem;
    
    font-size: 24px;
    font-weight: 300;
    
    text-transform: capitalize;
    text-align: center;
}

#contact .container .content .email {
    text-transform: none;
}

#contact .container .content .news-letter {
    width: 32rem;
    height: auto;

    margin: 0 0 1rem 0;

    display: flex;
}

#contact .container .content .news-letter input {
    height: 2rem;
    width: 80%;
}

#contact .container .content .news-letter a {
    width: 20%;
    height: 32px;
    padding: 0.5rem 0;

    text-align: center;
}

#contact .container .content .news-letter a:hover {
    color: #999;
}

#contact .container .content p {
    margin: 1rem;
    
    font-size: 21px;
    
    text-align: center;
}

#contact .container .content a {
    margin: 1rem;
    
    font-size: 21px;
    
    text-align: center;
}

#contact .container .content a:hover {
    color: #999;
}













@media only screen and (min-width: 100px) and (max-width: 1500px) {

    .wide-screen {
        margin: 0;
        padding: 0;
        height: 0;
        opacity: 0;
    }

    .mid-screen {
        height: auto;
        opacity: 100;
    }


    /* portfolio */

    #portfolio .container .content-row {
        flex-wrap: wrap;
        gap: 10px;
    }


    /* About */

    #about .container img {
        width: 45%;
    }
    
    @media only screen and (min-width: 100px) and (max-width: 1000px) {
        #portfolio .container .content-row a {
            width: 100%;
            height: auto;

            max-width: 30%;
        }
        
        #portfolio .container .content-row img {
            width: 100%;
            height: auto;
        }

        #portfolio .container .content-row video {
            width: 100%;
            height: auto;

            max-width: 30%;
        }
    }

    @media only screen and (min-width: 100px) and (max-width: 700px) {
        
        #header {
            opacity: 0;
            height: 0;
            z-index: 0;
        }

        #mobile-header {
            height: auto;
            padding: 1rem 0;

            opacity: 100;
            z-index: 128;

            position: fixed;

            display: flex;
            justify-content: space-evenly;

            background-color: #fff;
            box-shadow: #00000073 0 0 50px;
        }

        #mobile-header a {
            padding: 0.5rem 0;

            font-size: 21px;
        }


        .mobile-logo {
            height: 3rem;
            opacity: 100;
        }





        #portfolio .container .content-row a {
            height: auto;
        }

        #portfolio .container .content-row img {
            height: auto;
        }

        #portfolio .container .content-row video {
            height: auto;
        }







        #about .container {
            display: grid;
        }

        #about .container .text-element {
            width: 90%;
            padding: 0 5%;
        }

        #about .container img {
            width: 90%;
            height: calc(auto + 10%);
            padding: 2rem 5% 0 5%;

            object-fit: cover;
            object-position: top;
        }




        /* clients */

        #clients-list .container {
            overflow-x: scroll;
        }

        #clients-list .container:active .group {
            animation-play-state: paused;
        }

        #clients .container .v-seperator {
            height: 1px;
            width: 90%;

        }



        /* Contact */

        #contact .container .content {
            width: 70%;
        }
    
    }

    @media only screen and (min-width: 100px) and (max-width: 490px) {
        /* #portfolio .container .content-row {
            display: grid;
        } */
        
        #portfolio {
            padding-top: 4rem;
        }

        #portfolio .container .content-row a {
            width: 100%;
            height: auto;
        }

        #portfolio .container .content-row img {
            width: 100%;
            height: auto;

            /* max-width: none; */
        }

        .wide-screen img {
            padding: 0;
            margin: 0;
        }

        /* Contact */

        #contact .container .content {
            width: 100%;
        }
    }

    .wide-screen {
        margin: 0;
        padding: 0;
        height: 0;
        opacity: 0;
    }

    .mid-screen {
        height: auto;
        opacity: 100;
    }
}
