/* CSS Reset */

/* makes sizing simpler */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* remove default spacing */
/* force styling of type through styling, rather than elements */
* {
    margin: 0;
    padding: 0;
    font: inherit;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
    list-style: none;


}

/* dark mode user-agent-styles */
/* improves punctuation in supported browsers */
html {
    color-scheme: dark light;
    hanging-punctuation: first last;
}

/* min body height */
body {
    min-height: 100svh;
}

/* responsive images/videos */
img,
picture,
svg,
video {
    display: block;
    max-width: 100%;
}

/* Improved heading in supported browsers */
h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
}

/* Remove Underline Links from Bootstrap */
a:link { 
    text-decoration: none; 
}    
a:visited { 
    text-decoration: none; 
} 
a:hover { 
    text-decoration: none; 
} 
a:active { 
    text-decoration: none; 
}
  
/* improve readability with max-width on paragraphs and lists */
/* prevent orphans in supported browsers */
p,
li {
    max-width: var(--p-max-width, 65ch);
    text-wrap: pretty;
}

/* Header */

header{
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    padding: 15px 240px;
    transition: all .5s ease;
}

.logo{
    display: flex;
    align-items: center;
}
  
.logo i{
    color: #073611;
    font-size: 3rem;
    font-weight: 100;
}

#logo-img{
    font-size: 3rem;
    max-width: 70px;
    padding-right: 5px;
}

#logo-img2{
    font-size: 3rem;
    max-width: 70px;
    padding-right: 5px;
}
  
.logo-text {
    font-size: 2rem;
    font-weight: 400;
    color: #073611;
}

.navbar{
    display: flex;
}
  
.navbar a{
    color: #073611;
    font-size: 1rem;
    font-weight: 500;
    padding: 5px 0;
    margin: 0px 30px;
    transition: all .5s ease;
}
  
.navbar a:hover{
    color: #0d8a6f;
}
  
.navbar a.active{
    color: #0d8a6f;
}

ul .navbar{
    border-style: dotted;
}

.header-right{
    display: flex;
    align-items: center;
}
  
.header-right a{
    color: black;
    font-size: 1.1rem;
    font-weight: 1000;
    transition: all .5s ease;
}

.ri-menu-line{
    font-size: 35px;
    color: var(--text-color);
    cursor: pointer;
    z-index: 10001;
    display: none;
}

.offcanvasnavbar a li{
    justify-content: center;
    font-size: small;
    font-weight: 100;
}
  
button{
    padding: .5em 1.2em .5em;
    border-radius: 10px;
    border: 1px solid #073611;
    background-color: white;
    color: #073611;
    font-weight: 700;
    font-size: 1.3rem;
    text-align: center;
    transition: all 0.3s ease 0s;
}
  
button:hover{
    background-color: #073611;
    color: white;
}

.bg-hero{
    position: absolute;
    object-fit: cover;
    top: 0;
    z-index: -1;
    height: 100vh;
    
}

/* Hero Section */

.hero-section{
    position: relative;
    /* height: 80vh; */
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    margin: 10px 240px;
    padding-top: 20px;
}

.hero-text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 75%;
}

.hero-text-1 h1{
    font-family: 'Raleway', sans-serif;
    font-weight: 800;
    font-size: 1.8em;
}

.hero-image{
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 80%;
    /* max-width: 50%; */
}

.cta-hero{
    padding-bottom: 20px;
}

img .hero-stock-image{
    width: 100%;
    height: 300px;
    object-fit: cover;
}
  
.hero-text-1{
    padding-top: 5px;
    font-size: 2.3vw;
    color: #073611;
}

.hero-text-2 p{
    font-size: 1em;
    color: #073611;
    font-weight: 400;
}

/* Partner Section */

.partner-section{
    /* background-color: #409954; */
    width: 100%;
    z-index: -1;
}

.partner-image-container{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 0px 240px;
}

.partner-image{
    max-height: 80px;
    padding: 10px;
}

/* Showcase Section */
.showcase-section{
    justify-content: center;
    padding-top: 150px;
    padding-bottom: 150px;
}

.showcase-top-text{
    text-align: center;
    font-size: 3em;
    font-weight: 600;
}

.showcase-bottom-text{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 240px;
    padding-right: 240px;
}

.showcase-bottom-text1, .showcase-bottom-text2, .showcase-bottom-text3{
    margin: 20px;
}

.showcase-bottom-text1-number, .showcase-bottom-text2-number, .showcase-bottom-text3-number{
    font-size: 4em;
    font-weight: 700;
    text-align: center;
    color: #073611;
}

.showcase-bottom-text1-text, .showcase-bottom-text2-text, .showcase-bottom-text3-text{
    font-size: 1em;
    text-align: center;
}

/* Services Alt Section */
.services-alt-section{
    display: flex;
    padding: 100px 240px 100px 240px;
    flex-wrap: wrap;
    justify-content: center;
    background-color: #073611;
}

.services-alt-text{
    width: 50%;
    min-width: 300px;
}

.services-alt-text-1 h1{
    font-size: 2.8em;
    font-weight: 700;
    color: white;
}

.services-alt-text-2 p{
    color: white;
}

.cta-services-alt-id a:hover{
    border: white;
    border-style: dashed;
}

.accordion{
    width: 50%;
    padding: 20px;
    min-width: 300px;
}

/* Works Section */

.works-section{
    margin: 0px 240px;
    padding-top: 100px;
}

.works-title h1{
    font-size: 3em;
    font-weight: 800;
    color: #073611;
}

.works-description p{
    font-size: 1em;
    font-weight: 400;
}

.works-flexbox{
    display: flex;
    justify-content:center;
    flex-wrap: wrap;
}

.wbox{
    padding: 120px;
    margin: 15px;
    border-style: dotted;
}

.card{
    margin: 30px;
}

.btn-primary{
    /* background-color: #073611; */
    border: none;
}

.btn-primary a:hover{
    background-color: #073611;
    border: none;
}

/* Footer */

footer{
    margin-top: 100px;
    margin-bottom: 50px;
    margin-right: 240px;
    margin-left: 240px;
}

.footer-logo-and-socials{
    display: flex;
    justify-content: space-between;
}

.footer-logo i{
    color: #073611;
    font-size: 3rem;
    font-weight: 100;
}

.fb-logo i{
    color: #073611;
    font-size: 3rem;
    font-weight: 80;
}

.instagram-logo i{
    color: #073611;
    font-size: 3rem;
    font-weight: 80;
}

.linked-in-logo i{
    color: #073611;
    font-size: 3rem;
    font-weight: 80;
}

.tiktok-logo i{
    color: #073611;
    font-size: 3rem;
    font-weight: 80;
}

.footer-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer-column{
    display: flex;
    flex-direction: column;
    margin: 2%;
}

.footer-copyright-toc{
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
    border-top-style: solid;
    border-width: 1px;
    border-color: rgb(194, 196, 199);
}

footer h3, p{
    padding: 10px;
}

/* Media Queries */

@media (max-width: 1440px){
    header{
        padding: 15px 120px;
        transition: .2s;
    }

    .hero-section{
        margin: 120px;
    }

    .partner-image-container{
        margin: 120px;
    }

    .services-alt-section{
        padding: 120px;
    }

    .works-section{
        margin: 120px;
    }

    footer{
        margin: 120px;
    }
}
@media (max-width: 1280px){
    header{
      padding: 15px 5%;
      transition: .2s;
    }
  
    .navbar a{
      padding: 5px 0;
      margin: 0px 20px;
    }
  
    .hero-section{
      margin: 5%;
    }

    .hero-text-1{
        font-size: 2.3vw;
    }

    .hero-text-2{
        font-size: 1.3em;
    }

    .partner-image-container{
        margin: 5%;
    }

    .showcase-top-text{
        padding: 5%;
    }
    .showcase-bottom-text{
        padding: 5%;
        text-align: center;
        justify-content: center;
    }

    .services-alt-section{
        padding: 5%;
    }

    .works-section{
        margin: 5%;
    }

    footer{
        margin: 5%;
    }

    .footer-list{
        justify-content: space-around;
    }
}
  
  
@media (max-width: 1000px){
    .ri-menu-line{
      display: block;
    }
  
    .call-to-action{
      display: none;
    }
  
    .navbar{
      position: absolute;
      top: 100%;
      left: 0%;
      width: 100%;
      /* backdrop-filter: blur(6px); */
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      transition: all .5s ease;
      text-align: center;
    }
  
    .navbar a{
      /* display: block; */
      display: none;
      margin: 20px 0;
      padding: 0px 25px;
      transition: all .5s ease;
    }
  
    .navbar a:hover{
      color: var(--text-color);
      transform: translateY(5px);
    }
  
    .navbar a-active{
      color: var(--text-color);
    }
  
    .navbar.open{
      right: 0%;
    }
  
    .hero-text-1{
        font-size: 4vw;
    }

    .hero-text-2{
        font-size: 1em;
    }

    .hero-image{
        order: 1;
    }

    .services-alt-text{
        width: 100%;
        padding: 0px 20px;

    }

    .accordion{
        width: 100%;
    }
}

 /* The Modal (background) */

#myBtn, #myBtn1, #myBtn2, #myBtn3, #myBtn4, #myBtn5, #myBtn6, #myBtn7, #myBtn8, #myBtn9, #myBtn10, #myBtn11{
    padding: 0;
    border: none;
}

#myBtn a:hover{
    background-color: none;
}
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* 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.4); /* Black w/ opacity */
}
  
/* Modal Content/Box */
.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 15px;
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
    max-width: 800px;
}
  
/* 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 (max-width: 700px){
    .hero-text-1{
        text-align: center;
        font-size: 1.5em;
    }
    .hero-text-2{
        text-align: center;
    }
}

@media (max-width: 700px){
    .hero-section{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
  
    .hero-text{
        align-items: center;
        order: 2;
    }

    .footer-logo-and-socials{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-socials i{
        font-size: 2em;
        color: #073611;
        padding: 10px;
    }

    .footer-copyright-toc{
        display: flex;
        flex-direction: column;
        font-size: 1em;
    }

    .footer-copyright{
        padding-bottom: 10px;
    }
}

/* Animations */

img, div{
    animation: fade linear both;
    animation-timeline: view();
    animation-range: entry 50% cover 50%;
}

.footer-copyright{
    animation: none;
}

@keyframes fade {
    0%{
        opacity: .25;
    }

    50%{
        opacity: 1;
    }
}

@keyframes scroll {
    /* scrolling funtion */
    0% {
        transform: translateY(100px);
    }
    5% {
      transform: translateY(0);
    }
  }