*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
    color: var(--black);
}

:root {
    --red: rgb(237, 28, 28);
    --yellow: rgb(255, 187, 0);
    --black: #333;
}

a {
    text-decoration: none;
}

.btn {
    background-color: var(--red);
    color: white;
    padding: 0.5rem 2.5rem;
    border-radius: 0.3rem;
    transition: transform 0.1s ease-in-out;
    cursor: pointer;
}

.btn:active {
    transform: scale(0.98);
}

.btn-yellow-border {
    border: var(--yellow) solid 3px;
}

body {
    position: relative;  /* Ensures the pseudo-element positions relative to the body */

}

body::before {
    content: "";
    background: url(../images/background.webp);  /* your background image */
    background-attachment: fixed;
    position: absolute;  /* Positions the pseudo-element right over the body */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.2;  /* Set the opacity of the background image */
    z-index: -1;  /* Puts the pseudo-element behind the body content */
    background-color: rgba(77, 77, 77, 0.5); /* Adjust the opacity and color values as desired */
    background-repeat: no-repeat;
    background-size: cover;
}

.drop-shadow {
    -webkit-box-shadow: 2px 4px 11px -7px rgba(0,0,0,0.9); 
    box-shadow: 2px 4px 11px -7px rgba(0,0,0,0.9);
}

p {
    font-weight: 300;
    line-height: 1.3;
}

.products-mobile, .flex-mobile-container, .mobile-quote, .mobile-logo, .mobile-all-products {
    display: none;
}

.main-products-nav {
    text-align: center;
    margin-bottom: 3rem;
    margin-inline: 2rem;
    background-color: white;

    padding: 0.5rem;
    border-radius: 0 0 0.5rem 0.5rem;
    color: var(--red);
}

.main-products-nav a, .main-products-nav p {
    color: var(--red);
}



.hover-effect {
    position: relative;
    display: inline-block;
  }
  
.hover-effect::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 2px;
    background-color: black;
    transition: width 0.3s;
  }
  
.hover-effect:hover::before {
    width: 100%;
  }
  


/* HEADER */

.header-top-red-bar {
    display: flex;
    justify-content: space-between;
    background-color: var(--red);
    
    border-bottom: 1px solid var(--black);
    padding-block: 0.2rem;
    padding-inline: 1.5rem;
}

.header-top-red-bar p {
    color: white;
}

.header-top-left-container {
    display: flex;
    align-items: center;
}

.header-top-left-container div {
    display: flex;
    align-items: center;

}

.header-top-red-bar img {
    width: 2rem;
}

.header-top-right-container {
    margin-right: 2rem;
    display: flex;
    align-items: center;
}

.header-top-social-media {
    margin-left: 1rem;
}

.header-main-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: solid 0.5rem var(--yellow);
    padding-block: 1.5rem;
    background-color: white;
}

nav {
    margin-right: 10rem;
    width: 30rem;
    display: flex;
    justify-content: space-between;
    align-items: center ;
}

.nav-a {
    color: var(--red);
    font-weight: bold;
    font-size: 1.4rem;
    position: relative;
    overflow: hidden;
}

.nav-a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--red);
    transform: translateX(-100%);
    transition: transform 0.3s ease-out;
}

.nav-a:hover::after {
    transform: translateX(0%);
}


.add-resources {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}




/* MAIN SECTION */

main {

    max-width: 1200px;
    margin: 0 auto;
    margin-block: 8rem;

    
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
    gap: 2rem;
    width: 100%;


}

.grid-1fr, .grid-2fr {

    -webkit-box-shadow: 0px 0px 14px -3px rgba(0,0,0,0.71); 
    box-shadow: 0px 0px 14px -3px rgba(0,0,0,0.71);
    background-color: white;
    border-radius: 0.5rem;
}

.grid-2fr{
    grid-column: span 3;

    border-radius: 0.5rem;
}

.section-header {
    
    margin-block: 1rem;
    background-color: var(--red);
    padding: 1rem;
    border-radius: 1rem 0;
    text-align: center;
    color: white;
}

/*PRODUCTS */

.products-box {

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; 
    padding-bottom: 1rem;
    padding-top: 1rem;
    background-color: white;
    

}

.products-img-overlay {
        position: relative;
        display: inline-block;
    }
    
.products-img-overlay:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--red);
        opacity: .1;
        transition: opacity .3s ease;
        border-radius: 0.5rem;
    }
    
.products-img-overlay:hover:before {
        opacity: 0;
    }
    
.products-img{
        max-width: 15rem;
        border-radius: 0.5rem;
        display: block;
    }


.product-header {
    font-weight: 500;
    margin-top: 1rem;
   
}

.products-text {
    text-align: center;
    padding: 1rem;
    border-radius: 0.5rem 0.5rem 0 0;
    
}



/*SPECIALS*/

.products-specials-text-container {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: #3333330c;
}
    

.products-specials-box {
    text-align: center;

}

.products-specials-list-container {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    margin-block: 2rem;
    background-color: #3333331f;
    padding: 0.5rem;
    border-radius: 1rem 0 1rem 0;
    text-align: left;
    height: 5rem;

}

.products-specials-list-container p {
    margin-block: 0.3rem;
    font-weight: 500;
}

.specials-img {
    width: 90%;
    border-radius: 1rem;
    margin: 1rem;
}

.products-specials-text {
    margin-block: 1rem;
    text-align: left;
}

.products-specials-text h2 {
    font-size: 4rem;
    font-weight: 500;
}


/*TESTIMONIALS*/


.testimonials-master-container {
    display: flex;
    justify-content: center;
    text-align: center;
 
    
    
}

.testimonials-p {
    font-weight: 400;
    font-size: 1.7rem;
    text-align: center;
   
    display: flex;
    justify-content: center;
    align-items: center;
}

.testimonials-master-container img {
    width: 7rem;
}


/*BRANDS*/

.brands-section-container {
    margin-bottom: 5rem;
    
}

.brands-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-block: 1rem;
    background-color: white;
    border-radius: 0.5rem;
    -webkit-box-shadow: 0px 0px 14px -3px rgba(0,0,0,0.71); 
    box-shadow: 0px 0px 14px -3px rgba(0,0,0,0.71);
    padding: 2rem;
}

.brands-container img {
    width: 85%;
    margin-bottom: 1rem;

}

.brands-header-p {
    font-weight: 400;
    font-size: 2.5rem;
}

.brands-subheader-p {
    font-weight: 400;
    font-style: italic;
    font-size: 1.2rem;
}

.contact-us-container {
    text-align: center;
    margin-block: 3rem;
}

/* NEXT PROJECT */

.next-project-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background-color: white;
    padding: 0.1rem;
    padding-block: 1rem;
    border-radius: 0.5rem;
 
}

.next-project-img {
    max-width: 50rem;
    
    border-radius: 0.5rem;
}

.next-project-ace-logo {
    width: 20rem;
    margin-bottom: 2.5rem;
}

.next-project-right-container {

    
    margin: 2rem;
}

.next-project-left-text-container {
    display: flex;
    justify-content: space-between;
}

.next-project-left-text-container p {

    width: 35rem;
    line-height: 1.5;
    margin-block: 1rem;
}


/*FOOTER SECTION*/

.top-footer, .footer-phone, .footer-email {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-inline: 1rem;
}

.top-footer img {
    max-width: 2.5rem;

}

.top-footer {
    background-color: whitesmoke;
    padding: 1rem;
    
}

.bottom-footer {
    
    background-color: var(--red);
    text-align: center;
    padding: 1rem;
}

.bottom-footer p {
    color: var(--yellow);
    font-weight: 400;
}

/*MODAL*/
/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.8); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
    background-color: #fffbfb;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
}

/* The Close Button */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

@media screen and (max-width: 1200px) {
    .grid-container {
        grid-template-columns: repeat(2, 1fr);
        margin: 0 auto;
        width: 85%;
    }

    .grid-2fr{
        grid-column: span 2;
    
        border-radius: 0.5rem;
    }

        
    .products-img{
            max-width: 20rem;
        }





    .testimonials-master-container {
        display: none;
    }

    .brands-section-container {
        margin: 0 auto;
        width: 70%;
    }

    .brands-index {
        display: none;
    }

    .section-header {
        text-align: center;
        margin-inline: 1rem;
     }

     .next-project-right-container {

    
        display: none;
    }

}

@media screen and (max-width: 954px) {
    nav {
        margin-right: 1rem;

    }

    .brands-section-container, .next-project-container, .ready-next-project {
        display: none;
    }

    .products-specials-text h2 {
        font-size: 3.5rem;
    }

    .products-specials-text-container {
        margin: 1rem;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 860px) {

    .products-img{
        max-width: 15rem;
    }

    .desktop-logo {
        width: 7rem;
    }



}



@media screen and (max-width: 681px) {

    .desktop-logo {
        display: none;
    }



    main {


        margin-block: 4rem;
        
    }

    .grid-container {
        display: none;
    }


    .products-mobile {
        display: block;
        text-align: center;
        font-size: 2rem;
    }

    .section-header {
        display: none;
    }



    .products-specials-box {
        display: none;
    }

    .products-box {
        padding: 1rem;
        border-radius: 0.5rem;
        width: 20rem;
        margin: 0 auto;
    }


    .header-top-red-bar {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }

    .header-top-right-container p {
        display: none;
    }

    .flex-mobile-container {
        
        display: flex ;
        flex-direction: column;
        gap: 1rem;
        margin: 1rem;
        
    }

    .top-footer {
        display: none;
    }

}


@media screen and (max-width: 535px) {
    .mobile-nav {
        display: none;
    }

    .mobile-quote {
        display: block;
        
    }

    .header-main-bar {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .mobile-logo {
        display: block;
        margin-bottom: 2rem;
        width: 12rem;
    }

    .mobile-all-products {
        display: block;
        text-align: center;
    }

    .contact-us-container {
        display: none;
    }




}

@media screen and (max-width: 366px) {
    .products-box {
        padding: 1rem;
        border-radius: 0.5rem;
        width: 17rem;
        margin: 0 auto;
    }

    .products-box p {
        font-size: 0.85rem;
        font-weight: bold;
    }


}
