@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100..900&family=Noto+Serif+HK:wght@200..900&display=swap');

.barlow-regular {
  font-family: "Barlow", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.barlow-medium {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.barlow-semibold {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.barlow-black {
  font-family: "Barlow", sans-serif;
  font-weight: 900;
  font-style: normal;
}


/*------------------------------
	ROOT
------------------------------*/
:root 
{
    /* Layout */ 
    --max-layout-width: 1600px;
	
    /* Colors */ 
    --primary-color: #707070; /* Main brand color */
    --secondary-color: #008049; /* Secondary color for accents */
    --text-color: #707070; /* Default text color */
    --heading-color: #707070; /* Color for headings */
    --background-color: #F5F5F5; /* Page background color */
    --white: #fbfbfb;
    --black: #111111;
    --grey: #888888;

    --link-color: #707070;
    --link-hover-color: #008049;
	

    /* Typography */
    --font-family-sans-serif: "Barlow", Helvetica, Arial, sans-serif;
    --font-family-serif: "Georgia", serif;
    --base-font-size: 16px;
    --line-height: 1.5;

    /* Spacing */
    --spacing-xs: 5px;
    --spacing-sm: 10px;
    --spacing-md: 20px;
    --spacing-lg: 30px;
    --spacing-xl: 40px;
    --spacing-xxl: 50px;

    /* Border Radius */
    --border-radius-sm: 4px;
    --border-radius-md: 6px;
    --border-radius-lg: 8px; 
    --border-radius-xl: 12px; 
    --border-radius-xxl: 16px;
    --border-radius-xxxl: 24px;

    /* Box Shadows */
    --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --box-shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}




::selection 
{
    background: #3F6DCB;
    color: #fff;
	
}



/*------------------------------
	BASIC Elements
------------------------------*/
body
{
	
	font-family: var(--font-family-sans-serif);
	font-size: var(--base-font-size);
    color: var(--text-color);
    

}


h1, h2, h3, h4, h5, h6
{
/*	font-family: var(--font-family-serif);*/
/*	font-weight: bold;*/
    font-weight: 600;
    color: var(--heading-color);
}

h1
{
	color: #505050;
}


p
{
    font-size: 18px;
}

a
{
	color: var(--link-color);
	text-decoration: none;
}


a:hover
{
	color: var(--link-hover-color);
	text-decoration: underline;
}



ul
{
	margin: 0;
	padding: 0;
	list-style: none;
	
	display: flex;
	flex-direction: row;
	gap: var(--spacing-xs);
	
}

strong
{
    font-weight: 600;
}

img
{
    width: 100%;
}







/*------------------------------
	.container
------------------------------*/
.container
{
	max-width: var(--max-layout-width);
}



/*------------------------------
	.wrapper
------------------------------*/
.wrapper
{
    overflow: hidden;
    /*  height: 100vh;*/
    display: flex;
    flex-direction: column;
}


/*------------------------------
	.main
------------------------------*/
.main
{
    flex-grow: 1;
}





/*------------------------------
	.header
------------------------------*/

.header
{
    position: relative;
    padding: 20px 0;

    box-shadow: 0 0 8px rgba(0, 0, 0, 15%);

    z-index: 3;
}


.header .row
{
    align-items: center;
}

.header .row .col
{
    flex-shrink: 1;
    flex-grow: 0;
}







/*------------------------------
	SECTION: Logo
------------------------------*/

.logo-section a
{
    display: inline-block;
    max-width: 150px;
    width: 150px;
}





/*------------------------------
	SECTION: Menu
------------------------------*/

.menu-section
{

    display: flex;
    justify-content: flex-end;
    flex-grow: 1 !important;

}





.menu-section ul
{
    gap: 30px;
    
    
    font-weight: 600;
    text-transform: uppercase;
}


.menu-section ul a
{
    display: block;
    position: relative;
    font-size: 18px;
    color: #808080;
    
    text-decoration: none;
}

.menu-section ul a:hover
{
    color: var(--link-hover-color);
}


.menu-section ul a.active
{
    color: var(--link-hover-color);
}

.menu-section ul a.active::before
{
    content: "";
    width: 20px;
    height: 2px;
    background: var(--secondary-color);
    
    position: absolute;
    left: 0;
    bottom: 0;
}



/*------------------------------
	SECTION: Breadcrumb
------------------------------*/

.breadcrumb-section
{
    padding: 10px 0;
    background: var(--background-color);
}


.breadcrumb-section ul
{
    padding: 0 15px;
    color: var(--grey);   
    
}
    
    
    
    
    
    
    
/*------------------------------
	SECTION: Banner
------------------------------*/

.banner-section
{
    position: relative;

    max-height: 550px;
    display: flex;
    align-items: center;
    
    overflow: hidden;
}

.banner-section > img
{
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.banner-title
{
    position: absolute;
    width: 100%;
    bottom: 10px;
}


.banner-title h1
{
    color: #fff;
    color: rgb(255 255 255 / 80%);
    text-transform: uppercase;
    font-weight: 600;
    font-size: 60px;
}    
    
    
    
    
    
    
    
      
/*------------------------------
	SECTION: Content
------------------------------*/  

.content-section .container
{
    padding: 50px 100px;
    
    text-align: justify;
}
    
    
.content-section > .content-section-inner:nth-of-type(2n)
{
    background: #fbfbfb;
}
    
    
    
.content-section ul
{
   
}
    






      
/*------------------------------
	PAGE: Home
------------------------------*/  

.home-page .content-section-inner .container
{
    padding: 50px 1.5rem;
}


.home-page .banner-section
{
    max-height: 600px;
}



.home-page .banner-title
{
    bottom: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
}

.home-page .banner-title .container
{  
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    background: rgba(0, 0, 0, 0.4);
    max-width: none;
    width: auto;
    padding: 40px;
}

.home-page .banner-title h1,
.home-page .banner-title p
{
    color: #fff;
    line-height: 1; 
}

.home-page .banner-title h1
{
    font-size: 64px;
}


.home-page .banner-title p
{
    font-size: 40px;

}


.home-featured-section ul
{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    
    column-gap: 50px;
}
    
    
.home-featured-section ul a
{
    color: #222222;
    font-size: 28px;
    font-weight: 500;
    padding: 15px;
    display: flex;
    flex-direction: column;
}



.home-featured-section ul a:hover
{
    color: var(--secondary-color);
}




.home-featured-cta
{
    padding: 50px 0;
    text-align: center;
}



.home-featured-cta a
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: var(--secondary-color);
    color: #fff;
    border-radius: 24px;
    font-size: 20px;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
}



.home-featured-cta a:hover
{
    color: #fff;
    background: var(--black);
}





/*------------------------------
	PAGE: Our Subsidiary
------------------------------*/  


.our-services-section ul
{
    flex-direction: column;
    row-gap:5px; 
    list-style: disc;
    
    margin-left: 40px;
    margin-bottom: 20px;
    
}

.our-services-section h3
{
    font-size: 20px;
}


.our-subsidiary-page .enquiry-form
{
    margin-top: 30px;
}



/*------------------------------
	PAGE: Investment Strategies
------------------------------*/  

.investment-strategies-page .content-section
{
    
}




/*------------------------------
	PAGE: Contact
------------------------------*/  

.contact-page .content-section > .content-section-inner:first-of-type .container
{
    padding-bottom: 10px;
}


.contact-page .content-section > .content-section-inner:nth-of-type(2) .container
{
    padding-top: 10px;
}


/*------------------------------
	PAGE: Disclaimer & Copyright
------------------------------*/  

.copyright-page h1
{
    text-transform: uppercase;
}


.copyright-page h2
{
    font-size: 24px;
    margin-top: 40px;
}





/*------------------------------
	PAGE: Privacy Policy Statement
------------------------------*/  

.privacy-policy-page h1
{
    text-transform: uppercase;
}


.privacy-policy-page h2
{
    font-size: 24px;
    margin-top: 40px;
}


    
/*------------------------------
	SECTION: Enquiry Form
------------------------------*/



.enquiry-form form
{
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    
    max-width: 640px;
}


.enquiry-form form textarea
{
    height: 200px !important;
    min-height: 150px !important;
    max-height: 400px !important;
    
}



.enquiry-form #generated-captcha
{
/*    color: #44CB49;*/
    color: #555;
    background-color: transparent;
    font-weight: 900;
    font-size: 36px;
/*    width: auto;*/
    letter-spacing: 5px;
    border: none;
    width: 100%;
    text-align: center;
}

.form-captcha-section-inner
{
    
    display: flex;
    align-items: center;
    width: 100%;
    column-gap: 15px;
}

.form-captcha-section-inner > div
{
    min-width: 220px;
    line-height: 1.2;
}


.form-captcha-section-inner > div:nth-of-type(2)
{
    min-width: 180px;
}



.btn-generate
{
    width: 36px;
    height: 36px;
    color: #fff;
    background: var(--secondary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    
}

.btn-generate:hover
{
  color: #fff;
  background: var(--black);

}




.form-button-section
{
    display: flex;

    column-gap: 30px;
}



.form-button-section button
{
    text-transform: uppercase;
    background: #BCBCBC;
    border-radius: 8px;
    color: #fff;
    padding: 8px 24px;
    font-size: 18px;
    font-weight: 600;
}


.form-button-section button.btn-submit
{
    background: var(--secondary-color);
}


.form-button-section button.btn-submit:hover,
.form-button-section button.btn-reset:hover
{
    background: var(--black);
    color: #fff;
}

.modal#thankYouModal button.btn-submit
{
    border-radius: 8px;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 2px;
    text-align: center;
    width: 80px;
    color: #fff;
    background: var(--secondary-color);

  }  


.modal#thankYouModal button.btn-submit:hover
{
     background: var(--black);
    
}


.modal.show .modal-dialog
{
    padding: 30px;
}
    
/*------------------------------
	SECTION: goToTop
------------------------------*/

#goToTop 
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;        
    z-index: 99;             
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 40px;
    right: 30px;
    bottom: 30px;
    color: #333;
    transition: opacity 0.3s, visibility 0.3s; 
  
    visibility: hidden;
    opacity: 0;
}

#goToTop:hover {
  color: var(--secondary-color);
}


#goToTop.show {
  visibility: visible;
  opacity: 1;
}




    
/*------------------------------
	.footer
------------------------------*/

.footer
{
    position: relative;
    text-transform: capitalize;
    
    z-index: 2;
}


.footer h4
{
    font-size: 18px;
}
.footer ul
{
/*   font-size: 15px;*/
    font-size: 18px;
}

.footer-top
{
    padding: 50px 0;
    background: var(--background-color);
}






.footer-top .container
{
    display: flex;
    justify-content: flex-end;

    column-gap: 100px;
    padding: 0 24px;
}


.footer-top .container ul
{
    flex-direction: column;
}



.footer-bottom
{
    padding: 25px 0;
    padding-bottom: 30px;
    background: #fff;
    border-top: 8px solid var(--secondary-color);
}


.footer-bottom .container
{
    display: flex;
    justify-content: space-between;

}


.footer-copyright a
{
    font-weight: 600;
}


.footer-privacy-terms
{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;  
}






/* desktops */
@media (max-width: 1199.98px) 
{
    
    /* ------------------------------
        HOME
    ------------------------------ */
    
    .home-page .banner-title h1
    {
        font-size: 48px;
    }
    
    .home-page .banner-title p
    {
        font-size: 30px;
    }

}/* desktops */




/* tablets */
@media (max-width: 991.98px) 
{
    
    
    /* ------------------------------
        HEADER
    ------------------------------ */

    .header .row
    {
        flex-direction: column;
    }
    
    .logo-section
    {
        text-align: center;
    }
    
    .menu-section
    {
        justify-content: center;
    }
    
    
    
    
    /* ------------------------------
        HOME
    ------------------------------ */
    
    .home-page .banner-title h1
    {
        font-size: 40px;
    }
    
    .home-page .banner-title p
    {
        font-size: 24px;
    }
    
    
    
    
    
    
    
    
    
    /* ------------------------------
        ENQUIRY FORM
    ------------------------------ */
    
    .form-captcha-section-inner
    {
        flex-wrap: wrap;
        justify-content: center;
    }
    .form-captcha-section-inner > div:nth-of-type(2)
    {
        width: 100%;
    }
        
    
} /* tablets */



 /* landscape phones */
@media (max-width: 767.98px) 
{

    
    
    .menu-section ul a
    {
        font-size: 14px;
    }
    
    
    
    /* ------------------------------
        HOME
    ------------------------------ */
    .home-page .content-section-inner .container
    {
        padding: 30px 1rem;
    }
    
    
    .home-page .banner-title h1
    {
        font-size: 28px;
    }
    
    .home-page .banner-title p
    {
        font-size: 16px;
    }
    
    .home-featured-section ul
    {
        column-gap: 10px;
    }
    .home-featured-section ul a
    {
        padding: 5px;
        font-size: 18px;
        line-height: 1;
        gap: 5px;
    }
    
    .home-featured-cta
    {
        padding: 30px 0;
    }
        
    


} /* landscape phones */


/* Mobile */
@media (max-width: 575.98px) 
{
    
    
    body
    {
       padding-right: 0 !important;
    }
    
    h1, h2, h3, h4
    {
        text-align: left;
    }
    
    p
    {
        font-size: 16px;
    }
    
    

    /* ------------------------------
        HEADER
    ------------------------------ */

    .header .row
    {
        flex-direction: row;
    }
    
    
    .logo-section
    {
       
    }
    
    .menu-section 
    {
        justify-content: flex-end;
    }
    .menu-section ul a 
    {
        font-size: 18px;
    }
    
    
    #offcanvas
    {
        max-width: 280px;    
        
    }
    
    .navbar-toggler
    {
        border-color: #333;
    }
    
    
    
    /* ------------------------------
        BANNER
    ------------------------------ */
    .banner-section
    {
        height: 240px;
    }
    .banner-title h1
    {
        font-size: 36px;
    }
    
    
    
    /* ------------------------------
        CONTENT
    ------------------------------ */
    .content-section .container
    {
        padding: 30px 1.5rem;
    }
    
    
    
    /* ------------------------------
        BANNER
    ------------------------------ */

    .home-page .banner-title .container
    {
        padding: 20px;
        width: 90%;
    }
    
    .home-page .banner-section
    {
        height: 240px;
    }
    
    .banner-section > img
    {
        object-fit: cover;
    }
    
    

    
    /* ------------------------------
        Our Subsidiary
    ------------------------------ */
    .our-services-section h3
    {
        text-align: left;
    }
    

    
    /* ------------------------------
        Contact
    ------------------------------ */
    .contact-page h1
    {
        opacity: 0;
    }
    .contact-page .banner-section > img 
    {
        object-fit: cover;
        object-position: -280px center;
        
    }
    
    /*------------------------------
        SECTION: Enquiry Form
    ------------------------------*/
    .modal-dialog h4
    {
        text-align: center;
    }

    
    
    
    /* ------------------------------
        FOOTER
    ------------------------------ */

    
    .footer-top .container
    {
        justify-content: space-evenly;
        column-gap: 50px;
    }
    
    .footer-bottom .container
    {
        flex-direction: column-reverse;
        align-items: center;
        row-gap: 10px;
    }
    
    
    .footer ul
    {
        font-size: 16px;
        line-height: 1.2;
    }
    
    
    
    
} /* Mobile */


    
    
    
    

