@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700;900&display=swap');

:root {
    --red-hue: 3;
    --red-saturation: 85.5%;
    --red-lightness:57.3%;
    --green-primary: #0e7a3c;
    --red-primary: #ed4020;
    --paragraph-font: "Jost", sans-serif;
    --section-title-weight: 700;
    --section-title-size: 2rem;
    --small-heading-size: 1.25rem;
    --small-heading-weight: 600; 
}

*,
::after,
::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    margin: 0;
    
    overflow-x: hidden;
    font-family: var(--paragraph-font);
}

.for-overflow{
    overflow-x: hidden;
}

ul,
li {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
h4 {
    margin: 0;
    padding: 0;
    border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

/*===== UTILITY CLASSES =====*/

.container {
    width: clamp(42.875rem, 4.5965rem + 79.7468vw, 74.375rem);
    margin: 0 auto;
}

.section-padding{
    padding-block: 3rem;
}

.cta-btn{
    background: black;
    outline: none;
    border: none;
    color: white;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cta-btn a{
    font-size: 1rem;
    font-weight: 700;
    color: white;
    text-decoration: none;
}

.cta-btn:hover{
    transform: scale(1.05);
}

/*===== NAV AND HERO STYLES =====*/

.nav-and-hero{    
    width: 100%;
    height: clamp(25rem, 6.4684rem + 38.6076vw, 40.25rem);
    max-height: 900px;
    position: relative;
}

.nav-and-hero .background-image{
    height: clamp(25rem, 6.4684rem + 38.6076vw, 40.25rem);
    width: 100%;
    background-color: var(--green-primary);
    position: relative;
}

.nav-and-hero .background-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1402 / 895;
}

.video{
    width: min(850px, 60.7vw);
    height: clamp(25rem, 6.4684rem + 38.6076vw, 40.25rem);
    
    clip-path: circle(99.3% at 100% 1%);
    position: absolute;
    right: 0;
    top: 0;
    isolation: isolate;
    background-image: url("../images/briquettes-23.webp");
    background-repeat: no-repeat;
    background-size: cover;
    isolation: isolate;
    background-blend-mode: multiply;
}

/*.video::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: black;
    z-index: 1;
    opacity: 0.5;
    clip-path: circle(99.3% at 100% 1%);
} */

/*video{
    width: 100%;
    height: 650px;
    position: relative;
    display: none; 
}*/



#background-video {
    width: min(850px, 60.7vw);
    height: clamp(25rem, 6.4684rem + 38.6076vw, 40.25rem);
    object-fit: cover;
    position: absolute;
    
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
  }

.nav-and-hero .background-image .small-briq {
    position: absolute;
    height: min(500px, 36.7vw);
    top: 25%;
    right: clamp(9.5rem, -5.5380rem + 31.3291vw, 21.875rem);
    object-position: center center;
}

.nav-and-hero .background-image .small-briq img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 368 / 391;
}

.nav-and-hero .container{
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    transform: translateX(-50%);   
}

.nav-and-hero .container .nav-bar{
    padding: 2rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-and-hero .container .nav-bar .nav-branding{
    flex-basis: 30%;
}

.nav-and-hero .container .nav-bar .nav-menu{
    flex-basis: 40%;
    display: none;
}

.nav-and-hero .container .nav-bar .nav-menu .main-nav{
    display: flex;
    gap: 2rem;
    padding-inline: 2rem;
}

.nav-and-hero .container .nav-bar .nav-menu a{
    text-decoration: none;
    
    font-weight: bold;
    color: white;
    position: relative;
    transition: width 200ms ease;
}

.nav-and-hero .container .nav-bar .nav-menu a:hover{
    color: var(--green-primary);
}

.nav-and-hero .container .nav-bar .nav-menu a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -5%;
    background: var(--green-primary);
    width: 0;
    height: 2px;
    transition: width 200ms ease;
}

.nav-and-hero .container .nav-bar .nav-menu a:hover::after{
    width: 100%;
}

.active-menu a{
    color: var(--green-primary)!important;
}

.active-menu a::after{
    width: 100% !important;
}



.nav-and-hero .container .hero-body{ 
    position: absolute;   
    top: clamp(14.375rem, 7.3877rem + 14.5570vw, 20.125rem);
    transform: translateY(-50%);
    width: 40%;
}

.nav-and-hero .container .hero-body .heading{
    color: white;
    line-height: 0;
    font-size: clamp(0.85rem, 0.6677rem + 0.3797vw, 1rem);
}

.nav-and-hero .container .hero-body .heading h1{
    display: inline;
}

.nav-and-hero .container .hero-body h2{
    font-size: clamp(2rem, 0.7848rem + 2.5316vw, 3rem);
    font-weight: 900;
    color: white;
}

.nav-and-hero .container .hero-body span.hero-brief{
    display: none;  
    position: relative;
    isolation: isolate;
     
}

.nav-and-hero .container .hero-body  h2 span::before{
    content: "";
    position: absolute;
    z-index: -1;
    top: 20%;
    transform: translateX(-50%);
    left: 0;
    width: 100%;
    height: 60%;
    margin-block: auto;
    background: var(--red-primary);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 200ms ease-in;
    margin: 0;
}


.nav-and-hero .container .hero-body span[data-active]{
    display: initial;    
}

.nav-and-hero .container .hero-body span[data-active]::before{
    transform: scaleX(100%);
    transform-origin: left;
}

.nav-and-hero .container .hero-body  p{
    color: white;
}

.nav-and-hero .container button{
    position: absolute;
    top: clamp(21.25rem, 15.3259rem + 12.3418vw, 26.125rem);
    background: black;    
}

/*===== FEATURES STYLES =====*/

section.features{
    width: 100%;
}

section.features h2{
    text-align: center;
    color: var(--red-primary);
    font-size: clamp(1.5rem, 1.3269rem + 0.7692vw, 2rem);
    font-weight: var(--section-title-weight);
}

section.features .container{
    padding-block: 2.5rem;
    margin-block: 2rem;
}

section.features .container .features-icons{
    display: flex;
    gap: clamp(1rem, -1.4304rem + 5.0633vw, 3rem);
    justify-content: space-between;
}

section.features .container .features-icons .features-card{
    width: clamp(12rem, 9.5696rem + 5.0633vw, 14rem);
    padding: 1.5rem 2rem;
    padding-block: clamp(1.25rem, 0.9462rem + 0.6329vw, 1.5rem);
    padding-inline: clamp(1rem, -0.2152rem + 2.5316vw, 2rem);
    border: 1px solid var(--green-primary);
    border-radius: 0.5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

section.features .container .features-icons .features-card:not(:last-child) img{
    width: 100px;
    margin-top: 0.75rem;
}

section.features .container .features-icons .features-card:last-child img{
    height: 100px;
}

section.features .container .features-icons .features-card h4{
    background: var(--green-primary);
    margin-top: 1rem;
    font-size: var(--section-title-weight);
    color: white;
    font-weight: var(--section-title-weight);
    padding: 0.25rem 1rem;
}

section.features .features-cta{   
    text-align: center;
}

/*===== VERTICLES STYLES =====*/

section.verticles {
    padding-top: 0;
}

section.verticles h2, section.verticles > p{
    text-align: center;
    color: var(--green-primary);
}

section.verticles h2 {
    color: var(--red-primary);
    font-size: clamp(1.5rem, 1.3269rem + 0.7692vw, 2rem);
    font-weight: var(--section-title-weight);
}

section.verticles .container{
    padding-block: 2.5rem;
    width: clamp(60.8125rem, 23.8763rem + 57.7128vw, 74.375rem);
}

section.verticles .container .verticles-cards{
    display: flex;
    flex-wrap: no-wrap;
    gap: 1rem;
    justify-content: space-between;
}

section.verticles .container .verticles-cards .verticle-card{
    flex-basis: 365px;
    background: black;
    border-radius: 1vw;   
    position: relative; 
    overflow: hidden;
}

section.verticles .container .verticles-cards .verticle-card .verticle-img{
    width: 100%;
    height: auto;
}

section.verticles .container .verticles-cards .verticle-card .verticle-img img{
    width: 100%;
    height: auto;
    aspect-ratio: 139 / 93;
    border-top-left-radius: 1vw;
    border-top-right-radius: 1vw;
}

section.verticles .container .verticles-cards .verticle-card h4{
    font-size: var(--small-heading-size);
    font-weight: var(--small-heading-weight);
    color: var(--green-primary);
    padding: 1rem 0 0.5rem 2rem;
    padding-left: clamp(1rem, -1.7234rem + 4.2553vw, 2rem);
}

section.verticles .container .verticles-cards .verticle-card p{
    padding: 0 2rem;
    padding-left: clamp(1rem, -1.7234rem + 4.2553vw, 2rem);
    color: white;
}

section.verticles .container .verticles-cards .verticle-card .card-btn{
    width: 100%;
    display: flex;
    justify-content: center;
}

section.verticles .container .verticles-cards .verticle-card .card-showing{
    position: relative;
}

button.more{
    margin-block: 2rem;
    text-align: center;
    background: var(--red-primary);
}

section.verticles .container .verticles-cards .verticle-card .verticle-detail{
    position: absolute;
    top: 53.5%;
    z-index: 1;
    background: black;
    
    border-bottom-left-radius: 1vw;
    border-bottom-right-radius: 1vw;
    transform: translateY(0);
    /*transition: transform 0.5s ease-in-out;*/
    
    visibility: hidden;
    
}

.short-para{
    margin-bottom: 2.5rem;
}

section.verticles .container .verticles-cards .verticle-card  .close{
    
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--red-primary);
    border-radius: 50%;
    position: absolute;
    top: 2%;
    right: 1%;
    color: white
}

section.verticles .container .verticles-cards .verticle-card .reveal-detail{
    transform: translateY(-47%);
    visibility: visible;
    transition: transform 0.5s ease-in-out;
}

.return-overflow{
    overflow: visible;
}


/*===== TESTIMONIAL STYLES =====*/

section.testimonial h2{
    text-align: center;
    color: var(--red-primary);
    font-size: clamp(1.5rem, 1.3269rem + 0.7692vw, 2rem);
    font-weight: var(--section-title-weight);
}

section.testimonial .container{
  display: flex;
  justify-content: center;
  margin-block: 3rem;
  flex-direction: column;
  align-items: center;
}

section.testimonial .container .carousel {   
    overflow: hidden;
    width: clamp(45.625rem, 42.5870rem + 6.3291vw, 48.125rem);  
    padding: 2rem;
    box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}

section.testimonial .container .carousel .carousel-inner{
    display: flex;
    width: 300%;
    transition: all 0.5s ease;
    transform: translate(0);  
}


section.testimonial .container .carousel .carousel-inner .carousel-item{
    flex-basis: 100%;
   display: flex;
   height: 100%;
   justify-content: center;
   gap: clamp(1rem, 0.6538rem + 1.5385vw, 2rem);
   align-items: center;   
   padding: 2rem;
   padding-block: clamp(0rem, -0.6923rem + 3.0769vw, 2rem);
}

section.testimonial .container .carousel-inner .carousel-item h4{
    font-size: var(--small-heading-size);
    font-weight: var(--small-heading-weight);
    color: var(--red-primary);
    
}

section.testimonial .container .carousel-inner .carousel-item i{
    color: var(--green-primary);
    margin-bottom: 1rem;
}

section.testimonial .container .carousel-inner .carousel-item h5{
    margin-top: 1rem;
    color: var(--green-primary);
    font-size: 1.2rem;
}

section.testimonial .container .control-btns{
 width: 100%;
 padding-block: 2rem;
 display: flex;
 justify-content: center;
 gap: 0.25rem;
}

section.testimonial .container .control-btns button{
    width: 20px;
    height: 20px;
    background: transparent;
    border: 2px solid var(--red-primary);
    border-radius: 50%;
    cursor: pointer;
}

section.testimonial .container  .control-btns button[data-active-btn]{
    background: var(--green-primary);
}

/*===== NUMBERS STYLES =====*/

section.numbers {
    background: url("../images/briquettes-14.webp");
    background-repeat: no-repeat;
    background-size: cover
}

section.numbers .container{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    padding-block: 3rem;
    color: white;
    width: clamp(53.4375rem, 39.3750rem + 25.0000vw, 61.25rem);
}

section.numbers .container .number-card{
    display: flex;
    flex-direction: column;
    text-align: center;
}

section.numbers .container .number-card h4{
    font-size: 5rem;
    font-weight: 700;
    color: var(--red-primary);
}

section.numbers .container .number-card p{
    font-size: 2rem;
    font-weight: 600;
    color: var(--green-primary);
    line-height: 1;
}

footer{   
    padding-block: 3rem;
    color: white;
    background: black;    
}

footer .main-footer{
    display: flex;
    justify-content: space-between;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

footer .main-footer .location{
    flex-basis: clamp(34.625rem, 16.6250rem + 32.0000vw, 44.625rem);
    display: flex;
    justify-content: space-between;
}

footer .main-footer .location .location-card{
    display:flex;
    
    align-items: flex-end;
    gap: 1.2rem;
}

footer .main-footer .location .location-card p{
    opacity: 0.8;
}

footer .main-footer .location .location-card:first-child p{
    margin-bottom: -0.5rem;
}

footer .secondary-footer{
    text-align: center;
    padding-top: 3rem;
    opacity: 0.8;
}

footer .secondary-footer p:nth-child(2){
    font-size: 0.9rem;
    
}





/*===== MEDIA QUERIES =====*/

@media screen and (max-width: 1023px){
    /* VERTICLES SMALL DEVICES */

    section.verticles .container{
        width: 90%;
    }

    section.verticles .container .verticles-cards{
        flex-wrap: wrap;
    }

    section.verticles .container .verticles-cards .verticle-card{
        flex-basis: 395px;
        height: 467.27px;
    }

    section.verticles .container .verticles-cards .verticle-card h4, section.verticles .container .verticles-cards .verticle-card p{
        padding-left: 2rem;
    }

    section.verticles .container .verticles-cards .verticle-card .reveal-detail{
        transform: translateY(-35%);
    }
}

@media screen and (max-width: 899px){
    section.verticles .container .verticles-cards{
        justify-content: center;
    }

    /* NUMBERS SMALL DEVICES */
    section.numbers .container{
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 1rem;
        width: clamp(30.375rem, -4.2188rem + 102.5000vw, 53.4375rem);
    }

    /* FOOTER SMALL DEVICES */
    footer .main-footer{
        flex-direction: column;
        gap: 2rem;
    }

    footer .main-footer .location{
        flex-basis: 0;
    }
}

@media screen and (max-width: 767px){
    .container{
        width: 90%;
    }

    .nav-and-hero{
        height: clamp(36.25rem, 29.6161rem + 29.4840vw, 43.75rem);
    }

    .nav-and-hero .background-image{
        height: clamp(36.25rem, 29.6161rem + 29.4840vw, 43.75rem);
    }

    .video{
        width: 100%;
        min-width: 350px;
        
        height: 52vw;
        min-height: 300px;
    }

    #background-video{
        width: 100%;
        min-width: 350px;
        
        height: 52vw;
        min-height: 300px;
    }

    .nav-and-hero .container .nav-bar{
        position: relative;
    }

    .nav-and-hero .container .hero-body{
        top: calc(65vw + 80px);
        width: clamp(20.25rem, 7.6326rem + 56.0771vw, 34.514625rem);
    }

    .nav-and-hero .container .nav-bar .nav-branding{
        position: absolute;
        top: clamp(1.1875rem, 0.1371rem + 4.6683vw, 2.375rem);
    }

    .nav-and-hero .container .nav-bar .nav-branding img{
        width: clamp(7.5rem, 5.2887rem + 9.8280vw, 10rem);
    }

    .nav-and-hero .background-image .small-briq{
        top: clamp(9rem, 8.0049rem + 4.4226vw, 10.125rem);
        right: initial;
        left: 5%;
        min-height: 180px;
    }

    .nav-and-hero .container button{
        top: calc(58vw + 20px);
    }

    /* FEATURES SMALL DEVICES */

    section.features .container .features-icons{
        flex-wrap: wrap;
        justify-content: center;
    }

    /* TESTIMONIAL SMALL DEVICES */
    section.testimonial .container .carousel .carousel-inner .carousel-item{
        flex-direction: column;
    }

    section.testimonial .container .carousel{
        width: clamp(21.3125rem, 6.2204rem + 67.0762vw, 38.375rem);
        padding: clamp(0.75rem, -0.3557rem + 4.9140vw, 2rem);
    }

    section.testimonial .container .carousel .carousel-inner img{
        width: 150px;
    }

    section.testimonial .container .carousel-inner .carousel-item .quote{
        display: flex;
        flex-direction: column;
    }

    section.testimonial .container .carousel-inner .carousel-item h4{
        text-align: center!important;
    }

    section.testimonial .container .carousel-inner .carousel-item .quote .rating{
        display: inline-block;
        margin-inline: auto;
    }

    section.testimonial .container .carousel-inner .carousel-item .quote p, section.testimonial .container .carousel-inner .carousel-item .quote h5{
        text-align: center;
    }

    
}

@media screen and (max-width: 691px){
    .nav-and-hero .container .hero-body{
        top: calc(65vw + 110px);
        
    }

    .nav-and-hero .container button{
        top: calc(58vw + 40px);
    }
}

@media screen and (max-width: 590px){
    .nav-and-hero .container .hero-body{
        top: clamp(29.0625rem, 9.0485rem + 64.0449vw, 32.625rem);
        
    }

    .nav-and-hero .container button{
        top: clamp(21.5rem, 4.6461rem + 53.9326vw, 24.5rem);
    }

    footer .main-footer{
        align-items: center;
    }

    footer .main-footer .location{
        flex-direction: column;
        gap: 2rem;
    }

    footer .main-footer .location .location-card:nth-child(2) img{
        width: 67.19px;
    }

}

@media screen and (max-width: 539px){
    section.numbers .container{
        grid-template-columns: repeat(1, 1fr);
        width: 80vw;
    }
}

@media screen and (max-width: 463px){
    .nav-and-hero .container .hero-body{
        top: 480px;
        
    }
}

@media screen and (max-width: 440px){
    section.verticles .container .verticles-cards .verticle-card{
        flex-basis: 350px;
        height: 440px;
    }

    
    section.verticles .container .verticles-cards .verticle-card .reveal-detail {
        transform: translateY(-45%);
    }

    section.verticles .container .verticles-cards .verticle-card h4, section.verticles .container .verticles-cards .verticle-card p{
        padding-left: 1rem;
    }
}