/* ------ */
/* GLOBAL */
/* ------ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
body,
input,
select,
textarea {
	line-height: 26px;
	font-size: 18px;
	color: var(--revilodesign_grey);
	font-family: 'Poppins';
	font-weight: var(--revilodesign_text_fontWeight);
}
body,
html {
	width: 100%;
	height: 100%;
}
/*-------------*/
/* BREADCRUMB  */
/*-------------*/
section.revilodesign.breadcrumb {
	padding: 16px 0;
	border-top: 1px solid var(--revilodesign_light);
	background: var(--revilodesign_white);
}
div#breadcrumb {
	display: flex;
	align-items: center;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	flex-wrap: wrap;
}
div#breadcrumb div,
div#breadcrumb span {
	display: inline-flex;
}
div#breadcrumb a {
	color: var(--revilodesign_grey);
	font-size: 12px;
	line-height: 16px;
	padding: 3px 8px;
	position: relative;
	display: inline-flex;
	background: var(--revilodesign_tint2);
	border-radius: var(--revilodesign_borderRadius);
}
div#breadcrumb a:hover {
	background: var(--revilodesign_dark);
	color: var(--revilodesign_white);
	text-decoration: none;
}
div#breadcrumb a picture {
	display: inline-flex;
	height: auto;
	width: auto;
}
div#breadcrumb a picture img {
	height: 16px;
}
div#breadcrumb a:hover picture img {
filter: brightness(0) invert(1);
}
/*------*/
/* MENU */
/*------*/
div#menu {
	display: none;
}
@media (max-width: 768px) {
	div#menu {
		display: inline-block;
		width: 32px;
		height: 40px;
		margin-left: auto;
		position: relative;
		z-index: 999;
	}
	div#menu::before,
	div#menu::after {
		content: '';
		width: 100%;
		height: 2px;
		background: var(--revilodesign_grey);
		position: absolute;
		left: 0;
		top: 50%;
	}
	div#menu::before {
		margin-top: -4px;
	}
	div#menu::after {
		margin-top: 4px;
	}
	div#menu.active::before {
		animation-name: menuTop;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
		animation-timing-function: ease-in-out;
	}
	div#menu.active::after {
		animation-name: menuBottom;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
		animation-timing-function: ease-in-out;
	}
	div#menu.close::before {
		animation-name: closeMenuTop;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
		animation-timing-function: ease-in-out;
	}
	div#menu.close::after {
		animation-name: closeMenuBottom;
		animation-duration: 0.5s;
		animation-fill-mode: forwards;
		animation-iteration-count: 1;
		animation-timing-function: ease-in-out;
	}
}
/* OPEN */
@keyframes menuTop {
	0% {
		margin-top: -4px;
	} 50% {
		margin-top: -1px;
		transform: rotate(0deg);
	} 100% {
		transform: rotate(45deg);
		margin-top: 0;
	}
}
@keyframes menuBottom {
	0% {
		margin-top: 4px;
	} 50% {
		margin-top: -1px;
		transform: rotate(0deg);
	} 100% {
		transform: rotate(-45deg);
		margin-top: 0;
	}
}
/* CLOSE */
@keyframes closeMenuTop {
	0% {
		transform: rotate(45deg);
		margin-top: 0;
	} 50% {
		margin-top: -1px;
		transform: rotate(0deg);
	} 100% {
		margin-top: -4px;
	}
}
@keyframes closeMenuBottom {
	0% {
		transform: rotate(-45deg);
		margin-top: 0;
	} 50% {
		margin-top: -1px;
		transform: rotate(0deg);
	} 100% {
		margin-top: 4px;
	}
}
/*---------*/
/* HEADER  */
/*---------*/
header#header {
	width: 100%;
	left: 0;
	top: 0;
	z-index: 99;
	padding: 0;
	height: 64px;
	position: absolute;
	border-bottom: 1px solid var(--revilodesign_light);
	background: var(--revilodesign_white);

}
header#header.sticky,
header#header.filled-header {
	box-shadow: 0 4px 8px 0 rgba(46,43,56,0.16), 0 8px 16px 0 rgba(46,43,56,0.08), 0 16px 32px 0 rgba(46,43,56,0.04);
	position: fixed;
	transform: translateY(-200%);
	animation-name: showMenu;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
}
@keyframes showMenu {
	0% {
		transform: translateY(-200%);
	} 100% {
		transform: translateY(0%);
	}
}
header#header div.content {
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
}
header#header div.content div.logos {
	height: 64px;
	display: flex;
	flex-wrap: nowrap;
	gap: 24px;
}
header#header div.content a.logo {
	display: inline-flex;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
	height: 100%;
	width: auto;
	padding: 4px 0;
	position: relative;
	z-index: 999;
}
header#header div.content a.logo picture {
	width: 100%;
	height: 100%;
	background: var(--revilodesign_white);
}
header#header div.content a.logo picture img {
	width: 100%;
	height: 100%;
}
header#header.sticky div.content a.logo picture img {
	filter: none;
}
/*------------*/
/* NAVIGATION */
/*------------*/
nav#nav {
	margin-left: auto;
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
}
nav#nav ul {
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
	gap: 16px;
	padding: 0;
}
nav#nav ul li {
	list-style: none;
	position: relative;
}
nav#nav ul li a {
	padding: 8px;
	text-decoration: none;
	display: inline-flex;
	align-content: center;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 22px;
	border-bottom: 2px solid var(--revilodesign_white);
	color: var(--revilodesign_textColor);
}
nav#nav ul li a:hover {
	border-color: var(--revilodesign_yellowLight);
}
nav#nav ul li a:hover,
nav#nav ul li.current-menu-parent a,
nav#nav ul li.current-menu-item a {
	color: var(--revilodesign_link);
}
nav#nav ul li.current-menu-parent a,
nav#nav ul li.current-menu-item a {
	font-weight: 500;
	border-color: var(--revilodesign_yellow);
}
nav#nav ul li.menu-item-has-children > a::after {
	font: var(--fa-font-solid);
	content: '\f078';
	font-size: 6px;
}
nav#nav ul li.menu-item-has-children:hover > a::after {
	transform: rotate(180deg);
}
nav#nav ul li.btn {
	padding: 0;
}
nav#nav ul li.btn::after {
	display: none;
}
nav#nav ul li.btn a,
nav#nav ul li.btn:hover a {
	border: none;
	color: var(--revilodesign_white);
	padding: 8px 16px;
}
/*----------*/
/* SUB MENU */
/*----------*/
nav#nav ul li ul {
	position: absolute;
	left: 50%;
	top: 100%;
	padding: 0;
	max-width: 100vw;
	width: auto;
	transform: translateX(-50%);
	background: var(--revilodesign_white);
	box-shadow: var(--revilodesign_boxShadow);
	border-radius: var(--revilodesign_borderRadius);
	display: none;
	overflow: hidden;
	gap: 0;
}
nav#nav ul li:hover ul {
	display: inline-block;
}
nav#nav ul li:hover ul li {
	width: 100%;
	display: block;
}
nav#nav ul li:hover ul li+li {
	border-top: 1px solid var(--revilodesign_light);
}
nav#nav ul li:hover ul li a {
	padding: 8px 16px;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	color: var(--revilodesign_textColor);
	border: none;
	border-left: 2px solid var(--revilodesign_white);
}
nav#nav ul li:hover ul li a:hover,
nav#nav ul li ul li.current-menu-item a {
	background: var(--revilodesign_greenLight);
	border-color: var(--revilodesign_green);
}

div#scrollWidth {
	width: 100vw;
	height: 6px;
	position: fixed;
	left: 0;
	top: 64px;
	z-index: 90;
}
div#scrollWidth div {
	width: 0;
	height: 6px;
	background: var(--revilodesign_green);
	position: absolute;
	left: 0;
	top: 0;
	transition: var(--revilodesign_transition);
}
@media ( max-width: 768px ) {
	nav#nav {
		width: 100%;
		height: 100vh;
		background: var(--revilodesign_white);
		padding: 80px 24px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 990;
		display: none;
	}
	nav#nav ul {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
}
/*-----------*/
/* !THROBBER */
/*-----------*/
div#throbber {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: var(--revilodesign_black);
	z-index: 999;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-direction: column;
	gap: 16px;
}
div#throbber picture,
div#throbber picture img {
	height: 160px;
	width: 160px;
}
/*---------*/
/* FOOTER */
/*---------*/
footer.revilodesign {
	background: var(--revilodesign_light);
	color: var(--revilodesign_textColor);
	padding: 24px 0 0 0;
	position: relative;
	z-index: 3;
}
footer.revilodesign div.title {
	padding-bottom: 12px;
}
footer.revilodesign ul {
	padding: 0 0 24px 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
footer.revilodesign ul li {
	width: 100%;
	display: inline-block;
	list-style: none;
}
footer.revilodesign ul li a {
	width: 100%;
	padding: 4px 8px;
	background: rgba(0,0,0,0.02);
	border-radius: var(--revilodesign_borderRadius);
	color: var(--revilodesign_textColor);
	display: inline-flex;
	align-content: center;
	align-items: center;
	font-size: 14px;
	gap: 16px;
}
footer.revilodesign ul li a:hover {
	background: var(--revilodesign_blue);
	color: var(--revilodesign_white);
	text-decoration: var(--revilodesign_white);;
}
footer.revilodesign div#contact.sticky {
	position: fixed;
	left: 0;
	bottom: 0;
	background: var(--revilodesign_white);
	padding: 16px 24px;
	box-shadow: var(--revilodesign_boxShadow);
	width: 100%;
	z-index: 996;
	transform: translateY(200%);
	animation-name: showContact;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	}
	@keyframes showContact {
		0% {
			transform: translateY(200%);
		} 100% {
			transform: translateY(0%);
		}
	}
}
footer.revilodesign div#contact.sticky div.content {
	
}
footer.revilodesign div#contact {
	padding: 40px 0;
}
footer.revilodesign div#contact a {
	font-size: 18px;
	line-height: 32px;
	background: var(--revilodesign_primary);
	color: var(--revilodesign_white);
	width: 100%;
	border-radius: var(--revilodesign_borderRadius);
	padding: 8px 16px;
	display: block;
	text-align: center;
	
}
footer.revilodesign div#contact a:hover {
	text-decoration: none;
	background: var(--revilodesign_grey);
}
footer.revilodesign div.logos {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 24px;
}
footer.revilodesign div.logos picture {
	width: 200px;
}
footer.revilodesign div.subfooter {
	border-top: 1px solid rgba(0,0,0,0.1);
	padding: 8px 0;
}
footer.revilodesign div.subfooter p {
	padding: 0;
	font-size: 12px;
	line-height: 18px;
}
@media ( max-width: 589px ) {
	footer.revilodesign div#contact div.flex {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
	}
	footer.revilodesign div#contact div.flex .flexbox + .flexbox {
		padding: 0;
	}
	footer.revilodesign div#contact a span {
		display: none;
	}	
	footer.revilodesign div.subfooter .flex {
		gap: 8px;
		justify-content: center;
	}
	footer.revilodesign div.subfooter .flex .flexbox + .flexbox {
		padding: 0;
	}
	footer.revilodesign div.subfooter .flex .flexbox.flexEnd {
		justify-content: center;
	}
}