@font-face {
	font-display: fallback;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	src: url('type/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
	font-display: fallback;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	src: url('type/inter-v20-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
	font-display: fallback;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	src: url('type/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
	font-display: fallback;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	src: url('type/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
	font-display: fallback;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 800;
	src: url('type/inter-v20-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
	font-display: fallback;
	font-family: 'Inter';
	font-style: normal;
	font-weight: 900;
	src: url('type/inter-v20-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*

work with size-adjust and fallback font

 */


/*  root  */
:root {
	--color-red: #CE2B37;
	--color-darker-red: #BB1111;

	--color-green: #009246;

	--color-tricolore: linear-gradient(
		to right,
		var(--color-green) 33.33%,
		#FFFFFF 33.33%,
		#FFFFFF 66.66%,
		var(--color-red) 66.66%
	);

	--color-orange: #FFAA00;

	--color-white: #FFFFFF;
	--color-light-grey: #E9E9E9;
	--color-grey: #B1B1B1;
	--color-border-grey: #DDDDDD;
	--color-dark-grey: #666666;
	--color-very-dark-grey: #333333;
	--color-black: #000000;

	--color-primary: var(--color-red);

	--color-text: var(--color-very-dark-grey);
	--color-link: var(--color-red);
	--color-link-hover: var(--color-black);
	--color-link-focus: var(--color-orange);

	--color-selection: #0099CC;

	--logo-height: 7rem;

	--font-family: 'Inter', Arial, Helvetica, sans-serif;
	--font-size: 1.25rem;

	--max-width: 80rem;
	--gutter-x: 3rem;
	--gutter-y: 5rem;
	--columns-gutter-x: 3rem;
	--columns-gutter-y: 4rem;

}



/*  attributes for all  */
body, h1, h2, h3, h4, h5, h6, p, div, img, a, address, b, i, u, sup, div, span, ul, ol, li, figure, figcaption, header, main, footer, section {
	margin: 0;
	padding: 0;
	border: 0;
}



/*  tags  */
html {
	font-size: 16px;
	-webkit-text-size-adjust: none;
}
body {
	font-family: var(--font-family);
	background: var(--color-white);
	color: var(--color-text);
	font-size: var(--font-size);
	text-align: center;
}


a {
	color: var(--color-link);
	text-decoration: underline;
	text-decoration-color: var(--color-link);
	text-underline-offset: 2px;
	transition: color .2s ease, border .2s ease, background-color .2s ease, box-shadow .2s ease;

}
a:hover:not(.button) {
	color: var(--color-link-hover);
}

/*
a:not(.button) {
	color: var(--color-link);
	background-color: transparent;
	background-image: url("../files/design/link-bg.svg");
	background-position: 0 50%;
	background-size: 0;
	background-repeat: no-repeat;
	transition: color .2s ease, text-decoration .2s ease, background-size .2s ease;
	border-radius: 1px;
	padding: 0 2px;
	margin: 0 -2px;
}
.image a { padding: 0; margin: 0; }
a:not(.button):hover {
	background-size: 100%;
	color: var(--color-text) !important;
}
*/

b, strong { font-weight: 700; }

a:focus-visible, button:focus-visible {
	outline: 2px solid var(--color-link-focus);
	outline-offset: 2px;
}

input[type=submit],
input[type=reset]
{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

input[type=button],
input[type=color],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=file],
input[type=month],
input[type=number],
input[type=password],
input[type=phone],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding: .25rem;
	border: 1px solid var(--color-dark-grey);
	border-radius: .125rem;
	outline: none;
	font-family: inherit;
	transition: color .2s ease, background .2s ease, border .2s ease, box-shadow .2s ease;
}

input[type=button]:focus,
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=file]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=phone]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
select:focus,
textarea:focus {
	border: 1px solid var(--color-red);
}

select { padding-right: 32px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 8.467 4.233'%3E%3Cpath d='M2.381 1.32l1.852 1.852L6.085 1.32' fill='none' stroke='%23142C6C' stroke-width='.529'/%3E%3C/svg%3E") right center no-repeat; }

p { font-size: var(--font-size); line-height: 1.45; }
p:not(:last-child) { margin-bottom: 1em; }
p + ul, ul + p { margin-top: -.75em; }

li { margin-left: 1.7rem; }
ol:not(:last-child), ul:not(:last-child) { margin-bottom: 1rem; }

ul { list-style-type: square; line-height: 1.45; }

h1, h2, h3, h4, h5, h6 { color: var(--color-red); line-height: 1.25; word-wrap: break-word; overflow-wrap: break-word; /*-webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto;*/ }

h1 { font-size: 2.5em; font-weight: 800; line-height: 1.125; padding-top: 0; }
h1:not(:last-child) { padding-bottom: .5em; }

h2 { font-size: 1.625em; font-weight: 700; }
h2:not(:first-child) { padding-top: 1em; }
h2:not(:last-child) { padding-bottom: .625em; }

h3 { font-size: 1.25em; font-weight: 700; color: var(--color-black, #000000); }
h3:not(:first-child) { padding-top: .5em; }
h3:not(:last-child) { padding-bottom: .5em; }

h4 { font-size: 1.125em; font-weight: 800; color: var(--color-black, #000000); }
h4:not(:first-child) { padding-top: .5em; }
h4:not(:last-child) { padding-bottom: .5em; }

.image + h1, .image + h2, .image + h3, .image + h4 { padding-top: .25em; }
h1 + h2:not(:first-child), h2 + h3:not(:first-child), h3 + h4:not(:first-child) { padding-top: 0; }


picture, img { max-width: 100%; height: auto; }
picture > img { display: block; }
/*main img[src$=".svg"] { width: 100%; } /* IE 9-11 fix */
svg { overflow: hidden; }
main { text-align: left; }




/*  header  */
header { position: fixed; top: 0; left: 0; width: 100%; display: block; background: var(--color-white); z-index: 2; }
header.sticky { box-shadow: 0 0 1rem rgba(0, 0, 0, .25); background: rgb(255 255 255 / .85); backdrop-filter: blur(5px); }
header + * { margin-top: calc(var(--logo-height, 6rem) + 2 * calc(var(--gutter-y) * .125)); }
header .center { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; padding: calc(var(--gutter-y) * .125) var(--gutter-x); }

#logo { flex: 1 1 auto; max-width: calc(100vw - 2 * var(--gutter-x, 2rem) - 5rem); }
#logo a { float: left; border-radius: .125rem; }
#logo a:hover { background: none; }
#logo img { display: block; width: auto; height: var(--logo-height, 6rem); transition: height .2s ease; }
header.sticky #logo img { height: max(3rem, calc(var(--logo-height, 6rem) / 2)); }




/*  footer  */
#bottom { position: relative; background: #101111; color: var(--color-white, #FFFFFF); padding: var(--gutter-y) 0; --color-link: var(--color-white); --color-link-hover: var(--color-red); }
#bottom .center { display: flex; flex-flow: row nowrap; justify-content: space-between; }
#bottom .center > .column { width: calc(100% / 3 - (var(--columns-gutter-x, 1rem) * 2 / 3)); }
#bottom .center > .column > h2:first-child { padding-top: 0; }

#social { display: flex; flex-flow: row wrap; justify-content: flex-start; gap: 1rem; list-style-type: none; margin: 0; }
#social li { position: relative; display: block; overflow: visible; margin: 0; }
#social a { display: flex; flex-flow: row nowrap; justify-content: center; text-decoration: none; width: 2rem; height: 2rem; padding: .75rem; border-radius: 99rem; background: var(--color-red); }
#social svg { position: relative; display: block; overflow: hidden; text-align: center; height: 2rem; color: #FFFFFF; fill: var(--color-white, #FFFFFF); }
#social .sr-only { display: none; }
#social .fa-facebook-f { background: #3D599B; }
#social .fa-whatsapp { background: #4DED69; }

footer { --color-link: var(--color-white); --color-link-hover: var(--color-red); background: var(--color-black, #000000); color: var(--color-white, #FFFFFF); font-size: 1rem; }
footer a { color: inherit; text-decoration: none; }
footer a:hover { color: inherit; text-decoration: none; }
footer .center { display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; padding: calc(var(--gutter-y) * .125) var(--gutter-x); }

#footermenu { flex: 1 0 auto; display: flex; flex-flow: row wrap; list-style-type: none; margin: 0 2rem 0 0; padding: .125rem 0; }
#footermenu li { margin: 0; padding: .125rem 0; }
#footermenu li:not(:last-child):after { content: '•'; display: inline-block; margin: 0 .75rem; opacity: .5; }




/*  classes  */
.hidden-accessibility-links, .hidden-accessibility-links:focus-visible { position: fixed; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; top: 0; left: 0; width: 100%; padding: 2rem 2rem; gap: 1rem 2rem; box-sizing: border-box; z-index: 9999; transform: translate(0, -100%); transition: transform .3s ease, box-shadow .3s ease; background: var(--color-primary); }
.hidden-accessibility-links:focus-within { transform: translate(0, 0); box-shadow: 0 0 .5rem rgba(0, 0, 0, .5); }
.hidden-accessibility-links a { padding: .5rem 1rem; text-decoration: none; border: 2px solid var(--color-white); border-radius: 2em; background: var(--color-primary); color: var(--color-white); }
.hidden-accessibility-links a:hover { background: var(--color-white); color: var(--color-primary); }

.center { position: relative; max-width: calc(var(--max-width, none) + (var(--gutter-x, 1rem) * 2)); margin: 0 auto; padding: 0 var(--gutter-x); box-sizing: border-box; text-align: left; }
.center:after { content: ''; display: block; clear: both; height: 0; }

.uppercase { text-transform: uppercase; }
.nowrap { white-space: nowrap }
.lightbox { z-index: 100; }

.pulsating { animation: pulsating-keyframes 4s infinite; }
@keyframes pulsating-keyframes {
	0% { transform: scale(1); }
	7% { transform: scale(1.1); }
	30% { transform: scale(1); }
	100% { transform: scale(1); }
}
.wobbling { animation: wobbling-keyframes 4s infinite; }
@keyframes wobbling-keyframes {
	7.5% { transform: rotate(10deg); }
	22.5% { transform: rotate(-10deg); }
	30% { transform: rotate(0deg); }
}




/*  tooltip  */
[data-tooltip] { position: relative; }
[data-tooltip]:before, [data-tooltip]:after { position: absolute; display: block; visibility: hidden; margin-top: 1.5rem; left: 50%; top: 100%; z-index: 5; opacity: 0; pointer-events: none; }
[data-tooltip]:before { content: attr(data-tooltip); transform: translate(-50%, 0); min-width: 100%; max-width: 15rem; padding: .5rem .75rem; background: #FFFFFF; border-radius: .125rem; color: #333333; box-shadow: 0 0 1rem rgba(0, 0, 0, .25); box-sizing: border-box; font-size: 1rem; font-weight: normal; text-transform: none; }
[data-tooltip]:after { content: ''; transform: translate(-50%, -1.45rem); width: 0; height: 0; border: .75rem solid transparent; border-bottom-color: #FFFFFF; }
[data-tooltip]:hover:before, [data-tooltip]:hover:after { visibility: visible; opacity: 1; margin-top: 1rem; transition: .3s ease .1s; }




/*  selection  */
::selection { text-shadow: none; background: var(--color-selection); color: var(--color-white); -webkit-background-clip: unset; -webkit-text-fill-color: var(--color-white); }