@import url(variables.css);

body {
	--background: transparent;
	--color: var(--color-black);
	--font-size: var(--font-size-regular);
	--line-height: var(--line-height-regular);
	--font-weight: 400;

	font-family: var(--font-family);
	background: var(--background);
	color: var(--color);
	font-weight: var(--font-weight);
	font-size: var(--font-size);
	line-height: var(--line-height);
	overflow-x: hidden;
}

body.vertical {
	--sidebar-width: 400px;
	background: var(--color-gray-light);
	display: flex;
	flex-wrap: wrap;
	position: relative;
	min-height: 0;
	height: fit-content;
}

body.vertical > header {
	flex: 0 1 var(--sidebar-width);
	background: var(--color-gray-light);
	max-width: var(--sidebar-width);
	overflow: hidden;
	align-items: flex-start; /** default is stretch **/
	align-content: flex-start; /** default is stretch **/
	flex-wrap: wrap;
	min-height: 0;
	position: sticky;
	top: 0;
	bottom: 200px;
	height: 100%;
}

body.vertical header div.sticky {
	position: sticky;
	top: 0;
}

body.vertical > header > div {
	align-items: flex-start;
}


body.vertical > header {
	nav.main ul, nav.secondary ul {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	nav.main ul li, nav.secondary ul li {
		flex: 0 0 100%;
	}
}

body.vertical header {
	padding: 2em 0 500px;
	box-sizing: border-box;
}

body.vertical header div.main {
	--padding: 0 1em;
}

body.vertical header div.main nav.logo {
	flex: 0 0 100%;
}

body.vertical header div.main div.navs {
	align-items: flex-start;
	flex-wrap: wrap;
}

body.vertical header div.main div.navs div.menus {
	display: flex;
	flex-wrap: wrap-reverse;
}

body.vertical header div.main div.navs div.menus nav {
	flex: 0 0 100%;
}

body.vertical header div.main div.navs div.cta {
	flex: 0 0 100%;
	text-align: center;
}

body.vertical header div.main nav ul li a {
	text-align: center;
	margin: 0 auto;
}

body.vertical header div.main nav ul li::before {
	display: none;
}

body.vertical header div.secondary {
	--background: transparent;
}

body.vertical header nav.secondary.site ul {
	justify-content: center;
}

body.vertical header nav.secondary ul li.site {
	display: flex;
	gap: 1em;
	justify-content: center;
}

body.vertical header nav.secondary ul li.site a {
	--color: var(--color-gray-darkest);
	border: 1px solid var(--color-black-light);
	box-sizing: border-box;
	padding: 6px 12px;
	border-radius: 4px;
	opacity: 1;
}

body.vertical header nav.secondary ul li.site a:hover {
	border-color: var(--color-primary-dark);
	background: var(--color-primary-lightest);
}

body.vertical #superslides.slim {
    width: 100%;
	max-width: calc(100vw - var(--sidebar-width));
    height: 50vh;
	box-sizing: border-box;
    padding: 0;
}

body.vertical div.crumbs {
	display:  none;
}

body.vertical > div.container-main {
	flex: 1 1 calc(100% - var(--sidebar-width));
	max-width: calc(100% - var(--sidebar-width));
}

body.vertical > div.container-main article.page article.chapter, body.vertical > div.container-main article.page article.grid {
	--background: var(--color-gray-lightest);
	background: var(--background);
}

body.vertical > div.container-main article.page article.chapter {
	--padding: 2em;
}
/* ==================== BUTTONS/ANCHORS ==================== **/
a {
	--color: var(--a-color);
	--font-size: var(--font-size-regular);
	--font-weight: 500;

	color: var(--color);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	text-decoration: underline;
	outline: none;
	transition: var(--default-transition);
	box-sizing: border-box;
}

a:hover {
	--color: var(--a-color-hover);
	text-decoration: none;
}

a.next {
	text-decoration: none;
	background: transparent url(../images/icon-next.png) no-repeat 0 8px;
	padding-left: 10px;
}

a.previous {
	text-decoration: none;
	background: transparent url(../images/icon-previous.png) no-repeat 0 8px;
	padding-left: 10px;
	margin:  20px var(--padding-sides-article);
}

h1.share span a.a2a_dd {
	font-family: var(--font-family);
	font-size: var(--font-size-regular);
	text-transform: lowercase;
}

button, a.button, span.button {
	--padding: 0.75em 1.5em;
	padding: var(--padding);
}

a.button, span.button, button, input[type="submit"], input[type="reset"], input[type="button"], ul li.button a {
	--background: var(--button-background);
	--border-radius: var(--button-radius);
	--color: var(--button-color);
	--font-size: var(--button-font-size);
	--font-weight: var(--button-font-weight);
	--padding: var(--button-padding);

	text-decoration: none;
	background: var(--background);
	border-radius: var(--border-radius);
	border: none;
	color: var(--color);
	display: inline-block;
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	cursor: pointer;
	margin: 10px 0;
	line-height: normal;
	padding: var(--padding);
	text-transform: uppercase;
	transition: var(--default-transition);
}

span.button {
	cursor: default;
}

a.button:hover, button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, ul li.button a:hover {
	--background: var(--button-background-hover);
	--color: var(--button-color-hover);
}

ul li.button a:hover {
	text-decoration: none;
	border-bottom-color: transparent!important;
}

button.inverted, button.inverted:disabled:hover, a.button.inverted {
	--background: var(--button-color);
	--color: var(--button-background);
}

button.inverted:hover, button.inverted.selected, button.inverted.active, a.button.inverted:hover {
	--background: var(--color-tertiary);
	--color: var(--button-color);
}

a.button.animated, span.button.animated {
	--background: transparent;
	--padding: 0;
	--border-radius: 0;
	--color: var(--color-primary);
	--icon-width: 40px;
	--transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);

	position: relative;
	display: inline-flex;
	align-items: center;
}

a.button.animated .circle, span.button.animated .circle {
	display: inline-block;
	position: absolute;
	z-index: 0;
	background: var(--color-primary);
	margin: 0;
	width: var(--icon-width);
	height: var(--icon-width);
	padding: 0;
	border-radius: var(--icon-width);
	transition: var(--transition);
}

a.button.animated .circle .icon, span.button.animated .circle .icon {
	transition: var(--transition);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: var(--icon-width);
	height: var(--icon-width);
}

a.button.animated .circle .icon.arrow, span.button.animated .circle .icon.arrow {
	transition: var(--transition);
	background: none;
}

a.button.animated .circle .icon.arrow::before, span.button.animated .circle .icon.arrow::before {
	position: absolute;
	content: "";
	display: inline-block;
	border: solid var(--color-white);
	border-width: 0 3px 3px 0;
	transform: rotate(-45deg);
	top: 12.5px;
	left: 12.5px;
	width: 10px;
	height: 10px;
}

a.button.animated .button-text, span.button.animated .button-text {
	position: relative;
	z-index: 100;
	transition: var(--transition);
	color: var(--color);
	text-transform: uppercase;
	font-weight: 500;
	padding: 0 2em 0 calc(2em + 30px);
	box-sizing: border-box;
}

a.button.animated:hover .circle, a:hover span.button.animated .circle {
	width: 100%;
}

a.button.animated:hover .circle .icon.arrow, a:hover span.button.animated .circle .icon.arrow {
	transform: translate(5px, 0);
}

a.button.animated:hover .button-text, a:hover span.button.animated .button-text {
	--color: white;
}

img {
	vertical-align: bottom;
}

body > header:not(.company) {
	--background: var(--color-white);
	--position: static;
	--padding: 0;
	--margin: 0;

	background: var(--background);
	position: var(--position);
	padding: var(--padding);
	margin: var(--margin);
}

body > header.fullscreen {
	--background: transparent;
	--position: absolute; /** absolute / sticky / fixed **/
	top: 0;
	left: 0;
	z-index: 20;
	width: 100%;
}

body > header:not(.company) > div {
	--background: transparent;
	--padding: 0 var(--default-padding-sides);
	background: var(--background);
	padding: var(--padding);
}

nav ul, nav ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0 12px;
}

nav ul, nav ol, nav ul li a, nav ul ol li a {
	padding: 0;
	margin: 0;
}

nav ul li, nav ol li {
	--padding: 8px 0;
	background: transparent;
	margin: 0;
	padding: var(--padding);
}

nav.logo {
	flex: 0 1 auto;
}

nav.secondary {
	flex: 1;
}

nav.secondary ul {
	justify-content: flex-end;
}
nav.site {
	flex: 0 1 auto;
}

nav.logo ul li a img {
	--logo-width: var(--header-logo-width);
	max-width: var(--logo-width);
}

nav ul li a, nav ol li a {
	--color: var(--color-primary);
	--font-weight: 400;
	--font-size: var(--font-size-regular);
	text-decoration: none;
}

nav ul li.dropdown > a {
	display: flex;
	align-items: center;
}

nav ul li.dropdown > a::after {
	--icon: '\f078';
	content: var(--icon);
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	font-weight: 600;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0 0 0 5px;
	font-size: 10px;
}

nav ul li.cart {
	position: relative;
}

nav ul li.cart a span.amount {
	--width: 24px;
	--height: 24px;
	--background: var(--color-secondary);
	--color: var(--color-white);

	display: inline-block;
	width: var(--width);
	height: var(--height);
	line-height: var(--height);
	background: var(--background);
	color: var(--color);
	text-align: center;
	border-radius: 100%;
	position: absolute;
}

nav ul li.cart a:hover span.amount {
	--background: var(--color-secondary-dark);
	--color: var(--color-white);
}

nav ul li.cart i.icon::before {
	--icon: "\f07a";
	margin: 0 2px 0 0;
}


header nav ul {
	padding: 30px 0;
	box-sizing: border-box;
}

/** --- NAV MAIN --- **/
header > div.main {
	--background: var(--nav-main-background)!important;
}

header div.main div.navs {
	flex: 1 1 calc(100% - var(--logo-width));
	display: flex;
	align-items: center;
	gap: 2em;
}

header div.main div.navs div.menus {
	flex: 1;
}

header div.main div.navs div.cta a.button {
	text-align: center;
}

header div.main nav ul li a, nav.cart ol li a {
	--color: var(--nav-main-color);
	--font-weight: var(--nav-main-font-weight);
}

header div.main nav > ul > li::before {
	--color: var(--color-primary);
}

header div.main nav ul li a:hover, header div.main nav ul li a.selected, nav.cart ol li a:hover, nav.cart ol li a.selected {
	--color: var(--nav-main-color-hover);
	border-bottom-color: var(--nav-main-color-hover);
}

header div.main nav.secondary {
	position: relative;
}

header div.main nav.secondary ul li a {
	--font-size: var(--font-size-small);
}

header div.main nav.logo ul li a:hover {
	border-bottom-color: transparent;
}

header.fullscreen div.main nav ul li a {
	--color: var(--nav-main-color-fullscreen);
}

header.fullscreen div.main nav ul li a:hover, header.fullscreen div.main nav ul li a.selected {
	--color: var(--nav-main-color-hover-fullscreen);
}

header div.main div.cta {
	flex: 0 1 auto;
	text-align: right;
}

header div.main div.cta a.button {
	--padding: 0.5em 1em;
	--border-radius: 0;
	margin: 0;
	text-align: center;
}

/** --- NAV SECONDARY --- **/
header div.secondary {
	--background: var(--nav-secondary-background);
	justify-content: space-between;
}

header nav.secondary ul li a {
	--color: var(--nav-secondary-color);
	--font-size: var(--font-size-regular);
	--font-weight: 700;
}

header nav.secondary ul li.button a {
	--color: var(--color-white);
	margin: 0;
}

header nav.secondary ul li a:hover {

}

header nav.secondary ul li.button a:hover {
	--color: var(--color-white);
}

header nav.secondary ul li a:hover, header nav.secondary ul li a.selected {
	--color: var(--nav-secondary-color-hover);
	opacity: 1;
}

header nav.secondary ul li.button a.selected {
	--color: var(--color-white);
	--background: var(--color-secondary);
}

header div.secondary nav ul li.site a + a {
	border-left: 1px solid var(--nav-site-border-color);
}

header nav.secondary ul li.search a i.icon::before {
	--icon: "\f002";
}

/** --- SMALL SEARCH FORM --- **/
header nav.search ul li form div.custom {
	display: flex;
	align-items: center;
}

header nav.search ul {
	justify-content: flex-end;
}

header nav.search ul li form div.custom input {
	margin: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

header nav.search ul li form div.custom button {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	margin: 0;
}

/** --- NAV CONTACT --- **/
header div.contact {
	--background: var(--color-primary-light);
	--font-size: var(--font-size-small);
	--color: var(--nav-contact-color);
}

header div.contact nav {
	width: 100%;
}

header div.contact nav ul {
	justify-content: center;
}

header div.contact nav ul li {
	color: var(--color);
	transition: var(--default-transition);
}

header div.contact nav ul li:hover a {
	text-decoration: underline;
}

header div.contact nav ul li a:hover{
	color: var(--nav-contact-color-hover);
}
/** --- NAV DROPDOWN --- **/
header div nav ul li.dropdown div {
	--background: transparent;
}

header div nav ul li.dropdown div ul {
	--background: transparent;
	background: var(--background);
	box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

header div.main nav ul li.dropdown div ul {
	--background: var(--nav-main-dropdown-background);
}

header div.main nav ul li.dropdown div ul li a:hover, header div.main nav ul li.dropdown div ul li a.selected {
	text-decoration: underline;
	border-bottom-color: transparent;
}

header.fullscreen div.main nav ul li.dropdown div ul {
	--background: var(--fullscreen-nav-main-dropdown-background);
}

header.fullscreen div.main nav ul li.dropdown div ul li a {
	--color: var(--color-white-400);
}

header.fullscreen div.main nav ul li.dropdown div ul li a:hover, header.fullscreen div.main nav ul li.dropdown div ul li a.selected {
	--color: var(--color-white);
}

header nav.secondary ul li.dropdown div ul {
	--background: var(--nav-secondary-dropdown-background);
}

header nav.secondary ul li.dropdown div ul li a:hover, header nav.secondary ul li.dropdown div ul li a.selected {
	opacity: 1;
}

/** NAV HAMBURGER **/
nav.hamburger-button ul li a i.icon::before {
	--icon: "\f0c9";
}

/** BREADCRUMBS **/
div.crumbs {
	--gap: 1em;
	--background: var(--color-white);
	--padding: 10px var(--default-padding-sides);
	--margin: 0;
	--shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
	--icon: '\f0da';
	--icon-color: var(--color-primary-dark);
	--icon-margin: 0 0 0 0.5em;
	--icon-font-weight: 600;

	gap: var(--gap);
	background: var(--background);
	padding: var(--padding);
	margin: var(--margin);
	box-shadow: var(--shadow);
}

div.crumbs {
	span, ul li, ul li a {
		--color: var(--color-black-light);
		--font-size: var(--font-size-extra-small);
		color: var(--color);
		font-size: var(--font-size);
	}

	ul li a:hover {
		--color: var(--color-primary-darkest);
	}
}

div.crumbs ul li a {
	color: var(--color);
	font-size: var(--font-size);
}

div.crumbs ul {
	--gap: 0.5em;
	gap: var(--gap);
}

	div.crumbs ul li:after {
		content: var(--icon);
		font-weight: var(--icon-font-weight);
		color: var(--icon-color);
		margin: var(--icon-margin);
		font-weight: var(--icon-font-weight);
	}

body div.container-main {
	--padding: 0 var(--default-padding-container-main-sides) 0;
	--margin: 0;
	padding: var(--padding);
	margin: var(--margin);
}
/** NAV SIDEBAR **/

body div.container-main > aside {
	--margin: 0;
	--padding: 2em var(--default-padding-sidebar-sides) 75px;
	--background: transparent;

	margin: var(--margin);
	padding: var(--padding);
	background: var(--background);
	box-sizing: border-box;
}

body div.container-main > aside.compact {
	--padding: 0 var(--default-padding-sides);
}

body div.container-main.reversed > aside {

}

aside .nav_sidebar {
	--background: transparent;
	--padding: 0;
	--margin: 0 0 2em;
	--transition: var(--default-transition);
	--border-radius: 0;
	--border: 0;
	background: var(--background);
	padding: var(--padding);
	margin: var(--margin);
	box-sizing: border-box;
	border: var(--border);
	border-radius: var(--border-radius);
	transition: var(--transition);
}

aside .nav_sidebar li {
	--margin: 0;
	margin: var(--margin);
}

aside .nav_sidebar li:last-of-type {
	margin-bottom: 0;
}

aside .nav_sidebar li a {
	--background: transparent;
	--color: var(--color-black);
	--padding: 0.4em 0;
	--font-size: var(--font-size-regular);
	--font-weight: 300;
	--text-transform: none;

	display: block;
	background: var(--background);
	padding: var(--padding);
	text-transform: var(--text-transform);
	text-decoration: none;
}

aside .nav_sidebar li a::before {
	content: '\f054';
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	font-weight: 600;
	text-rendering: auto;
	color: var(--color-gray-light);
	margin: 0 5px 0 0;
}

aside .nav_sidebar > li > a.selected {
	--font-weight: 400;
	--background: transparent; /** var(--color-primary-lightest) **/
}

aside .nav_sidebar li a:hover::before, aside .nav_sidebar li a.selected::before {
	color: var(--color-primary);
}

aside .nav_sidebar li a:hover, aside .nav_sidebar li a.selected {
	--color: var(--nav-sidebar-color-hover);
}

aside .nav_sidebar li ul {
	margin: 0.5em 0 1em 15px;
	border-left: 1px solid var(--color-gray);
}

aside .nav_sidebar li ul li a {
	--font-size: var(--font-size-regular);
	--font-weight: 300;
	--padding: 0.5em 0 0.5em 1em;
	--text-transform: none;
}

aside .nav_sidebar li ul li a.selected {
	--font-weight: 400;
}

/** --- MAIN CONTENT --- **/
article {
	--padding: 0;
	--margin: 0;
	padding: var(--padding);
	margin: var(--margin);
}

body div.container-main > main {
	--padding: 0 0; /** or var(--default-padding-main-sides) **/
	padding: var(--padding);
}

body div.container-main > main article {

	box-sizing: border-box;
	clear: both;
}

body div.container-main > main article.page {
	padding: 0;
}

body div.container-main > main.fullscreen article.page {
	padding: 0 var(--padding-sides-article);
}

body div.container-main > main article.grid > div.text {
	padding: 1em var(--padding-sides-article-grid-text-offset) 1em var(--padding-sides-article-grid);
}

body div.container-main > main article.grid.left > div.text {
	padding: 1em var(--padding-sides-article-grid) 1em var(--padding-sides-article-grid-text-offset);
}

article.similar {
	padding: calc(20px * (1 - var(--fullscreen))) var(--default-padding-sides) 0;
}
/** ------------------------- WIDGETS ------------------------ **/
.widget {
	--background: transparent;
	--border: 1px solid var(--color-gray-light);
	--padding: 10% 7% 8%;
	--margin: 0 0 35px 0;
	--border-radius: var(--default-border-radius-small);
	background: var(--background);
	border: var(--border);
	border-radius: var(--border-radius);
	box-sizing: border-box;
	padding: var(--padding);
	margin: var(--margin);
}

aside .widget:last-of-type {
	--margin: 0;
}

main .widget {
	--padding: 2em;
	--margin: 0.5em 1em;
	box-shadow: none;
	background: var(--color-secondary-light);
	color: var(--color-black-light);
}

main article.chapter.widgets .widget {
	--margin: 0 0 1em;
}

main .widget a {
	--color: var(--color-primary);
	font-weight: 400;
}

.widget.social li {
	padding-left: 30px;
}

.widget.contact ul {
	margin: 0 0 0.5em;
}

.widget.contact ul li.location {
	margin: 0.5em 0;
}

.widget.gmap {
	--padding: 0;
	--margin: 0;
}

body > div.newsletter {
	--padding: 1em var(--default-padding-sides);
	--background: var(--footer-newsletter-background);
	padding: var(--padding);
	background: var(--background);
	box-sizing: border-box;
}

/** --- FOOTER --- **/
body > footer {
	background: var(--background);
	padding: 1em 0 0;
	box-sizing: border-box;
	box-shadow: var(--default-shadow);
}

body > footer div.container, body > footer div.credits, body > footer div.menu.slim, body > footer div.menu.full {
	--padding: 1em var(--default-padding-sides);
	background: var(--background);
	color: var(--color);
	padding: var(--padding);
}

body > footer div.container, body > footer div.credits,
body > footer div.container a, body > footer div.credits a,
body > footer div.container span.heading1, body > footer div.container span.heading2, body > footer div.container span.heading3 {
	--color: var(--color-white);
	color: var(--color)!important;
}

body > footer div.container span.heading1, body > footer div.container span.heading2, body > footer div.container span.heading3 {
	--font-size: var(--font-size-normal);
	line-height: 1;
	margin: 0 0 0.5em;
}

body > footer div.container span.heading3 {
	--font-size: var(--font-size-regular);
}

body > footer div.newsletter a, body > footer div.container a, body > footer div.credits a {
	text-decoration: none;
}

body > footer div.newsletter a:hover, body > footer div.container a:hover, body > footer div.credits a:hover {
	--color: var(--color-secondary);
}

body > footer div.container {
	--background: var(--color-primary);
	display: flex;
	justify-content: space-between;
}

body > footer div.container a {
	color: var(--color);
}

body > footer div.container a:hover {
	--color: var(--color-white);
}

body > footer div.container div.contact {

}

body > footer div.container div.navs {
	display: flex;
	justify-content: flex-start;
}

body > footer div.container div.navs nav ul {
	display: flex;
}

body > footer div.container div.navs nav ul li {

}

body > footer div.container div.socials {

}

body > footer div.container div.socials div.newsletter form button {
	--background: var(--color-tertiary-dark);
	width: 100%;
}

body > footer div.container div.socials div.newsletter form button:hover {
	--background: var(--color-primary-darkest);
}

body > footer div.menu.slim {
	--padding: 0 var(--default-padding-sides);
}

body > footer div.credits {
	--background: var(--color-primary);
}
/* ====================================================== **/


/* ==================== HEADINGS ==================== **/
h1, h1 a, .heading1, .heading1 a,
h2, h2 a, .heading2, .heading2 a,
h3, h3 a, .heading3, .heading3 a,
h4, h4 a, .heading4, .heading4 a,
h5, h5 a, .heading5, .heading5 a,
h6, h6 a, .heading6, .heading6 a {
	--font-family: var(--font-family);
	--color: var(--color-primary);
	--font-size: var(--font-size-large);
	--font-weight: 400;
	--line-height: var(--line-height-large);
	--margin: 0 0 16px;

	font-family: var(--font-family);
	color: var(--color);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	line-height: var(--line-height);
	margin: var(--margin);
	text-decoration: none;
	display: block;
}

h1, h1 a, .heading1, .heading1 a {
	--margin: 0 0 24px;
	--font-weight: 600;
}

h2, h2 a, .heading2, .heading2 a {
	--margin: 0 0 20px;
	--font-size: var(--font-size-medium);
	--line-height: var(--line-height-medium);
}

h3, h3 a, .heading3, .heading3 a {
	--margin: 0 0 16px;
	--font-size: var(--font-size-normal);
	--line-height: var(--line-height-medium);
}

h4, h4 a, .heading4, .heading4 a {
	--font-size: var(--font-size-normal);
	--line-height: var(--line-height-medium);
}

h5, h5 a, .heading5, .heading5 a {
	--font-size: var(--font-size-normal);
	--line-height: var(--line-height-normal);
}

h6, h6 a, .heading6, .heading6 a {
	--font-size: var(--font-size-normal);
	--line-height: var(--line-height-normal);
}

h2.category {
	text-decoration: none;
	--font-size: var(--font-size-normal);
	--line-height: 1;
	--color: var(--color-gray-dark);
	--margin: 0;
}
/* ====================================================== **/
#core {
	--items: 4;
	--item-content-padding: 10px 2em;
	--justify-content: center;
}

#partners {
	--items: 8;
	--justify-content: center;
	--image-opacity: 1;
	--image-aspect-ratio: auto;
}

#trump {
	--background: var(--color-white);
	--item-background: var(--color-gray-lightest);
	--item-border: 1px solid var(--color-gray-light);
	--item-shadow: none;
	--item-flex-direction: row;
	--item-content-padding: 1em 0;
	--item-title-margin: 0;
	--item-title-font-weight: 300;
	--icon-background: var(--color-primary);
	--icon-font-size: var(--font-size-normal);
	--icon-color: var(--color-white);
	--icon-margin: 0;
	--icon-padding: 1em 1em 1em;
	--item-content-text-align: center;
}
/* ==================== ICONS ==================== **/
i.icon::before {
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

i.icon::before {
	--display: inline-block; /** inline-block: Show / none: hide **/
	--icon: "";
	--icon-weight: 900;
	--icon-color: inherit;

	display: var(--display);
	font-weight: var(--icon-weight);
	color: var(--icon-color);
	content: var(--icon);
}

li.phone i.icon::before {
	--icon: "\f095";
	--icon-weight: 900;
}

li.email i.icon::before {
	--icon: "\f0e0";
	--icon-weight: 400;
}

li.location i.icon::before {
	--icon: "\f3c5";
	--icon-weight: 600;
}

span.highlight {
  position:relative;
  font-weight: 300;
  margin: 0 0.1em;
}

span.highlight:before {
  content:"";
  z-index:-1;
  left:-0.5em;
  top:-0.15em;
  border-width:2px;
  border-style:solid;
  border-color:var(--color-primary);
  position:absolute;
  border-right-color:transparent;
  width:100%;
  height:1em;
  transform:rotate(2deg);
  opacity:0.7;
  border-radius:50%;
  padding:0.2em 0.5em;
}

span.highlight:after {
  content:"";
  z-index:-1;
  left:-0.5em;
  top:0.15em;
  padding:0.2em 0.5em;
  border-width:2px;
  border-style:solid;
  border-color:var(--color-primary);
  border-left-color:transparent;
  border-top-color:transparent;
  position:absolute;
  width:100%;
  height:1em;
  transform:rotate(-1deg);
  opacity:0.7;
  border-radius:50%;
}