/* RESET: */
html, body, div, span, ul, ol, li, table, td, th, input, textarea, button, h1, h2, h3, h4, h5, h6, p, time, article, section, video, img, hr {background: transparent; margin: 0; padding: 0; border: none; outline: none; font-style: normal; font-weight: normal; list-style: none outside none; font-size: 100%; font-variant: normal; font-family: inherit; appearance: none; resize: none; border-radius: 0;}

@font-face {font-family: 'anton_fallback'; src: local('Impact'); ascent-override: 117.63%; descent-override: 32.91%; line-gap-override: 0%; size-adjust: 97.4%;}
@font-face {font-family: 'figtree_fallback'; src: local('Segoe UI'), local('Roboto'), local('Helvetica Neue'); ascent-override: 92.80%; descent-override: 24.40%; line-gap-override: 0%; size-adjust: 101%;}

/* COLORS AND VARIABLES: */
:root {
	
	--color_fun: #9FE870;
	
	--color_forestgreen: #163306;
	
	--color_lightgrey: #F4F4F4;
	
	--color_white: #FFFFFF;
	
	--font_primary: "Figtree", sans-serif;
	
	--font_secondary: "Anton", sans-serif;
	
}

html{scroll-behavior:smooth;}

/* Fix the weird horistonal scroll: */
html, body {overscroll-behavior-x: none; overflow-x: hidden;}

html {font-size: 16px; font-family: var(--font_primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--color_forestgreen); height: 100vh;}

a {text-decoration: underline; color: var(--color_forestgreen); font-weight: inherit; cursor: pointer;}

.alt_font {font-family: var(--font_secondary); font-weight: 400;}

.mtb30 {margin: 30px 0;}

.mtb30 + .mtb30 {margin-top: -18px;}

.br_20 {border-radius: 20px;}

.br_40 {border-radius: 40px;}

.lh22 {line-height: 22px;}

.lh25 {line-height: 25px;}

.tac {text-align: center;}

.setwidth {padding: 0 20px; left: 0; transform: none;}


/* FONT COLORS */
.color_white {color: var(--color_white);}

.color_fun {color: var(--color_fun);}

/* BACKGROUNDS */

/* Main dark green background: */

.bg_forestgreen, .bg_forestgreen::before {background: var(--color_forestgreen);}

.bg_lightgrey, .bg_lightgrey::before {background: var(--color_lightgrey);}

/* ICONS / SOCIAL ICONS */
.social_icon {width: 25px; height: 25px; display: inline-block;}

.social_instagram {background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>') center / contain no-repeat; }
.social_tiktok {background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z"/></svg>') center / contain no-repeat;}
.social_x {background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>') center / contain no-repeat;}
.social_youtube {background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z"/></svg>') center / contain no-repeat;}
.social_facebook {background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>') center / contain no-repeat;}

/* UNDERPATTERNS */
.up_internal {top: -20px; right: -20px; position: relative; padding: 30px;}

/* Underpattern greenish scribblighsers: */
.up_green {background: url("/assets/imgs/up_green.svg") bottom left / cover no-repeat; top: 20px; right: 20px; margin: 0 0 20px 20px; position: relative;}
	
	

/* COMPONENTS */

/* Standalone rectangle: */
.sa_rectangle {}

/* Content block, that has image and text, either left or right: */
.block_text_image {}

/* Main green button: */
.button_1 {background: var(--color_fun); border-radius: 28px; color: var(--color_forestgreen); font-weight: 700; font-size: 12px; padding: 20px 0; text-decoration: none; cursor: pointer;}

/* Social media icons wrapper: */
.social_wrap {text-align: center; padding: 30px 0;}
.social_wrap.small {padding: 90px 0;}
	
	.social_icon + .social_icon {margin-left: 25px;}

.bolder_smaller_caption {line-height: 22px;}



/* DOM */

/* Hero: */
#hero {background: url('/assets/imgs/hero_bg_mbl.svg') top center / 100% no-repeat;}
	
	#logo {background: url('/assets/logo.svg?v=1.0') center / 46px no-repeat; height: 162px;}
	
	#caption {font-size: 55px; text-align: center;}
	
	#hero_list {text-align: center; margin: 50px 0 70px;}
		
		#hero_list li {padding: 2px 0; font-weight: 600; line-height: 22px;}
	
	.hero_wide_btn {display: flex; justify-content: center; align-items: center; width: 290px; margin: 0 auto;}
	


/* CTA: */
#early_cta .up_internal {padding-top: 55px;}
	
	.up_internal > h1 {font-size: 40px; text-align: center;}
	
	
	.visually-hidden {position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}
	
	.cta-form {}
	
		.cta-bar {display: flex; flex-direction: column; row-gap: 30px;}
		
			.cta-bar input {padding: 15px; font-size: 16px; border: 1px solid var(--color_white); border-radius: 10px; background: transparent; color: var(--color_white);}
	
	.cta-form.inverted {margin-top: 15px;}
	
		.cta-form.inverted .cta-bar {row-gap: 15px;}
		
			.cta-form.inverted .cta-bar input {border: 1px solid var(--color_forestgreen); color: var(--color_forestgreen);}


/* Image & Text blocks: */

.block_text_image {margin-top: 100px; display: flex; flex-direction: column; row-gap: 60px;     line-height: 22px}

	.bti_img {height: 381px; background-repeat: no-repeat; background-size: cover; background-position: center; width: calc(100vw - 20px);}
		
		/* Placeholders for desktop: */
		.bti_img.left {border-radius: 0 40px 40px 0; margin-left: -20px;}
		.bti_img.right {border-radius: 40px 0 0 40px;}
	
	.block_text_image h2 {font-weight: bold; font-size: 24px; color: var(--color_forestgreen); margin-bottom: 30px;}
	.block_text_image p + p {margin-top: 20px;}
		.block_text_image p b {font-weight: 700;}
	
	/* replace with row-gap -- .bti_img + div, div + .bti_img {margin-top: 60px;} */


/* Join Us block: */
#joinus {margin-top: 100px; padding: 40px 20px;}
	
	#joinus h1 {font-size: 55px; text-align: center; margin-bottom: 40px;}
	
	.bolder_smaller_caption {font-weight: 600; text-align: center; margin-top: 40px;}
		
		.bolder_smaller_caption a {color: inherit;}


/* Contact section: */
#contact {display: flex; flex-direction: column; row-gap: 50px; padding: 40px 20px;}
	
	#contact div.left {display: flex; flex-direction: column; row-gap: 30px;}
		
		#contact h3 {font-weight: 600;}
		#contact h1 {font-size: 55px;}
		
		#contact p {margin-top: 10px; line-height: 22px;}
		
		#contact b {font-weight: 700; margin-bottom: 5px; display: block;}
		
		.contact_break {height: 26px;}
		
		#contact a {color: inherit; text-decoration: none;}
	
	.contact_form {display: flex; flex-direction: column; row-gap: 23px;}
		
		.contact_form label {font-size: 15px; font-weight: 700; display: block;}
		
		.contact_form input, textarea {border: 1px solid var(--color_forestgreen); padding: 15px; border-radius: 10px; font-size: 16px;}
		
		.contact_form textarea {min-height: 223px; line-height: 25px;}
		
		.contact_form button {}
		
		

/* Footer block: */
#footer {padding: 40px 20px;}

	#footer > div {display: flex; flex-direction: column;}
		
		#logo_footer {background: url('/assets/logo.svg?v=1.0') top center / 45px no-repeat; height: 80px;}
		
		.footer_nav {}
			
			.footer_nav ul {display: flex; justify-content: center; list-style: none; padding: 0; margin: 0;}
				
				.footer_nav li + li {margin-left: 20px;}
				
					.footer_nav a {color: #163306; font-size: 14px;}
	
		#copyright {font-size: 12px; text-align: center;}
			
			#copyright div + div {margin-top: 5px;}
			
			#copyright div {line-height: 22px;}
			
				#copyright b {font-weight: 600;}
	
	#footer hr {height: 0.5px; background: var(--color_forestgreen); margin: 20px 0;}

/* MC */
.mc {z-index: 8; position: fixed; left: 20px; right: 20px; bottom: 20px; display: grid; grid-template-columns: 25px auto; background: rgba(0,0,0,.85); color: #fff; padding: 15px; border-radius: 10px;}

	.mc_icon {background: url('data:image/svg+xml,<svg fill="%23219ed0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>') left / 16px 16px no-repeat;}

	.mc.s .mc_icon {background: url('data:image/svg+xml,<svg fill="%2365d021" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>') left / 16px 16px no-repeat;}

	.mc.e .mc_icon {background: url('data:image/svg+xml,<svg fill="%23d93611" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>') left / 16px 16px no-repeat;}

	.hide {display: none !important;}


/* ---------- slide up / down ---------- */
@keyframes slide-up-adp-show {
	0% {transform: translateY(-100px); opacity: 0;}
	100% {transform: none; opacity: 1;}
}
@keyframes slide-up-adp-hide {
	0% {transform: none; opacity: 1;}
	100% {transform: translateY(-100px); opacity: 0;}
}

@keyframes slide-down-adp-show {
	0% {transform: translateY(100px); opacity: 0;}
	100% {transform: none; opacity: 1;}
}
@keyframes slide-down-adp-hide {
	0% {transform: none; opacity: 1;}
	100% {transform: translateY(100px); opacity: 0;}
}

.slide-up-adp-show,
.slide-up-adp-hide,
.slide-down-adp-show,
.slide-down-adp-hide {animation: .3s ease both;}

	.slide-up-adp-show {animation-name: slide-up-adp-show;}
	.slide-up-adp-hide {animation-name: slide-up-adp-hide;}

	.slide-down-adp-show {animation-name: slide-down-adp-show;}
	.slide-down-adp-hide {animation-name: slide-down-adp-hide;}


/* DESKTOP MODE */
@media (min-width: 800px) {
	
	.hideindsktp {display: none;}
	
	.setwidth::before {content: ""; position: absolute; inset: 0; left: 50%; width: 100vw; transform: translateX(-50%); z-index: -1;}
	
	.setwidth {max-width: 975px; margin-inline: auto; padding: 0 20px; position: relative; z-index: 0;}
	
	
	#hero {background: url('/assets/imgs/hero_bg_dsktp.svg') top center / 1025px 709px no-repeat;}
	
	#early_cta {padding: 0; max-width: 1015px;}
		
		#early_cta .up_internal {padding-bottom: 55px;}
		
		.cta-bar, .cta-form.inverted .cta-bar {flex-direction: row; align-items: center; column-gap: 5px; row-gap: 0; border: 1px solid var(--color_white); border-radius: 10px; padding: 3px;  max-width: 450px; margin: 0 auto;}
		.cta-form.inverted .cta-bar {border: 1px solid var(--color_forestgreen);}
			
			.cta-bar input, .cta-form.inverted .cta-bar input {padding: 10px; flex: 1 1 auto; border: none; border-radius: 10px;}
			
			.cta-form .button_1, .cta-form.inverted .button_1 {padding: 14px 0; border-radius: 8px; width: 100px;}

	.block_text_image {flex-direction: row; column-gap: 30px; align-items: center;}
	.block_text_image:nth-of-type(even) {flex-direction: row-reverse;}
		
		.block_text_image > div {flex: 1 1 0;}
		
		.bti_img {border-radius: 40px !important;}

	#contact {display: flex; flex-direction: row; column-gap: 30px;}
		
		#contact .left, #contact .right {flex: 1 1 0;}
		
		#contact .left {display: flex; flex-direction: row;}
		
		#contact .left > :last-child {margin: auto 0 25px;}
	
	#footer > div {display: flex; flex-direction: row;}
		
		#footer > div > div {flex: 1 1 0;}
			
			#logo_footer {background-size: 45px; background-position: left; height: 60px;}
			
			.footer_nav {align-self: flex-end;}
			
			#copyright {text-align: left;}
			
			#footer .social_wrap {text-align: right; padding: 0;}
	
	.mc {top: 20px; bottom: auto; max-width: 350px; width: 100%; left: calc((100% - 350px) / 2); right: auto;}
}