:root { 
    --yellow-color: #ffed1d; 
    --light-gray-color: #f0f1f1;
    --gray-color: #dcdede;
    --dark-gray-color: #232323;
    --almost-black-color: #171717;
} 

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
   background-color: #f0f1f1; 
}

.blockScroll {
    height: 100vh;
    overflow-y: hidden;
    padding-right: 15px;
}

nav {
    transition: .8s;
}

#background {
    opacity: 0;
    padding: 0;
    margin: 0;
    position:absolute;
    width:100%;
    height:100%;
    /*background-image: url("../img/hero_bg.png");*/
    background-position: top right;
    background-repeat: no-repeat;
    background-size: auto 100%;
    
}

.glass-effect {
  /* Semi-transparent background (white with low opacity) */
  background: rgba(255, 255, 255, 0.1); 
  
  /* Apply the blur to the elements *behind* the div */
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px); /* For Safari support */

  /* Optional aesthetic enhancements */
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); 
  border: 1px solid rgba(255, 255, 255, 0.3); /* Subtle light border */
  
  /* Layout for the content inside */
  padding: 10px;
  color: white; /* Text color over the dark background */
}

.video-left {
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin-left: auto;
     margin-top: -2px;
}

.solidNav {
    background-color: #f0f1f1;
}

#navbarNav a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 600;
    color: black;
    
}

nav.navWhite #navbarNav a {
    color: #000;
}

#navbarNav a:hover {
    opacity: .6;
}



#hero {
    height: 60vh;
    padding-top:15%;
}



h1 {
    vertical-align:middle;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 30px;
    line-height: 38px;
    z-index: 2;
    
}


h3 {
    font-size: 18px; 
}

#projects {
    position: relative;
}



.section h4 {
    font-size: 125px;
    font-family: 'IBM Plex Sans Condensed', sans-serif;
    font-weight: 700;
    color: #c7c8c8;
    opacity: .5;
}

.section h2 {
    position: absolute;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 30px;
    margin-left: 100px; 
    top:55px;
}

.sectionProjects {
    background-image: url("../img/arrow_down.png");
    background-repeat: no-repeat;
    background-position: 235px 70px;
     
}

.projectThumb {
    width: 90%;
    height: auto;
    object-fit: contain;
    vertical-align: top;
}



.description {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.readBtn {
    border: none;
    color: var(--yellow-color);
    background-color: black;
    font-family: 'IBM Plex Sans', sans-serif;
    padding-right: 45px;
    font-size: 16px;
    width: 200px;
    height: 50px;
    -webkit-box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.2);
}

.readBtn a {
    text-decoration: none;
    color: var(--yellow-color);
}

.readBtn:hover a {
    color: var(--yellow-color);
}

.readBtn:hover {
    color: var(--yellow-color);
    background-color: var(--almost-black-color);
    -webkit-box-shadow: 2px 2px 10px 2px rgba(0,0,0,0.6);
    -moz-box-shadow: 2px 2px 10px 2px rgba(0,0,0,0.6);
    box-shadow: 2px 2px 10px 2px rgba(0,0,0,0.6);
}

.secondaryBtn {
    border: none;
    color: var(--yellow-color);
    background-color: var(--almost-black-color);
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 16px;
    width: 200px;
    height: 50px;
    -webkit-box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.2);

    margin-bottom: 75px;
}

.secondaryBtn:focus a {
    border: none;
}

.secondaryBtn a {
    text-decoration: none;
    color: var(--yellow-color);
}

.secondaryBtn:hover a {
    text-decoration: none;
    color: var(--almost-black-color);
}

.secondaryBtn:hover {
    background-color: var(--yellow-color);
    color: var(--almost-black-color);
}

svg {
    width:100%;
    height: auto;
}

.arrow svg {
    position: absolute;
    margin-top: -37px;
    margin-left: -30px;
    width: 100px;
    height:100px;
    fill: var(--yellow-color);
    
}

.readBtn:hover svg {
    fill: var(--yellow-color);
}

.projectImg img {
    width:100%;
}

.project {
    margin-bottom: 0px;
}

#trusted {
    background-color: #e0e1e1;
    height:350px;
    text-align: center;
    padding-top:60px;
}

.trustedLogos {
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 30px;
}

.text-color-light {
    color: white;
    opacity: .2;
}

#about {
    background-color: #191919;
    position: relative;
    
}

#about .container {
    position: relative;
}

.about_title img {
    position: absolute;
    top:-70px;
    border-radius: 50%;
}

.about_title h4 {
    position: absolute;
    color: black;
    opacity: .25;

    font-size: 125px;
    font-family: 'IBM Plex Sans Condensed', sans-serif;
    font-weight: 700;
    
    top:-90px;
    left: 125px;
    
    
}

.about_title h2 {
    position: absolute;
    color: var(--yellow-color);
    left:190px;
    z-index: 2;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 30px;
    top:10px;
}

.line {
    position: absolute;
    left:340px;
    top:30px;
    width:90px;
    height: 3px;
    background-color: var(--yellow-color);
}

.about_content {
    display: flex;
    justify-content: space-around;
    padding-top: 100px;
    padding-bottom:50px;
    
}

.about_content p {
    font-family: 'IBM Plex Sans', sans-serif;
    line-height: 1.8rem;
    font-size: 1rem;
    letter-spacing: .04rem;
    opacity: .7;
    
}

#contact_title  {
    
    transform: rotate(90deg);
    position: absolute;
    bottom:75px;
    left:0px;
    margin:0;
    padding:0;
    
    
    
    height:100px;
    width:250px;
   
}

#contact_title h4 {
    top:100px;
    left:-100px;

    position: absolute;
    color: black;
    opacity: .25;

    font-size: 125px;
    font-family: 'IBM Plex Sans Condensed', sans-serif;
    font-weight: 700;
}

#contact_title h2 {
    position: absolute;
    font-size: 18px;
    letter-spacing: .5rem;
    top:200px;
    left:0px;

    color: white;
   
    z-index: 2;
    font-family: 'IBM Plex Sans', sans-serif;
    
}

#contact_title .line {
    left: 140px;
    top: 208px;
}


.contact_hi {
    display: flex;
    align-items: center;
    text-align: right;
    justify-content: end;
}


.contact_social {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    height: 120px;
    
    opacity: .3;
    
}



.contact_social a:hover {
    opacity: 1;
}

.contact_hi h1 {
    color: white;
    font-style: italic;
}

.contact_links_top {

    padding-top:20px;
    height:60px;
    border-bottom: solid 1px white;
}

.contact_links {
    display: flex;
    align-items: center;
    text-align: left;
    justify-content: start;
}

.contact_links_bottom {
    display: flex;
    align-items: center;
    text-align: right;
}

.contact_ico {
    margin-right: 10px;
}

.contact_links p {
    color: white;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 14px;
    margin-bottom: .5rem;
}

footer {
    height: 100px;
}

.numbers {
    margin-bottom: 40px;
}

.numbers h2 {
    margin-bottom: 0;
}

.numbers h1 {
    font-size: 2.2rem;
}

.numbers_small {
    font-size: 1rem;
}

.contact_links {
    border-right: solid 1px white;
    opacity: .5;
}




.white {
    color: white;
}

.yellow {
    color: var(--yellow-color);
}

.footerLogo {
    margin-top:15px;
    opacity: .5;
}



.preloader {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.counter {
    position: absolute;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 7rem;
    font-weight: 900;
    color: #fff;
    mix-blend-mode: difference;
    z-index: 9999;
}

.loader {
    position: absolute;
    background: #000;
    height: 100%;
    top:0;
    left:0;
    z-index: 9999;
    transition: all 0.5s ease;
}



@media (max-width: 1040px) {


    

    .numbers h1 {
        font-size: 20px;
    }

    .hideSection {
        display: none;
    }
}

@media (max-width: 990px) {


    .trustedLogos {
        flex-wrap: wrap;
    }

    .numbers h1 {
        font-size: 20px;
    }

    .hideSection {
        display: none;
    }
}

@media (max-width: 767px) {
    .contact_hi {
        justify-content: center;
    }
    .contact_links {
        justify-content: center;
    }
    .numbers h2 {
        text-align: left;
    }
    .numbers {
        margin-left: 5px;
        margin-right: 5px;
    }
    .contact_social {
        height: 100px;
    }

    .projectThumb {
     margin-top: 100px;
    }
    .numbers h1 {
        text-align: left;
    }

    #background .video-left video {
        width: 60vh;
       
    }
    body {
        background-size: 45%;
    }

    #hero {
        height: 40vh;
        padding-left: 0;
        padding-top:10%;

    }

    #hero h1 {
        padding: 0;
    }
    .case_text img {
        padding: 0;
    }

    .info {
        height: 100%;
        top:0px;
        flex-direction: row;
    }
    
    .info_desc p{
        padding-top:0px;
        font-size: 12pt;
        text-align: left;
    }
    
    .info_text p{  
        font-size: 14pt;  
        text-align: left;
    }

    h1 {
        margin-top:50px;
        text-align: center;
        font-size: 20px;
    }

    h1.hero_text {
        margin-top: 8px;
        line-height: 28px;
        text-align: left;
    }
    
    h2 {
        text-align: center;
        font-size: 18pt;
        
    }

    .section h4 {
        font-size: 100px;
        font-family: 'IBM Plex Sans Condensed', sans-serif;
        font-weight: 700;
        color: #c7c8c8;
        opacity: .5;
    }
    
    .section h2 {
        position: absolute;
        font-family: 'IBM Plex Sans', sans-serif;
        font-size: 30px;
        margin-left: 70px; 
        top:50px;
    }

    .sectionProjects {
        margin-top: 280px;
        background-position: 195px 65px;
         
    }

    

    #trigger2 {
        flex-direction: row-reverse;
    }

    .reverseMobile {
        flex-direction: column-reverse;
    }

    .description {
        z-index: 1;
    }

    .project h1 {
        margin-top: -40px;
    }

    .userFlow {
        flex-direction: column;
    }

    .userFlow img {
        width: 100%;
    }

    .case_text {
        padding: 0;
        margin: 0;
    }

    .btn {
        width:100%;
    }

    #trusted {
        margin-top:75px;
        padding-bottom: 150px;
        height: 100%;
    }

    .trustedLogos {
        margin-left:0;
        margin-right: 0;
        margin-top:10px;
        
        flex-wrap: wrap;
        flex-shrink: .3;
        
        justify-content: space-evenly;
    }

    .trustedLogos {
        
        gap:10px;
    }


    footer {
        height: 50px;
    }

    .line {
        
        left:340px;
       
        width:30px;
       
    }
}

