/* TABLE OF CONTENTS */
/* #region 1.0. globals */
/* #region 1.1. --gloar() */
:root {
	/* Color Palette */
	--glo-kpr-black-c: #1b1c26;
	--glo-kpr-dark-c: #1b1c26;
	--glo-kpr-dark-c-80: #1d1f28cc;
	--glo-kpr-dark-c-20: #1d1f2833;
	--glo-kpr-acce-c: #ff8c36;
	--glo-kpr-acce-c-20: rgba(255, 165, 91, 0.2);
	--glo-kpr-acce-c-light: #fff7f2;
	--glo-kpr-acce-c-light-2: #fbf9f8;
	--glo-kpr-acce-c-light-3: #fff7f2;
	--glo-kpr-bord-c: #eae6e0;
	--glo-kpr-acce-c-pale: #ffddc3;
	--glo-kpr-blue-gray: #63677d;
	--glo-kpr-inpu-bg: #00000047;
	--glo-white: #ffffff;
	--glo-black: #000000;
	--glo-shadow: #a3a3a326;
	--glo-kpr-grad: linear-gradient(
		-98deg,
		rgba(135, 131, 131) 0%,
		rgba(33, 32, 32) 100%
	);
	--glo-kpr-bg-blur: blur(5px);
	--glo-kpr-menu-bg: #3ed1b62c;
	--glo-kpr-subm-bg: #e8f4f2;
	--glo-kpr-grad: linear-gradient(
		-98deg,
		rgba(135, 131, 131, 1) 0%,
		rgba(33, 32, 32, 1) 100%
	);
	--glo-kpr-img-over: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.5) 0%,
		rgba(0, 0, 0, 0.3) 50%,
		rgba(0, 0, 0, 0.5) 100%
	);
	--glo-kpr-img-card-over: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.5) 100%
	);
	--glo-kpr-box-s: 0 0 10px 0 var(--glo-shadow);
	--glo-kpr-card-box-s: 0 15px 75px 0 var(--glo-kpr-acce-c-20);
	--glo-kpr-card-box-s-hover: 0 15px 75px 0 var(--glo-kpr-dark-c-20);

	/* Typography Scale */
	--glo-typo-h1-size: clamp(2rem, 7vw, 3.5rem);
	--glo-typo-h2-size: clamp(1.75rem, 4vw, 2.5rem);
	--glo-typo-h3-size: clamp(1.5rem, 3vw, 2rem);
	--glo-typo-h4-size: clamp(1.25rem, 2.5vw, 1.5rem);
	--glo-typo-h5-size: clamp(1.125rem, 2vw, 1.25rem);
	--glo-typo-h6-size: clamp(1rem, 1.5vw, 1.125rem);
	--glo-typo-body-size: clamp(1rem, 2.5vw, 1.125rem);
	--glo-typo-body-large-size: clamp(1.125rem, 2.5vw, 1.25rem);
	--glo-typo-small-size: clamp(0.875rem, 2vw, 1rem);

	/* Typography Line Heights */
	--glo-typo-h-line-height: 1.2;
	--glo-typo-body-line-height: 1.6;
	--glo-typo-body-line-height-desktop: 1.5;

	/* Typography Font Weights */
	--glo-typo-h-weight: 700;
	--glo-typo-body-weight: 300;
	--glo-typo-button-weight: 700;

	/* Typography Letter Spacing */
	--glo-typo-button-spacing: 0.5px;

	/* Fonts */
	/*
	--glo-kpr-font: "Figtree", sans-serif;
	--glo-heading: "Figtree", sans-serif;
	--glo-text: "Figtree", sans-serif;
	*/
	
	--glo-kpr-font: 'Funnel Display', sans-serif;
    --glo-heading: 'Funnel Display', sans-serif;
    --glo-text: 'Lato', sans-serif;

	/* Layout */
	--glo-block-maxw: 85rem;

	/* Sizes */
	--glo-3xs: 0.0625rem;
	--glo-2xs: 0.125rem;
	--glo-xs: 0.25rem;
	--glo-s: 0.5rem;
	--glo-m: 1rem;
	--glo-l: 1.5rem;
	--glo-xl: 2rem;
	--glo-2xl: 3rem;
	--glo-3xl: 4rem;
	--glo-4xl: 6rem;
	--glo-5xl: 8rem;
	--glo-6xl: 12rem;
	--glo-7xl: 16rem;
	--glo-8xl: 20rem;
	--glo-9xl: 24rem;

	/* Border & Radius */
	--glo-br: 1rem;
	--glo-br-max: 100rem;
	--inpu-br: 0.3rem;

	/* Buttons */
	--glo-butt-p: 0.55rem 1.5rem;
	--glo-butt-br: 0.375rem;
	--glo-menu-bar-w: 2.1875rem;
	--glo-butt-shadow: 0px 5px 20px 0px var(--glo-kpr-acce-c);
	--glo-butt-shadow-tran: 0px 0px 5px 0px var(--glo-kpr-acce-c);

	/* 35px */
	--glo-menu-bar-h: 0.2125rem;

	/* 5px */
	--glo-menu-bar-g: 0.375rem;

	/* 6px */
	--glo-menu-tran: 0.4s;
	--glo-kpr-tran: all 150ms ease-in-out;
	--glo-kpr-card-tran: all 200ms ease-in-out;
	--glo-kpr-box-s: 0rem 0.25rem 1.25rem 0rem var(--glo-shadow);
}

@media (min-width: 1281px) and (max-width: 1440px) {
	:root {
		--glo-butt-p: 0.55rem 1rem;
	}
}

@font-face {
	font-display: swap;
	font-family: "Figtree";

	/* Regular */
	src: url("../assets/fonts/Figtree.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Figtree";
	font-style: italic;

	/* Italic */
	font-weight: 400;

	/* Regular Italic */
	src: url("../assets/fonts/Figtree-Italic.woff2") format("woff2");
}

/* #endregion 1.1. --gloar() */
/* #region 1.2. tags */
/* #region Gutenberg Editor Styles HOT FIXES */
:where(.editor-styles-wrapper) img.kpr-bg-logo,
:where(.editor-styles-wrapper) img.kpr-curve-sep {
	position: absolute !important;
}

:where(.editor-styles-wrapper) .wp-block-image {
	width: 100%;
}

/* #endregion Gutenberg Editor Styles HOT FIXES */
* {
	position: relative;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	margin-top: 0 !important;
}

body {
	display: flex;
	flex-direction: column;
	margin: auto;
	line-height: 1.5;
	font-weight: 300;
	overflow: hidden;
	overflow-y: scroll;
}

body.logged-in.admin-bar header,
body.logged-in.admin-bar header .kpr-header {
	margin-top: 32px;
}

header {
	margin: 0;
	width: 100%;
	background-color: var(--glo-white);
	text-transform: capitalize;
}

footer {
	margin: auto;
	width: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

main.kpr-layout {
	width: 100%;
	display: grid;
	margin-top: 54px !important;
}

body.logged-in.admin-bar main.kpr-layout {
	/*margin-top: 85px !important;*/
}

.block-lib {
	display: grid;
	gap: var(--glo-2xl);
	background-color: #6b6b6b;
	min-height: 100vh;
	max-width: 100vw;
	margin: auto;
}

.block-lib section {
	background-color: var(--glo-white);
}

.kpr-layout {
	font-family: var(--glo-text);
}

.kpr-section {
	display: flex;
	flex-direction: column;
	padding: var(--glo-2xl) var(--glo-m);
	margin: auto;
	gap: var(--glo-xl);
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	justify-content: center;
	align-items: center;
}

.kpr-layout section * {
	z-index: 3;
}

p {
	margin: 0;
}

.--kpr-bg-dark-blue {
	background-color: var(--glo-kpr-dark-c);
	color: var(--glo-white);
}

.--kpr-bg-dark-blue {
	color: var(--glo-white);
}

.--kpr-bg-white {
	background-color: var(--glo-white);
	color: var(--glo-black);
}

.kpr-layout h2,
.kpr-layout h3,
.kpr-layout h4,
.kpr-layout h5,
.kpr-layout h6 {
	line-height: 1.2;
	margin: 0;
	font-weight: 700;
	font-family: var(--glo-heading);
	text-transform: capitalize;
	margin-block-start: 0;
	margin-block-end: 0;
}

.--kpr-txt-white {
	color: var(--glo-white);
}

/* Base (smaller) sizes for all screens up to 1440px */
.kpr-layout h1 {
    font-size: clamp(1.8rem, 6vw, 3.2rem);
    font-family: var(--glo-kpr-font);
    margin: 0;
    line-height: 1.2;
}

@media (min-width: 1281px) {
    .kpr-layout h1 {
        font-size: clamp(3.2rem, 5vw, 5rem);
    }
}

.kpr-layout h1.h1-small {
	font-size: clamp(1.4rem, 3.5vw, 2rem);
}

.kpr-layout h2 {
	font-size: clamp(1.6rem, 3.5vw, 2.5rem);
}

.kpr-layout h2.h2-small {
	font-size: clamp(0.95rem, 2.2vw, 1.05rem);
}

.kpr-layout h3 {
	font-size: clamp(1.1rem, 2.2vw, 1.5rem);
}

.kpr-layout h3.h3-small {
	font-size: clamp(0.95rem, 2.2vw, 1.05rem);
}

.kpr-layout h3.h3-list {
	font-size: clamp(1.1rem, 2.2vw, 1.25rem);
}

.kpr-layout h4 {
	font-size: clamp(1.1rem, 2.2vw, 1.25rem);
}

.kpr-layout h4.h4-small {
	font-size: clamp(0.85rem, 2.2vw, 0.95rem);
}

.kpr-layout h5 {
	font-size: clamp(0.95rem, 2.2vw, 1.05rem);
}

.kpr-layout h6 {
	font-size: clamp(0.85rem, 1.8vw, 0.95rem);
}

.kpr-layout {
	font-family: var(--glo-text);
	line-height: 1.7;
	margin: 0;
	font-size: clamp(0.95rem, 2.5vw, 1.05rem);
}

.kpr-layout p {
	line-height: 1.7;
	font-size: clamp(0.95rem, 2.5vw, 1.05rem);
}

.kpr-layout p.p-large {
    line-height: 1.7;
    font-size: clamp(1.05rem, 2.5vw, 1.15rem);
}

@media (min-width: 1281px) {
    .kpr-layout p.p-large {
        font-size: clamp(1.15rem, 1.5vw, 1.35rem);
    }
}

@media (min-width: 1281px) {
	.kpr-layout p {
		line-height: 1.5;
	}
}

a {
	background-color: unset;
}

@media (min-width: 1025px) {
	.kpr-section {
		padding: var(--glo-4xl) 0;
		gap: var(--glo-2xl);
		justify-items: center;
	}
}

@media (min-width: 1441px) {
	.kpr-section {
		padding: var(--glo-4xl) 0;
		gap: var(--glo-2xl);
		justify-items: center;
	}
}

.excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	transition: var(--glo-kpr-tran);
}

.h-p-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--glo-m);
	justify-items: center;
	width: fit-content;
	text-align: center;
}

.txt-marker {
	color: var(--glo-kpr-acce-c);
	padding: 0;
}

.kpr-layout b {
	font-weight: 700;
	font-size: 1rem;
}

.kpr-layout button {
	cursor: pointer;
	letter-spacing: 0.5px;
	font-weight: 500;
}

.kpr-layout
	a:not(.btn-primary, .kpr-header a, .btn-secondary, .kpr-card__item-link) {
	cursor: pointer;
	text-decoration: none;
	font-weight: 400;
	color: rgb(27, 28, 38);
}

.kpr-layout
	a:not(
		.kpr-header a,
		a.btn-primary,
		a.btn-secondary,
		.kpr-card__item-link,
		.kpr-footer__col a,
		.kpr-card__item
	):after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--glo-kpr-acce-c);
	text-decoration: none;
}

.kpr-layout
	a:not(
		.kpr-header a,
		a.btn-primary,
		a.btn-secondary,
		.kpr-card__item-link
	):hover::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--glo-kpr-acce-c);
	text-decoration: none;
}

footer a {
	color: var(--glo-white);
	font-weight: 400;
	text-decoration: none;
	position: relative;
}

footer a:hover {
	color: var(--glo-white);
	font-weight: 400;
	text-decoration: none;
}

:target {
	scroll-margin-top: 150px;

	/* Adjust this offset as needed */
}

ul:not(.kpr-bullet-list) {
	list-style: none;
	margin-block-start: 0rem;
	margin-block-end: 0rem;
	padding-inline-start: 0rem;
}

.kpr-layout img[src$=".svg"] {
    width: auto;
    height: auto;
    max-width: 100%;
}

.kpr-layout hr,
.kpr-line {
	border: 1px solid var(--hr-line);
	width: 100%;
	max-width: var(--glo-block-maxw);
	margin: auto;
}

div#cmplz-document {
	max-width: var(--glo-block-maxw);
	margin: auto;
	padding: var(--glo-m);
}

/* #endregion 1.2. tags */

.x-scroll-indicator {
    display: none !important;
}
