/************************************************************************************************************************
	typography.css: Font type definitions, hierarchy and styles.
		Defines font families, weights, sizes, and basic text utilities.

		Copyright (c) 2012-Present - agileKaizen, Ltd., all rights reserved. http://agileKaizen.com

 ************************************************************************************************************************/

/* ============================== BASE TYPOGRAPHY ============================== */
html,body {font-family:var(--font-default); font-size:15px; line-height:1.5; color:var(--text-body); background-color:var(--brand-background); text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -moz-font-feature-settings:"liga","kern"; -ms-font-smoothing:antialiased; font-weight:400;}


/* ============================== FONT FAMILIES ============================== */
.font-proximaNova 			{font-family:"Proxima Nova",Helvetica,sans-serif; font-size:1rem;}
.font-proximaNovaSoft 		{font-family:"Proxima Nova Soft",Helvetica,sans-serif;}
.font-proximaNovaCondensed 	{font-family:"Proxima Nova Condensed",Helvetica,sans-serif;}
.font-santaFe 				{font-family:santaFe,"Proxima Nova",Helvetica,sans-serif;}
.font-skinnyLatte 			{font-family:KGSkinnyLatte,"Proxima Nova",Helvetica,sans-serif; text-transform:uppercase;}
.font-arvo 					{font-family:Arvo,"Proxima Nova",Helvetica,sans-serif; text-transform:uppercase;}
.font-skolar 				{font-family:Skolar,"Helvetica Neue",sans-serif;}
.font-varelaRound 			{font-family:"Varela Round",sans-serif;}
.font-aller 				{font-family:"Aller","Helvetica Neue",sans-serif;}
.font-bebasNeue 			{font-family:"Bebas Neue",sans-serif;}
.font-roboto 				{font-family:"Roboto",sans-serif;}
.font-serpentine 			{font-family:"Serpentine",sans-serif; font-weight:bold;}
.font-serpentine-outline 	{font-family:"Serpentine-Outline",sans-serif; font-weight:bold;}
.font-cereal 				{font-family:"Cereal",Helvetica,sans-serif;}
.font-tiempos 				{font-family:"Tiempos",Georgia,serif;}


/* ============================== HEADINGS ============================== */
h1 {font-size:clamp(1.75rem, calc(1.2vw + 1rem), 2.2rem); line-height:1.3; font-weight:700; margin:1.5rem 0 1rem;}
h2 {font-size:clamp(1.5rem, calc(0.9vw + 0.75rem), 1.8rem); line-height:1.35; font-weight:700; margin:1.25rem 0 0.75rem;}
h3 {font-size:clamp(1.25rem, calc(0.6vw + 0.75rem), 1.5rem); line-height:1.4; font-weight:600; margin:1rem 0 0.5rem;}
h4 {font-size:1.15rem; line-height:1.35; font-weight:600; font-style:italic; margin:0.75rem 0 0.5rem;}
h5,h6 {font-size:1rem; line-height:1.3; font-weight:600; margin:0.5rem 0;}


/* ============================== TEXT FIGURE (Reading / Article) ============================== */
.text-figure-h1, h1.text-figure-h1 {font-size:clamp(1.3rem, 0.85vw + 0.90rem, 1.6rem); line-height:1.40; font-weight:700; margin:1.8rem 0 0.6rem;}
.text-figure-h2, h2.text-figure-h2 {font-size:clamp(1.1rem, 0.65vw + 0.75rem, 1.3rem); line-height:1.55; font-weight:600; margin:1.6rem 0 0.4rem;}
.text-figure-h3, h3.text-figure-h3 {font-size:clamp(1.0rem, 0.50vw + 0.70rem, 1.2rem); line-height:1.55; font-weight:600; margin:1.4rem 0 0.3rem;}
.text-figure-h4, h4.text-figure-h4 {font-size:0.95rem; line-height:1.45; font-weight:500; font-style:italic; margin:0.4rem 0;}
.text-figure-h1 + .subtitle {display:block; font-size:clamp(1rem,calc(0.6vw + 0.6rem),1.15rem); line-height:1.4; font-weight:400; color:var(--text-muted); margin:-0.25rem 0 1.25rem;}
.subtitle {font-size:0.95rem; font-style:italic; color:var(--text-muted); margin:0.25rem 0 0.75rem;}


/* ============================== DISPLAY VARIANTS ============================== */
.text-figure-h1.font-bebasNeue {font-size:clamp(2rem,1.75vw+1rem,3rem) !important;}
.text-figure-h2.font-bebasNeue {font-size:clamp(1.75rem,1.25vw+1rem,2.5rem) !important;}
.text-figure-h3.font-bebasNeue {font-size:clamp(1.5rem,1vw+1rem,2rem) !important;}
.text-figure-h4.font-bebasNeue {font-size:clamp(1.25rem,.75vw+1rem,1.75rem) !important;}

.text-figure-xxs	{font-size:clamp(0.8rem,1.2vw,1.1rem);	line-height:1.35em}
.text-figure-xs		{font-size:clamp(1rem,1.8vw,1.4rem); 	line-height:1.35em}
.text-figure-sm		{font-size:clamp(1.4rem,2.4vw,2rem);	line-height:1.3em}
.text-figure		{font-size:clamp(1.8rem,3vw,2.6rem);	line-height:1.25em}
.text-figure-lg		{font-size:clamp(2.3rem,3.6vw,3.1rem);	line-height:1.2em;	letter-spacing:-0.02em}
.text-figure-xl		{font-size:clamp(2.8rem,4.2vw,3.6rem);	line-height:1.15em;	letter-spacing:-0.02em}
.text-figure-xxl	{font-size:clamp(3.2rem,5vw,4.2rem);	line-height:1.1em;	letter-spacing:-0.02em}


/* ============================== TEXT UTILITIES ============================== */
.italics, em {font-style:italic}
.bold, .strong, strong {font-weight:bold !important;}
.bold-extra, .extra-bold {font-weight:900;}
.bold-not {font-weight:normal !important;}
.strike {text-decoration:line-through;}
.hide {display:none;}
.uppercase {text-transform:uppercase;}
.lowercase {text-transform:lowercase;}
.camelcase {text-transform:capitalize;}
.paragraph {display:inline-block; text-transform:lowercase;} .paragraph:first-letter {text-transform:uppercase;}
.small-caps {font-variant:small-caps; font-size:115%;}
.underline {text-decoration:underline;}
.normal-weight {font-weight:normal !important;}
.no-dots {list-style:none;}
.active .text-active {font-weight:bolder;}


/* ============================== FONT WEIGHTS ============================== */
.font-light {font-weight:var(--font-weight-light);}
.font-normal {font-weight:var(--font-weight-normal);}
.font-heavy {font-weight:var(--font-weight-heavy);}
.font-bold {font-weight:var(--font-weight-bold);}
.font-extrabold {font-weight:var(--font-weight-extrabold);}
.font-black {font-weight:var(--font-weight-black);}


/* ============================== TEXT COLORS ============================== */
.text-muted {color:var(--text-muted) !important;}
.text-muted-light {color:var(--text-muted-light) !important;}
.text-muted-inverse {color:var(--text-muted-inverse) !important;}
.text-hover {color:var(--bs-gray-500);} .text-hover:hover {color:var(--bs-gray-700);}
.text-inverse {color:var(--text-inverse) !important;}
.text-shadow {text-shadow:0 1px 3px rgba(var(--bs-black-rgb),.4), 0 0 30px rgba(var(--bs-black-rgb),.075);}
.text-shadow-lg {text-shadow:1px 1px 1px rgba(var(--bs-black-rgb),.6);}
.text-disabled {color:var(--bs-gray-500);}


/* ============================== LINKS / ANCHORS ============================== */
a, .anchor {color:var(--bs-link-color); text-decoration:none; cursor:pointer;}
a:hover, a:focus, .anchor:hover, .anchor:focus {color:var(--bs-link-hover-color); text-decoration:underline;}
a:active, .anchor:active {color:var(--bs-link-hover-color);}


/* ============================== SIZE UTILITIES ============================== */
.text-micro 	{font-size:0.6rem !important;}
.text-mini 		{font-size:0.65rem !important;}
.text-xxs 		{font-size:0.7rem !important;}
.text-xs 		{font-size:0.8rem !important;}
.text-sm 		{font-size:0.9rem !important;}
.text-md 		{font-size:1rem !important;}
.text-normal 	{font-size:1rem !important; font-style:normal; font-weight:normal;}
.text-lg 		{font-size:1.1rem !important;}
.text-xl 		{font-size:1.2rem !important;}
.text-xxl 		{font-size:1.3rem !important;}
.text-huge 		{font-size:1.5rem !important;}
.text-immense 	{font-size:1.75rem !important;}
.text-enormous, .text-enourmous 	{font-size:2rem !important;}
.text-gigantic 	{font-size:2.5rem !important;}


/* ============================== LINE HEIGHT UTILITIES ============================== */
.line-height-xxs	{line-height:1.0}
.line-height-xs 	{line-height:1.15;}
.line-height-sm 	{line-height:1.25;}
.line-height-md 	{line-height:1.35;}
.line-height-default{line-height:1.5}
.line-height-lg 	{line-height:1.7;}
.line-height-xl 	{line-height:1.85;}
.line-height-xxl 	{line-height:2.0;}


/* ============================== QUOTES & PRE ============================== */
blockquote {position:relative; font-size:1.4rem; font-weight:700; line-height:1.5; font-style:italic; margin:2.5rem 2rem; color:var(--text-body);}
blockquote:before {content:'\201C'; position:absolute; top:-3rem; left:-2rem; color:rgba(var(--brand-primary-rgb),.25); font-size:4rem; z-index:-1;}
pre {font-family:"Proxima Nova Condensed",Helvetica,sans-serif; font-weight:700; border-left:5px solid rgb(var(--brand-primary-rgb)); padding:.5rem 1rem; margin:0 0 1rem;}

