@font-face {
    font-family: 'Apercu';
    font-style: normal;
    font-weight: 300;
    src: url(fonts/Apercu/Apercu_Light.otf);
}

@font-face {
    font-family: 'Apercu';
    font-style: normal;
    font-weight: 400;
    src: url(fonts/Apercu/Apercu_Regular.otf);
}

@font-face {
    font-family: 'Apercu';
    font-style: normal;
    font-weight: 500;
    src: url(fonts/Apercu/Apercu_Medium.otf);
}

@font-face {
    font-family: 'Apercu';
    font-style: normal;
    font-weight: 600;
    src: url(fonts/Apercu/Apercu_Medium.otf);
}

@font-face {
    font-family: 'Apercu';
    font-style: normal;
    font-weight: 700;
    src: url(fonts/Apercu/Apercu_Bold.otf);
}

:root{
    --btn-primary: transparent linear-gradient(358deg, #319F0C 0%, #48CE1B 100%) 0% 0% no-repeat padding-box;
    --btn-secondary: transparent linear-gradient(180deg, #353535 0%, #000000 100%) 0% 0% no-repeat padding-box;
    --btn-primary-radius: 2px;
    --btn-primary-text: #FFF;
    --whiteBg: #FFF;
    --link-text: #000;
    --hover-text: #319F0C;
    --default-font-size: 15px;
    --larger-font-size: 17px;
    --smaller-font-size: 13px;

    --hero-title: 64px;
    --section-title: 48px;
    --hero-description: 24px;
    --font-weight-400: normal;
    --font-weight-500: medium;
    --font-weight-700: bold;

    --btn-accordion: #EEFFEC;
    --accordion-collapsed-bg: transparent linear-gradient(180deg, #41DA37 0%, #216D1C 100%) 0% 0% no-repeat padding-box;
    --accordion-collapsed-active: #41DA37;

    --footer-bg: #1E2B1A;
}

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Apercu", "Arial", sans-serif;
    color: #000;
}

html{
    scroll-behavior: smooth;
}

body{
    font-size: 16px;
    height: auto;
	min-height :100vh;
}

ul li{
    list-style-type: none;
}

.container{
    max-width: 1920px; /* overwrite bootstrap */
    padding-inline: 0;
}
.container.fixontop{
   position: sticky;
    top: 0px;
    z-index: 100;
}

.footer-container{
    max-width: 1200px;
}

/* width */
::-webkit-scrollbar {
    width: 10px;
  }
  
  /* Track */
  ::-webkit-scrollbar-track {
    background: #f1f1f1; 
  }
   
  /* Handle */
  ::-webkit-scrollbar-thumb {
    background: var(--hover-text); 
  }
  
  /* Handle on hover */
  ::-webkit-scrollbar-thumb:hover {
    background: #247608; 
  }

.homepage-navbar-wrapper{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 3rem;
    box-shadow: 0px 3px 6px #00000017;
    background-color: #FFF;
}

.sticky-on-top.active{
    position: fixed;
    z-index: 99;
    background-color: var(--whiteBg);
}

#mobileViewNavbar{
    display: none;
}

.homepage-navbar-icon{
    display: flex;
    align-items: center;
}

.homepage-navbar-icon p{
    color: #000000;
    font-size: 16px;
    font-weight: var(--font-weight-700);
    cursor: pointer;
}

.homepage-navbar-icon img{
    /* width: 49px; */
    height: 45px;
}

.homepage-navbar-list-container{
    display: flex;
    align-items: center;
    margin-top: 1rem;
    gap: 3rem;
}

.homepage-navbar-list-container li{
    font-size: var(--default-font-size);
    cursor: pointer;
}

.homepage-navbar-list-container li a{
    text-decoration: none;
    color: var(--link-text);
}

.homepage-navbar-list-container li a:hover{
    color: var(--hover-text);
}

.btn{
    outline: none;
    border: none;
    cursor: pointer;
}

.btn:hover{
    color: var(--btn-primary-text);
}

.btn-login, .btn-hero-registration{
    background: var(--btn-primary);
    border-radius: var(--btn-primary-radius);
    color: var(--btn-primary-text);
    font-size: var(--default-font-size);
    padding: 1rem 2rem;
    border-radius: 5px;
}

.btn-login{
    display: inline-block;
    color: var(--btn-primary-text);
    text-decoration: none;
}

.btn-hero-login{
    display: inline-block;
    /* background: var(--btn-secondary); */
    border: 1px solid #FFF;
    border-radius: var(--btn-primary-radius);
    color: var(--btn-primary-text);
    font-size: var(--default-font-size);
    padding: 1rem 2rem;
    border-radius: 5px;
}

.btn-hero-registration, .btn-hero-login{
    width: 160px;
}

.btn-cart{
    background-color: transparent;
}

.btn-cart img{
    width: 30px;
    height: 30px;
}

.hero-section-container{
    position: relative;
    height: 100vh;
    background-image: url('/images/homepage/cp-banner.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-section-container img{
    height: 100%;
}

.hero-section-content{
    position: absolute;
    top: 30%;
    left: 8%;
}

.hero-section-title{
    text-transform: capitalize;
    color: var(--btn-primary-text);
    margin-block: 1rem 3rem;
    font-size: var(--hero-title);
    font-weight: var(--font-weight-700);
}

.hero-section-description{
    color: var(--btn-primary-text);
    text-transform: uppercase;
    font-weight: 300!important;
    font-size: var(--hero-description);
}

.hero-section-button-container{
    padding: 0;
}

/* START of About Us */
.about-us-container{
    background: url("/images/homepage/about-us-banner.webp");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 4rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.about-us-title{
    font-size: var(--section-title);
    font-weight: var(--font-weight-700);
    text-transform: capitalize;
    text-align: center;
    margin-block: 1rem 2rem;
}

.about-us-description{
    display: flex;
    justify-content: center;
}

.about-us-description p{
    width: 60%;
    text-align: center;
    margin-bottom: 0;
    font-size: var(--larger-font-size);
}

.about-us-plus-icon{
    font-size: 4rem;
    font-weight: var(--font-weight-700);
}

.about-us-content{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 2rem;
}

.about-us-content{
    margin-top: 3rem;
}

.about-us-content-box{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.about-us-content-box img{
    width: 40%;
    margin-bottom: 3rem;
}

.about-us-content-box p{
    font-size: var(--default-font-size);
    text-transform: uppercase;
    font-weight: var(--font-weight-700);
}

/* END of About Us */

/* START of Our Services */
.our-service-container{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 4rem;
    background-color: #FFF;
}

.our-service-container h3 a{
    color: #989898;
    text-decoration: underline;
    text-transform: uppercase;
    font-size: var(--default-font-size);
    /* font-weight: var(--font-weight-700); */
}

.our-services-content{
    display: flex;
}

.our-services-content-box{
    width: 340px;
    height: 340px;
    position: relative;
    box-shadow: rgba(50, 50, 93, 0.1) 0px 30px 60px -12px inset, rgba(0, 0, 0, 1) 0px -70px 75px -18px inset;
}

.our-services-content-box-bottom{
    position: absolute;
    bottom: 0;
    padding: 2rem;
    color: var(--btn-primary-text);
}

.content-box-arrow{
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 98;
}

.content-box-arrow img{
    width: 48px;
    height: 48px;
}

.our-services-content-box-bottom h5{
    font-size: var(--default-font-size);
    font-weight: var(--font-weight-500);
    color: var(--btn-primary-text);
    font-style: italic;
}

.our-services-content-box-bottom p{
    font-size: var(--larger-font-size);
    color: var(--btn-primary-text);
    margin-bottom: 0;
}

#service-one{
    background: url("/images/homepage/how-to-use-1.webp");
    background-repeat: no-repeat;
    background-size: cover;
}

#service-two{
    background: url("/images/homepage/how-to-use-2.webp");
    background-repeat: no-repeat;
    background-size: cover;
}

#service-three{
    background: url("/images/homepage/how-to-use-3.webp");
    background-repeat: no-repeat;
    background-size: cover;
}
/* END of Our Services */

/* START of FAQ */
#faq{
    display: flex;
    justify-content: center;
    background-color: #FFF;
}

.faq-container{
    width: 80%;
    padding: 4rem;
}

/* overwrite accordion css */
.accordion-item{
    margin-block: 1rem;
    border: none;
    box-shadow: 2px 2px 6px #0000001A;
}

.accordion-button{
    background-color: var(--btn-accordion)!important;
    font-size: var(--larger-font-size)!important;
    font-weight: var(--font-weight-700);
}

.accordion-button.active{
    background-color: var(--accordion-collapsed-active)!important;
    color: var(--btn-primary-text);
    font-weight: 500;
}

.accordion-button:focus{
    border-color: transparent;
    box-shadow: none;
}

.accordion-button::after{
    background-image: url("/images/homepage/plus.svg");
}

.accordion-button:not(.collapsed){
    box-shadow: none;
}

.accordion-button:not(.collapsed)::after{
    background-image: url("/images/homepage/dash.svg");
}

.accordion-collapse{
    background: var(--accordion-collapsed-bg);
    color: var(--btn-primary-text);
}

.accordion-body p{
    color: var(--btn-primary-text);
    margin-bottom: 0;
    font-size: var(--larger-font-size);
}

.accordion-body a{
    color: var(--btn-primary-text);
}

.assist-container{
    margin-bottom: 0;
    font-size: var(--default-font-size);
}

.assist-container a{
    color: var(--hover-text);
}

.assist-icon img{
    width: 30px;
    margin: 1rem 1rem 1rem 0;
}
/* END of FAQ */

/* START of Contact Us */
.contact-us-container{
    margin-inline: 0;
}

.contact-us-container-left img{
    width: 100%;
    height: 100%;
}

.contact-us-container-right{
    background-color: #F6F6F6;
    padding-inline: 4rem;
}

.contact-us-container-right h2{
    font-size: var(--section-title);
    font-weight: var(--font-weight-700);
    text-transform: capitalize;
    margin-block: 1rem 2rem;
}

.contact-us-divider{
    width: 15%;
    height: 2px;
    background-color: #989898;
    margin-bottom: 2rem;
}

.contact-us-container-box{
    display: flex;
    align-items: center;
    margin-block: 2rem;
}

.contact-us-container-content p{
    margin-bottom: 0;
    font-size: var(--larger-font-size);
}

.contact-us-container-content p:first-child{
    font-weight: var(--font-weight-700);
}

.contact-us-container-icon{
    margin-right: 1.5rem;
}

.contact-us-container-icon img{
    width: 52px;
    height: 52px;
}
/* END of Contact Us */

/* START of Footer */
.footer{
    background-color: var(--footer-bg);
}

.footer-icon{
    display: flex;
    align-items: center;
}

.footer-icon img{
    /* width: 38px; */
    height: 35px;
}

.footer-icon p{
    color: var(--btn-primary-text);
    font-size: var(--default-font-size);
    font-weight: var(--font-weight-700);
    cursor: pointer;
}

.footer-text, .footer-homepage-link a{
    text-decoration: none;
    font-size: 14px;
    color: var(--btn-primary-text);
}

.footer-content{
    display: flex;
    gap: 2rem;
}

.footer-content2{
    display: flex;
    /* gap: 1.5rem; */
}

.social-media-icon a img{
    /* height: 15px; */
}

.footer-top-section-container{
    width: 100%;
    display: flex;
    justify-content: center;
}

.footer-top-section{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 1rem;
    border-bottom: 1px solid #606060;
    width: 90%;
}

.footer-bottom-section{
    padding-block: 1rem;
}   

.footer-bottom-section{
    display: flex;
    justify-content: center;
    color: var(--btn-primary-text);
}

#termAndCondition, #socialMediaIcons{
    margin-bottom: 0;
    padding-left: 0;
}



#termAndCondition > li:hover, .footer-homepage-link a:hover{
    color: var(--hover-text);
    cursor: pointer;
}
/* END of Footer */

/* START of agreement CSS */
.agreement-backdrop{
    background-color: #F5F5F5;
}

.agreement-text-title{
    font-size: 24px;
    font-weight: var(--font-weight-700);
    margin-block: 1rem;
}

.agreement-layout-bg{
    background: #FFF;
    box-shadow: 0px 3px 10px #00000029;
    border-radius: 3px;
}

.agreement-title{
    font-size: 20px;
    font-weight: var(--font-weight-700);
    margin-bottom: 0;
}

.agreement-text{
    font-size: 17px;
    font-weight: 300;
    margin-bottom: 0;
}
/* END of agreement CSS */
.accordion {
    --bs-accordion-color: var(--bs-body-color);
    --bs-accordion-bg: var(--bs-body-bg);
    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
    --bs-accordion-border-color: var(--bs-border-color);
    --bs-accordion-border-width: var(--bs-border-width);
    --bs-accordion-border-radius: var(--bs-border-radius);
    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: var(--bs-body-color);
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-active-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
    --bs-accordion-btn-focus-border-color: #86b7fe;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--bs-primary-text-emphasis);
    --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-header{
    margin-bottom: 0;
}

.accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition);
}

.accordion-button::after {
    background-image: url('../images/homepage/plus.svg');
}

.accordion-body {
    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

/* .accordion-button::after {
    flex-shrink: 0;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition);
} */

.accordion-item {
    margin-block: 1rem;
    border: none;
    box-shadow: 2px 2px 6px #0000001a;
}

.accordion-item {
    color: var(--bs-accordion-color);
    background-color: var(--bs-accordion-bg);
    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

.accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size: 15px;
    font-weight: 300;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: var(--bs-accordion-btn-bg);
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition);
}

.navbar-profile img{
    width: 42px;
    cursor: pointer;
}

.clickable-div {
    cursor: pointer;
}

@media (max-width: 1200px){
    .faq-container{
        width: 100%;
        padding-inline: 3rem;
    }

    .hero-section-content{
        top: 18%;
    }

    .our-services-content-box{
        width: 280px;
        height: 280px;
    }
}

/* handle phone landscape orientation */
@media (max-width: 900px){    
    .our-services-content{
        flex-direction: column;
    }

    .content-box-arrow{
/*        display: none;*/
        display: inline-block;
        transform: translate(50%, -50%) rotate(90deg);
        top: 100%;
        right: 50%;
        z-index: 98;
    }

    .content-box-arrow img {
        width: 34px;
        height: 34px;
    }

    .hero-section-content{
        top: 20%;
    }
}

@media (min-width: 768px) and (max-width: 992px){
    .homepage-navbar-wrapper{
        padding: 1rem;
    }

    .homepage-navbar-list-container{
        gap: 2rem;
    }
}

@media (max-width: 767px){
    #mobileViewNavbar{
        position: fixed;
        display: block;
        z-index: 99;
        background-color: var(--whiteBg);
    }

    .mobile-homepage-navbar-wrapper{
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 2rem;
        position: relative;
        box-shadow: 0px 3px 6px #00000017;
    }

    .mobile-homepage-navbar-sidebar-container{
        position: fixed;
        width: 100%;
        height: 100vh;
        z-index: 1000;
        background-color: rgba(0, 0, 0, 0.6);
    }

    .mobile-homepage-navbar-sidebar{
        width: 70%;
        height: 100%;
        z-index: 99;
        position: fixed;
        right: 0;
        background-color: var(--whiteBg);
        padding-inline: 2rem;
    }

    .mobile-homepage-navbar-list-container{
        padding-left: 0;
    }

    .mobile-homepage-navbar-list-container li{
        padding-block: 1rem;
    }

    .mobile-homepage-navbar-list-container li a{
        color: #a3a3a3;
        text-decoration: none;
    }

    .mobile-homepage-navbar-list-container li a.active {
        color: var(--link-text);
        font-weight: 500;
    }

    #hamburger > div{
        width: 30px;
        height: 4px;
        border-radius: 5px;
        background-color: #000;
    }

    #hamburger div:nth-child(2){
        margin-block: 0.5rem;
    }

    #closeMenu > div{
        width: 30px;
        height: 4px;
        border-radius: 5px;
        background-color: #000;
    }

    #closeMenu div:nth-child(1){
        margin-block: 0.5rem;
        transform: translateY(5px)rotate(-45deg);
    }

    #closeMenu div:nth-child(2){
        margin-block: 0.5rem;
        transform: translateY(-5px)rotate(45deg);
    }

    #webViewNavbar{
        display: none;
    }

    #hero{
        height: 100vh;
    }

    .hero-section-container img{
        background-size: auto;
    }

    .about-us-content-box img{
/*        width: 60%;*/
        width: 90%;
        margin-bottom: 1rem;
    }

    .about-us-content-box{
        text-align: center;
    }

    .faq-container, .contact-us-container-right, .footer-top-section, .about-us-container, .footer-bottom-section{
        padding-inline: 2rem;
    }

    .footer-top-section {
        padding-left: unset;
        padding-right: unset;
        margin-left: 2rem;
        margin-right: 2rem;
    }

    .our-service-container{
        padding-bottom: 0;
    }

    .assist-icon img{
        margin-block: 0;
    }

    #termAndCondition{
        margin-left: 0;
        margin-block:  1rem;
        flex-direction: column;
        gap: 1rem;
    }

    .contact-us-container-icon img{
        width: 42px;
        height: 42px;
    }

    .footer-top-section-container{
        justify-content: flex-start;
    }

    .footer-top-section{
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
    }

    .hero-section-button-container a {
/*        width: 150px;*/
        /*display: block;
        width: 10rem;
        padding: 0.5rem 0rem;*/
        width: 12rem;
        padding: 1rem 0rem;
    }

    .hero-section-container {
        background-position: 20.5%;
    }

    .hero-section-title{
        font-size: 64px;
    }

    .hero-section-description {
        font-size: 24px;
        font-weight: 100;
    }

    .about-us-description p {
        width: 80%;
    }

    .about-us-plus-icon {
        font-size: 2rem;
    }

    .about-us-content-box p {
        font-weight: 500;
    }

    #service-one {
        background-position: 100% 500%;
    }

    /* #hero {
        padding-top: 1rem;
    } */

    .footer-bottom-section {
        justify-content: start;
    }

    .footer-bottom-section.footer-text {
        font-size: 11px;
    }
}

@media (max-width: 616px){
    .our-services-content-box{
        width: 350px;
        height: 350px;
    }

    .hero-section-container{
        background-image: url('/images/homepage/cp-banner-mobile.webp');
        /* background-size: contain; */
        /* height: 70vh; */
        background-position: right;
    }

    .centered-text::before, .centered-text::after{
        width: calc(15% - 30px);
    }

    .register-content{
        padding-top: 70px;
    }
}

@media (min-width: 320px) and (max-width: 414px){
    .our-services-content-box{
        width: 280px;
        height: 280px;
    }

    .our-service-container{
        padding-inline: 2rem;
    }

    .hero-section-title{
        margin-bottom: 1rem;
    }

    .hero-section-button-container > button{
        margin-bottom: 1rem;
    }

    /*.hero-section-title{
        font-size: 3rem;
    }*/

    .mobile-homepage-navbar-sidebar{
        width: 90%;
    }

    .navbar-profile img{
        width: 48px;
        cursor: pointer;
    }
}
