/* SET FONTS */

@import url('https://fonts.googleapis.com/css2?family=Asap:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/* SET ROOT VARIABLES */

:root {
    --color-primary-green: #00944a;
    --color-primary-green-dark: #043828;
    --color-primary-brown: #42210b;
}

/* CORE */

* { font-family: 'Rubik', sans-serif, helvetica; }
body { background:#331804; }
body.modal-open { position: fixed; height: 100vh; overflow-y: hidden; }
h1 { font-family: 'Rubik', sans-serif, helvetica; font-size: 4rem; line-height: 60px; font-weight: 800; letter-spacing: -1px; }
h2 { font-family: 'Rubik', sans-serif, helvetica; font-size: 3rem; line-height: 50px; font-weight: 800; letter-spacing: -1px; }
h3, h4, h5 { font-family: 'Rubik', sans-serif, helvetica; letter-spacing: -1px; }

/* HEADER */

header { width:100%; background: var(--color-primary-green); }
header .header-main { width:100%; background: none; display: flex; justify-content: center; align-items: center; flex-direction: column; }
header .header-wrap { width:100%; max-width: 1640px; padding: 0 30px; display: flex; justify-content: space-between; align-items: center; flex-direction: row; }

header .header-item-desktop { width:100%; height: 120px; padding: 0; display: flex; justify-content: space-between; align-items: center; flex-direction: row; }

header .header-item-desktop .logo { padding: 0 20px 0 0; margin: 0; display: flex; flex-direction: row; justify-content: center; align-items: center; }
header .header-item-desktop .logo a { width: 100%; max-width: 180px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
header .header-item-desktop .logo a img { width: 100%; }

header .header-item-desktop nav { flex:1; display: flex; flex-direction: column; justify-content: center; align-items: center;  }
header .header-item-desktop ul { display: flex; justify-content: center; align-items: center;  }
header .header-item-desktop ul li { padding: 0 18px; display: flex; justify-content: center; align-items: center; position: relative; }
header .header-item-desktop ul li a.nav-item { color: var(--color-primary-green-dark); font-size: 0.9rem; font-weight: 700; }

header .header-item-desktop .cta { padding: 0 0 0 20px; margin: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; }
 
header .header-item-desktop .cta .btn-cta { height: 50px; padding: 0 28px; background: var(--color-primary-brown); border-radius: 6px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
header .header-item-desktop .cta .btn-cta span { color: white; font-size: 1rem; text-transform: uppercase; font-weight: 700; }

header .header-item-mobile { display:none; width:100%; padding: 30px 10px; justify-content: space-between; align-items: center; }
header .header-item-mobile .header-left { display: flex; }
header .header-item-mobile .header-left .header-logo { display: flex; width: 150px; }
header .header-item-mobile .header-left .header-logo a { display: inline-block; width:100%; }
header .header-item-mobile .header-left .header-logo a img { width:100%; }
header .header-item-mobile .header-right { display: flex; }
header .header-item-mobile .header-right a.btn-open-menu { display: inline-block; }
header .header-item-mobile .header-right .btn-open-menu img { width: 35px; display: inline-block; }

header .mobile-nav { position:fixed; top:0; left:-100%; width:100%; height:100%; background-color: rgba(0, 0, 0, 0.9); transition: all .5s ease-in-out; z-index: 99; text-align: left; overflow: auto; }
header .mobile-nav a.menu-close { position:absolute; display:inline-block; padding: 5px; font-size: 3rem; font-weight: 600; line-height: 0.7em; color:white; right: 20px; top: 12px; z-index:101; }
header .mobile-nav ul { display:inline-block; width:100%; padding-right: 76px; padding-top: 50px; }
header .mobile-nav ul li { float: left; width:100%; }
header .mobile-nav ul li a { display:inline-block; padding:12px 0px 12px 42px; color:white; font-size: 1rem; font-weight: 600; text-transform: uppercase; }
header .mobile-nav.open { left:0; }

header.darken { background:rgba(56, 93, 59, 1); }

@media (max-width: 1080px) {
    header .header-wrap { padding: 0 20px; }
    header .header-item-desktop { display:none; }
    header .header-item-mobile { display: flex; padding: 25px 10px; }
    header .header-item-mobile .header-right .btn-open-menu img { width: 25px; }
    header.home-only .header-item-mobile { justify-content: flex-end; }
    header .header-item-mobile .header-left .header-logo { width: 140px; }
}

/* CORE */

main { width:100%; display: flex; justify-content: center; align-items: center; flex-direction: column; }
section { width:100%; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.sec-wrap { width:100%; max-width: 1440px; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.sec-content { width:100%; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.parallax-wrap { position: relative; width: 100%; top: 100vh; background: #ffffff; height: 100vh; z-index: 998; } 

/* FOOTER */

footer {  width:100%; display: flex; justify-content: center; align-items: center; flex-direction: column; }

footer .footer-upper { width:100%; padding: 60px 20px 30px 20px; background: var(--color-primary-brown); display: flex; justify-content: center; align-items: center; flex-direction: column; }
footer .footer-lower { width:100%; padding: 30px 20px 60px 20px; background: var(--color-primary-brown); display: flex; justify-content: center; align-items: center; flex-direction: column; }

footer .footer-wrap { width:100%; max-width: 1080px; display: flex; justify-content: center; align-items: center; flex-direction: column; }
footer .footer-content { width:100%; display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start;  }

footer .footer-upper .left { width:260px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
footer .footer-upper .left .logo-item { width:260px; display: flex; flex-direction: column; justify-content: center; align-items: center;  }
footer .footer-upper .left .logo-item img { width:100%; }
footer .footer-upper .left .socials { width: 200px; margin: 20px 0 0 0; display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
footer .footer-upper .left .socials a { width:40px; height:40px; padding: 5px; margin: 0; background: var(--color-primary-green); border-radius: 10px; display: flex; justify-content: center; align-items: center; }
footer .footer-upper .left .socials a span { display: inline-block; }
footer .footer-upper .left .socials a:nth-child(1) img { width:15px; }
footer .footer-upper .left .socials a:nth-child(2) img { width:20px; }
footer .footer-upper .left .socials a:nth-child(3) img { width:20px; }
footer .footer-upper .left .socials a:nth-child(4) img { width:20px; }

footer .footer-upper .right { max-width: 400px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; }
footer .footer-upper .right .company { color:white; font-size: 1rem; font-weight: 700; text-align: right; }
footer .footer-upper .right address { margin: 10px 0 0 0; color: var(--color-primary-green); font-size: 1rem; font-weight: 600; text-align: right;   font-style: normal; }
footer .footer-upper .right .tel { margin: 10px 0 0 0; color:white; font-size: 1rem; font-weight: 600; text-align: right; }
footer .footer-upper .right .tel a { color:white; }

footer .footer-lower .legals { width:100%; display: flex; flex-direction: row; justify-content: center; align-items: center;  }
footer .footer-lower .legals p { color:white; font-size: 1rem; font-weight: 600; }
footer .footer-lower .legals p a { color:white; font-weight: 700; }

@media (max-width: 748px) {
    footer .footer-content { flex-direction: column; justify-content: center; align-items: center; }
    footer .footer-upper { padding: 40px 20px 15px 20px; }
    footer .footer-upper .left .logo-item { width: 180px; }
    footer .footer-upper .right address { text-align: center; }
    footer .footer-upper .right { margin: 30px 0 0 0; align-items: center; }
    footer .footer-lower { padding: 15px 20px 30px 20px; }
    footer .footer-lower .legals p { font-size: 0.7rem; text-align: center; }


}