/*
	----------------
	- Structure: Everything like spacing, dimensions, z-index and fonts is defined below.
	----------------
*/

:root{

	--i-range: clamp(0rem, (100vw - 30 * var(--i-rem)) / (70 - 30), var(--i-rem));
	--i-rem: calc(1rem / 16 * var(--set__i-font-size));

	--i-link--te-de: none;
	--i-link-hover--te-de: none;


	/*
		----------------
		- Focus
		----------------
	*/

	--i-outline-width: 2px;
	--i-outline-style: solid;
	--i-outline-color: currentColor;
	--i-outline-offset: 2px;


	/*
		----------------
		- Typography
		----------------
	*/

	--i-font-size: var(--i-font-size_1);
	
	--i-font-size_-3: calc(var(--i-font-size_1) * .8);
	--i-font-size_-2: calc(var(--i-font-size_1) * .87);
	--i-font-size_-1: calc(var(--i-font-size_1) * .95);
	--i-font-size_1: var(--i-rem);
	--i-font-size_2: calc(var(--i-font-size_1) * 1.08);
	--i-font-size_3: calc(var(--i-font-size_1) * 1.3);
	--i-font-size_4: calc(var(--i-font-size_1) * 1.45 + .15 * var(--i-range));
	--i-font-size_5: calc(var(--i-font-size_1) * 1.6 + .2 * var(--i-range));
	--i-font-size_6: calc(var(--i-font-size_1) * 1.9 + .3 * var(--i-range));
	--i-font-size_7: calc(var(--i-font-size_1) * 2.2 + .5 * var(--i-range));
	
	--i-font-size_user-content: calc(var(--i-font-size_1) * 1.1);

	--i-font-family_system-ui: system-ui;
	--i-font-family_arial: "Arial";
	--i-font-family_bitter: "Bitter";
	--i-font-family_classical-humanist: Optima, Candara, "Noto Sans", source-sans-pro, sans-serif;
	--i-font-family_geometric-humanist: Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
	--i-font-family_georgia: Georgia, Times, "Times New Roman", serif;
	--i-font-family_humanist: Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
	--i-font-family_helvetica: "Helvetica Neue", "Helvetica", Arial;
	--i-font-family_instrument-sans: "Instrument Sans";
	--i-font-family_inter: "Inter";
	--i-font-family_manrope: "Manrope";
	--i-font-family_merriweather-sans: "Merriweather Sans";
	--i-font-family_monospace-code: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
	--i-font-family_old-style: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;
	--i-font-family_open-sans: "Open Sans";
	--i-font-family_pathway-extreme: "Pathway Extreme";
	--i-font-family_roboto-flex: "Roboto Flex";
	--i-font-family_roboto-serif: "Roboto Serif";
	--i-font-family_roboto-slab: "Roboto Slab";
	--i-font-family_rounded-sans: ui-rounded, "Hiragino Maru Gothic ProN", Quicksand, Comfortaa, Manjari, "Arial Rounded MT", "Arial Rounded MT Bold", Calibri, source-sans-pro, sans-serif;
	--i-font-family_source-sans-3: "Source Sans 3";
	--i-font-family_tahoma: Tahoma, Verdana, Segoe, sans-serif;
	--i-font-family_transitional: Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
	--i-font-family_trebuchet-ms: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif;
	--i-font-family_verdana: Verdana, Segoe, sans-serif;
	
	--i-font-awesome: "Font Awesome 6 Free";

	--i-font-family: var(--set__i-font-family, system-ui), system-ui, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--i-font-weight: 400;



	/*
		----------------
		- Spacing
		----------------
	*/

	--i-sp_1: calc(var(--i-rem) * .5);
	--i-sp_2: calc(var(--i-rem) * 1);
	--i-sp_3: calc(var(--i-rem) * 2);
	--i-sp_4: calc(var(--i-rem) * 3.5);
	--i-sp_5: calc(var(--i-rem) * 5);
	--i-sp_6: calc(var(--i-rem) * 6.5);
	--i-sp_7: calc(var(--i-rem) * 8);
	--i-sp_8: calc(var(--i-rem) * 9.5);
	--i-sp_9: calc(var(--i-rem) * 11);
	--i-sp_block: calc(var(--i-rem) * 1.5);


	/*
		----------------
		- z-index
		----------------
	*/

	--i-z-index_sticky: 4;
	--i-z-index_headerPrimary: 5;
	--i-z-index_offCanvas: 8;
	--i-z-index_mobileFooter: 10;


	/*
		----------------
		- Layout
		----------------
	*/

	--i-layout-width: calc(var(--set__i-layout-width) * 1px);
	--i-layout-gutter: clamp(15px, 3vw, 40px);

	--i-header-row--he: 2em;
	--i-headerTop--he: calc(var(--set__i-header-top--he) * 1px);
	--i-headerPrimary--he: calc(var(--set__i-header-primary--he) * 1px);
	--i-headerSecondary--he: calc(var(--set__i-header-secondary--he) * 1px);
	--i-mobileHeader--he: calc(var(--set__i-mobile-header--he) * 1px);

	/* Define an offset for sticky headers */
	--i-sticky-offset--large: 0px;
	--i-sticky-offset--small: 0px;

	--i-sticky-offset: calc(env(safe-area-inset-top) + var(--i-sticky-offset--large) + var(--i-sticky-offset--extra, 0px));

	--i-search--wi: 280px;
	--i-search--he: 36px;

	--i-mobileFooter--he: 0px;

	/*
		----------------
		- Navigation bar
		----------------
	*/

	--i-nav--fo-we: 700;
	--i-nav--te-tr: uppercase;
	--i-nav--fo-si: max(12px, .8em);
	--i-nav--bo-ra: 5px;
	--i-nav--pa: .8em 1.8em;
	--i-nav--ba-co: transparent;
	--i-nav--co: currentColor;

	--i-nav-hover--co: currentColor;
	--i-nav-hover--ba-co: color-mix(in srgb, currentColor 8%, transparent);

	--i-nav-active--co: currentColor;
	--i-nav-active--ba-co: color-mix(in srgb, currentColor 14%, transparent);

	--i-nav-dropdown-arrow: 6px;
	--i-nav-dropdown-offset: 8px;
	--i-nav-dropdown--co: var(--i-color_root);
	--i-nav-dropdown-hover--co: var(--i-color_hard);
	--i-nav-dropdown-hover--ba-co: color-mix(in srgb, var(--i-nav-dropdown-hover--co) 6%, transparent);
	--i-nav-dropdown-active--ba-co: var(--i-primary);
	--i-nav-dropdown-active--co: var(--i-primary-contrast);

	/*
		----------------
		- Boxes
		----------------
	*/

	--i-design-radius: calc(var(--set__i-design-radius) * 1px);
	--i-box--bo-ra: var(--i-design-radius);
	--i-box--bo-wi: calc(var(--set__i-design-border) * 1px);
	--i-box--bo-st: solid;
	--i-box--pa-bl: var(--i-sp_3);
	--i-box--pa-in: var(--i-sp_3);
	--i-widget--bo-ra: var(--i-box--bo-ra);
	--i-widget--bo-wi: var(--i-box--bo-wi);
	--i-widget--bo-st: var(--i-box--bo-st);
	--i-widget--bo-sh: var(--i-box--bo-sh);
	--i-widget--ba-co: var(--i-box--ba-co);
	--i-widget--bo-co: var(--i-box--bo-co);
	--i-data--bo-co: var(--i-background_4);


	/*
		----------------
		- Buttons
		----------------
	*/

	--i-button--bo-wi: 1px;
	--i-button--bo-st: solid;
	--i-button--bo-sh: none;
	--i-button--fo-we: 600;
	--i-button--pa-bl: .7em;
	--i-button--pa-in: 1.2em;


	/*
		----------------
		- Inputs
		----------------
	*/

	--i-input--pa-bl: .7em;
	--i-input--pa-in: 1em;
	--i-input--bo-wi: 1px;
	--i-input--bo-ra: min(var(--i-design-radius), .4em);
	--i-input--bo-co: color-mix(in srgb, currentColor 35%, transparent);
	--i-input--bo-sh: hsl(0 0% 0% / .08) 0px 2px 1px;
	--i-input-hover--bo-co: color-mix(in srgb, currentColor 70%, transparent);
	--i-input-active--bo-co: var(--i-primary);
	--i-placeholder--op: .75;


	/*
		----------------
		- Other
		----------------
	*/

	--i-avatar--bo-ra: calc(50% * var(--set__i-avatar-radius) + min(3px, 15%));
	--i-thumb--bo-ra: min(var(--i-design-radius), 6px);

	--i-popup--bo-ra: min(var(--i-design-radius, 4px));
	--i-popup--bo-sh: 0 8px 50px rgba(0,0,0,0.1), 0px 4px 15px rgba(0,0,0,0.05);
	--i-dialog--bo-sh: 0px 5px 55px color-mix(in srgb, var(--i-background_dark) 40%, transparent), 0px 7px 24px -12px color-mix(in srgb, var(--i-background_dark) 70%, transparent);

	--i-dropdown--bo-ra: var(--i-box--bo-ra);

	/*
		----------------
		- Style queries: Enable/disable certain features using CSS variables
		----------------
	*/
	--i-inherited-footer-widgets: true;
	
}

[data-ips-scheme="dark"]{
	--i-popup--bo-sh: 0 20px 80px hsl(0 0% 0% / 80%), 0px 10px 20px hsl(0 0% 0% / 10%);
}

@media (max-width: 767px){
	[data-ips-theme-setting-mobile-icons-location="footer"]{
		--i-mobileFooter--he: calc(55px + env(safe-area-inset-bottom));
	}
}

@media (max-width: 979px){
	:root{
		--i-box--pa-bl: var(--i-sp_2);
		--i-box--pa-in: var(--i-sp_2);
		--i-sticky-offset: calc(env(safe-area-inset-top) + var(--i-sticky-offset--small) + var(--i-sticky-offset--extra, 0px));
	}
}

[dir="ltr"]{
	--i-lang-dir: 1;
}
[dir="rtl"]{
	--i-lang-dir: -1;
}

/* color-mix fallback */
@supports not (color: color-mix(in srgb, red, red)){
	:root{
		--i-input--bo-co: var(--i-background_6);
		--i-input--bo-sh: hsl(0 0% 0% / .08) 0px 2px 1px;
		--i-input-hover--bo-co: currentColor;
	}
}

:popover-open{
	--i-sticky-offset: 0px;
}
.\:popover-open{
	--i-sticky-offset: 0px;
}