/*
Theme Name: Biosphera
Theme URI: https://biosphera.com.br
Author: Young Dog
Author URI: https://youngdog.com.br
Description: Novo site one-page de Biosphera.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License:
License URI:
Text Domain: biosphera
Tags:
*/

/* FONTS */

@font-face {
	font-family: 'Founders Grotesk';
	src: url('fonts/FoundersGrotesk-Light.woff2') format('woff2'),
		 url('fonts/FoundersGrotesk-Light.woff') format('woff'),
		 url('fonts/FoundersGrotesk-Light.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Founders Grotesk';
	src: url('fonts/FoundersGrotesk-Regular.woff2') format('woff2'),
		 url('fonts/FoundersGrotesk-Regular.woff') format('woff'),
		 url('fonts/FoundersGrotesk-Regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Founders Grotesk';
	src: url('fonts/FoundersGrotesk-Medium.woff2') format('woff2'),
		 url('fonts/FoundersGrotesk-Medium.woff') format('woff'),
		 url('fonts/FoundersGrotesk-Medium.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

html, button, input, select, textarea { color: #222; }

body {
	font-size: 1em;
	line-height: 1.4;
}
/* Remove text-shadow in selection highlight. These selection declarations have to be separate. Customize the background color to match your design */
::-moz-selection {
    background: #edece143;
    text-shadow: none;
}

::selection {
    background: #edece143;
    text-shadow: none;
}

/* Remove the gap between images and the bottom of their containers  */
img { vertical-align: middle; }

a {
	text-decoration:none;
	-webkit-transition: color 0.2s ease;
    -moz-transition: color 0.2s ease;
    -o-transition: color 0.2s ease;
    transition: color 0.2s ease;
	cursor: pointer;
}

a, a:active, a:focus {
   outline: none;
}

b, strong {
	font-weight: 500;
}

.noselect {
	-webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}

/* Disable resizing of textareas. */
textarea { 
	resize: none; 
	outline: none;
	border: none;
	background-color: transparent;
	box-shadow: none;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

/* Corrige o padding para não expandir as caixas */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* Screen reader only - acessibilidade */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/* 

DEFAULT STYLES


*/


:root {
	--color-white: #FFFFFF;
	--color-sand: #EDECE1;
	--color-dark-sand: #8F8370;
	--color-orange: #F50;
	--color-text-primary: #151515; 
	--color-title-primary: #151515;

	/* SPACINGS */
	--spacing-wrapper: 6.25%;
	--grid-gap-y: 2vw;
	--grid-gap-x: 3.125%;
	--gap-fixed: 12px;
	--section-padding-y: 4.25%;
    --section-padding-y-md: 6%;
	--section-padding-y-lg: 8%;
    --section-padding-y-sm: 3%;

	/* TYPOGRAPHY */
	--font-size-h2: clamp(150px, 12vw, 229.19px);
	--line-height-h2: clamp(100px, 9.3vw, 173px);
	--letter-spacing-h2: clamp(-13.751px, -0.75vw, -9px);
	
	--font-size-text-xl: clamp(16px, 1.3vw, 24px);
	--line-height-text-xl: clamp(18px, 1.4vw, 26px);
	--letter-spacing-text-xl: clamp(-0.6px, -0.04vw, 0px);
	
	--font-size-text-lg: clamp(14px, 1vw, 19px);
	--line-height-text-lg: clamp(16px, 1.2vw, 23px);
	--letter-spacing-text-lg: clamp(-0.18px, -0.01vw, 0px);

	--font-size-text-md: clamp(12px, 1vw, 18px);
	--line-height-text-md: clamp(14px, 1.1vw, 20px);
	--letter-spacing-text-md: clamp(-0.18px, -0.01vw, 0px);
	
	--font-size-text-sm: clamp(10px, 0.7vw, 13px);
	--line-height-text-sm: clamp(14px, 1vw, 20px);

	--font-size-heading-span: clamp(32px, 4.2vw, 50px);
	--font-size-heading-h3: clamp(100px, 8.3vw, 152.793px);
	--letter-spacing-heading-h3: clamp(-5.64px, -0.4vw, -7.64px);
	
	--font-size-grid-h3: 90px;
	--font-size-grid-p: 16px;

	/* RADIUS */
	--border-radius-sm: 10px;
	--border-radius-md: 15px;
	--border-radius-lg: 20px;
	--border-radius-full: 71px;

    /* SIZES */
    --ecosystem-card-width: 26vw;
    --catalisador-card-width: 27.5vw;
    --bioma-card-width: 32vw;
}

@media (max-width: 1500px) {
    :root {
		/* SPACINGS */
        --spacing-wrapper: 5.5%;
        --grid-gap-y: 1.8vw;
        --grid-gap-x: 2.8%;
        --section-padding-y: 4%;
        --section-padding-y-md: 5.5%;
        --section-padding-y-lg: 7.5%;
        --section-padding-y-sm: 2.8%;

		/* SIZES */
		--catalisador-card-width: 30vw;
		--bioma-card-width: 35vw;

		/* TYPOGRAPHY */
		--font-size-grid-h3: clamp(60px, 6vw, 90px);
		--font-size-grid-p: clamp(12px, 1vw, 16px);
    }
}

@media (max-width: 1240px) {
	:root {
		/* TYPOGRAPHY */
		--font-size-h2: clamp(120px, 12vw, 150px);
		--line-height-h2: clamp(80px, 8vw, 100px);
		--letter-spacing-h2: clamp(-9px, -0.75vw, -13.751px);
		--font-size-heading-span: clamp(28px, 3.8vw, 40px);
		--font-size-heading-h3: clamp(80px, 7.5vw, 120px);
		--letter-spacing-heading-h3: clamp(-4.64px, -0.35vw, -6.64px);
		--font-size-grid-h3: clamp(50px, 5vw, 80px);
		--font-size-grid-p: clamp(12px, 1vw, 15px);
		--font-size-text-xl: clamp(16px, 1.5vw, 22px);
		--line-height-text-xl: clamp(18px, 1.7vw, 24px);
		--font-size-text-lg: clamp(14px, 1.2vw, 18px);
		--line-height-text-lg: clamp(16px, 1.4vw, 21px);
		--font-size-text-md: clamp(12px, 1.1vw, 16px);
		--line-height-text-md: clamp(14px, 1.3vw, 19px);
		--font-size-text-sm: clamp(10px, 0.9vw, 12px);
		--line-height-text-sm: clamp(14px, 1.1vw, 18px);

		/* SIZES */
		--ecosystem-card-width: 32vw;
		--catalisador-card-width: 35vw;
		--bioma-card-width: 40vw;

		/* SPACINGS */
		--spacing-wrapper: 60px;
        --grid-gap-y: 20px;
        --grid-gap-x: 30px;
        --section-padding-y: 45px;
        --section-padding-y-md: 60px;
        --section-padding-y-lg: 85px;
        --section-padding-y-sm: 30px;
	}
}
  
@media (max-width: 1024px) {
	:root {
		/* SIZES */
		--ecosystem-card-width: 42vw;
		--bioma-card-width: 50vw;
		--catalisador-card-width: 45vw;
		
		/* SPACINGS */
		--spacing-wrapper: 40px;
        --grid-gap-y: 15px;
        --grid-gap-x: 25px;
        --section-padding-y: 35px;
        --section-padding-y-md: 45px;
        --section-padding-y-lg: 50px;
        --section-padding-y-sm: 25px;

		/* TYPOGRAPHY */
		--font-size-heading-span: clamp(24px, 3.5vw, 36px);
		--font-size-heading-h3: clamp(70px, 7vw, 100px);
		--letter-spacing-heading-h3: clamp(-3.64px, -0.3vw, -5.64px);
		--font-size-grid-h3: clamp(40px, 4vw, 60px);
		--font-size-grid-p: clamp(12px, 1vw, 14px);
		--font-size-h2: clamp(100px, 10vw, 120px);
		--line-height-h2: clamp(70px, 7vw, 90px);
		--font-size-text-xl: clamp(15px, 1.8vw, 20px);
		--line-height-text-xl: clamp(17px, 2vw, 22px);
		--font-size-text-lg: clamp(13px, 1.4vw, 16px);
		--line-height-text-lg: clamp(15px, 1.6vw, 19px);
		--font-size-text-md: clamp(12px, 1.3vw, 15px);
		--line-height-text-md: clamp(14px, 1.5vw, 18px);
		--font-size-text-sm: clamp(10px, 1.1vw, 12px);
		--line-height-text-sm: clamp(12px, 1.3vw, 16px);
	}
}
  
@media (max-width: 768px) {
    :root {
		/* SPACINGS */
        --spacing-wrapper: 16px;
        --grid-gap-y: 18px;
        --grid-gap-x: 16px;
		--gap-fixed: 18px;
        --section-padding-y: 16px;
        --section-padding-y-md: 24px;
        --section-padding-y-lg: 32px;
        --section-padding-y-sm: 12px;
		
		/* SIZES */
        --ecosystem-card-width: 72vw;
		--catalisador-card-width: 78vw;
		--bioma-card-width: 82vw;

		/* TYPOGRAPHY */
		--font-size-heading-span: 18px;
		--font-size-heading-h3: 46px;
		--letter-spacing-heading-h3: -2.8px;
		--font-size-grid-h3: clamp(30px, 3.5vw, 50px);
		--font-size-grid-p: clamp(12px, 1vw, 13px);
		--font-size-h2: 68px;
		--line-height-h2: 62px;
		--letter-spacing-h2: -3px;
		--font-size-text-xl: 26px;
		--line-height-text-xl: 28px;
		--font-size-text-lg: 18px;
		--line-height-text-lg: 20px;
		--font-size-text-md: 16px;
		--line-height-text-md: 18px;
		--font-size-text-sm: 12px;
		--line-height-text-sm: 14px;
    }
}

@media (max-width: 500px) {
	:root {
		/* TYPOGRAPHY */
		--font-size-h2: 61px;
		--font-size-heading-h3: 38px;

		/* SIZES */
        --ecosystem-card-width: 84vw;
		--catalisador-card-width: 88vw;
	}
}

html {
	overscroll-behavior: none;
	overscroll-behavior-y: none;
}

body {
	font-family: 'Founders Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-size: 16px;
	color: var(--color-text-primary);
	background-color: var(--color-sand);
	margin: 0;
	padding: 0;
	overscroll-behavior: none;
	position: relative;
	overflow-x: hidden;
}

body.no-scroll {
	overflow: hidden;
	height: 100vh;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.flex {display: flex;}
.flex-col {flex-direction: column;}

.h2.marked, span.marked {color: var(--color-orange);}

@media (min-width: 1024px) {
	.hide-desk {
		display: none;
	}
}

@media (max-width: 1024px) {
	.hide-mobile {
		display: none;
	}
}

@media (min-width: 768px) {
	.hide-larger {
		display: none;
	}
}

@media (max-width: 768px) {
	.hide-smaller {
		display: none;
	}
	.mobile-title {
		grid-column: span 4 / span 4;
		grid-row-start: 2;
	}
}

.notch {
	width: 100%;
	height: 40px;
	min-height: 30px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.notch-left, .notch-right {
	width: 45%;
	background-color: var(--color-orange);
	border-radius: 15px 15px 0 0;
}

.notch-center {
	width: 10%;
	position: relative;
	overflow: visible;
}

.notch-center svg {
	position: absolute;
	width: 30px;
	height: 30px;
	bottom: -0.5px;
}

.notch-center svg path {
	fill: var(--color-orange);
}

.notch-center svg:first-child {
	left: -0.5px;
	transform: rotate(270deg);
}

.notch-center svg:last-child {
	right: -0.5px;
	transform: rotate(180deg);
}

.h2 {
	color: var(--color-title-primary);
	font-size: var(--font-size-h2);
	font-style: normal;
	font-weight: 300;
	line-height: var(--line-height-h2);
	letter-spacing: var(--letter-spacing-h2);
}

.text-content p {
	margin: 0 0 20px 0;
	color: var(--color-title-primary);
}
     
.text-content p:first-child {
	font-size: var(--font-size-text-xl);
	font-style: normal;
	font-weight: 400;
	line-height: var(--line-height-text-xl);
	letter-spacing: var(--letter-spacing-text-xl);
}

.text-content p:last-child {
	font-size: var(--font-size-text-md);
	font-style: normal;
	font-weight: 400;
	line-height: var(--line-height-text-md);
	letter-spacing: var(--letter-spacing-text-md);
}

.section-subtitle {
	margin: 0;
	color: var(--color-dark-sand);
	font-size: var(--font-size-text-lg);
	font-style: normal;
	font-weight: 500;
	line-height: var(--line-height-text-lg);
	letter-spacing: var(--letter-spacing-text-lg);
	text-transform: uppercase;
}

p mark {
	color: var(--color-orange);
	background-color: transparent;
}

/* CTA BUTTON */


.cta-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	color: var(--color-white);
	font-size: var(--font-size-text-sm);
	font-weight: 500;
	line-height: var(--line-height-text-sm);
    align-self: center;
	border-radius: clamp(50px, 3.7vw, var(--border-radius-full));
	gap: clamp(3px, 0.2vw, 4px);
}

.cta-button-patch {
	position: absolute;
    width: auto;
    height: 100%;
    right: 0;
	z-index: 0;
    aspect-ratio: 85 / 38;
}

.cta-button-text {
	padding: clamp(4px, 0.31vw, 6px) clamp(12px, 0.94vw, 18px);
	background-color: var(--color-orange);
	border-radius: clamp(50px, 3.7vw, var(--border-radius-full));
	text-transform: uppercase;
	z-index: 1;
}

.cta-button-arrow {
	padding: clamp(4px, 0.31vw, 6px) clamp(8px, 0.625vw, 12px);
	z-index: 1;
}

.cta-button-arrow svg {
	width: clamp(8px, 0.52vw, 10px);
	height: clamp(8px, 0.52vw, 10px);
}

.cta-button.cta-dark-orange {
	color: var(--color-orange);
}

.cta-button.cta-dark-orange .cta-button-text {
	background-color: var(--color-title-primary);
}

.cta-button.cta-dark-orange .cta-button-arrow svg path {
	fill: var(--color-orange);
}

.cta-button.cta-dark-orange .cta-button-patch svg path {
	fill: var(--color-title-primary);
}

.cta-button.cta-tall .cta-button-text {
	padding: clamp(8px, 0.52vw, 10px) clamp(16px, 1.25vw, 24px);
}

.cta-button.cta-tall .cta-button-arrow {
	padding: clamp(8px, 0.52vw, 10px) clamp(12px, 0.94vw, 17px);
}


/* TOPINHO DAS SEÇÕES */
.logo-badge {
	display: flex;
	align-items: flex-start;
}

.logo-badge span {
	display: flex;
	padding: 12px 15px;
	justify-content: center;
	align-items: center;
	color: var(--color-title-primary);
	text-align: justify;
	leading-trim: both;
	text-edge: cap;
	font-size: clamp(10px, 0.75vw, 14px);
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	letter-spacing: clamp(-0.14px, -0.01vw, 0px);
	text-transform: uppercase;
	border-radius: var(--border-radius-full);
	border: 1px solid var(--color-title-primary);
}

.logo-badge span.badge-text {
	color: var(--color-orange);
	background-color: var(--color-title-primary);
}

@media (max-width: 1240px) {
	.text-content p {
		margin: 0 0 12px 0;
	}
}

@media (max-width: 768px) {
	.cta-button-text, 
	.cta-button-arrow, 
	.logo-badge span {
    	padding: 8px 12px;
	}
	.text-content p {
		margin: 0 0 18px 0;
	}
	.notch-left, .notch-right {
		width: 36%;
	}
	.notch-center {
		width: 28%;
	}

	.section-subtitle br {
		display: none;
	}
}