.site-header {
	position: fixed;
	left: 0;
	top: 0;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	height: 5rem;
	z-index: 99;
	width: 100%;
	background-color: #FFF;
}
.admin-bar .site-header {
	margin-top: 32px;
}
.site-functions-container ul,
.site-functions-container li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.site-functions-container li.menu-search form {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
}
.site-functions-container li.menu-search form input {
	display: block;
	width: 100%;
	font-size: 1.125rem;
	border: 2px solid transparent;
	box-sizing: border-box;
	background-color: transparent;
	transition: width .3s,border .3s,background-color .3s;
}
.site-functions-container li.menu-search form button {
	width: 40px;
	padding: 0;
	position: absolute;
	text-indent: -9999px;
	background-color: transparent;
	top: 0;
	right: 0;
	border: 0;
	cursor: pointer;
}
.site-functions-container li.menu-search form button::after {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	left: 5px;
	background-image: url('../assets/svg/mytolino-icons.svg');
	background-size: 2671px 90px;
	background-position: -60px top;
}
.site-functions-container li.menu-search form input,
.site-functions-container li.menu-search form input:invalid {
	width: 45px;
}
.site-functions-container li.menu-search form input:focus,
.site-functions-container li.menu-search form input:not([value=""]),
.site-functions-container li.menu-search form input:valid {
	width: 200px;
	border-color: #ddd;
}
ul.multi-lang {
	text-transform: uppercase;
}
ul.multi-lang > li:not(:last-child)::after {
	content: '|';
	font-size: 1rem;
}
.main-navigation-container {
	width: 100%;
}
.primary-menu h2,
.primary-menu h3,
.primary-menu h4 {
	font-size: 1rem;
	display: inline;
	margin: 0;
	padding: 0;
	line-height: inherit;
	border-bottom: 0;
}
.primary-menu li {
	border: 0;
	float: none;
	height: auto;
	display: block;
	box-sizing: border-box;
	list-style: none;
	margin: 0;
	padding: 0;
}
.primary-menu > .top-nav-element {
	position: relative;
	width: 100%;
}
.primary-menu > .top-nav-element a[aria-expanded] {
	position: relative;
}
.primary-menu > .top-nav-element a[aria-expanded]::after {
	content: '';
	width: 30px;
	height: 30px;
	top: 50%;
	background-image: url('../assets/svg/mytolino-icons.svg');
	background-size: 2671px 90px;
	background-position: -150px top;
}
.primary-menu > .top-nav-element.nav-special {
	padding: 20px 0 0;
	text-align: center;
}
.primary-menu > .top-nav-element.nav-special button {
	display: inline;
	background-color: var(--tolino-blue);
	color: #FFF;
	padding: 0 15px;
	border: 0;
	position: relative;
}
.primary-menu > .top-nav-element.nav-special button:hover,
.primary-menu > .top-nav-element.nav-special button.menu-hover,
.primary-menu > .top-nav-element.nav-special button:hover,
.primary-menu > .top-nav-element.nav-special button.menu-focus {
	color: #FFF;
	text-decoration: underline;
}
.primary-menu > .top-nav-element.nav-special button::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	position: relative;
	top: 8px;
	left: -5px;
	background-image: url('../assets/svg/mytolino-icons.svg');
	background-size: 2671px 90px;
	background-position: -2311px bottom;
}
.primary-menu .sub-nav-container,
.primary-menu .sub-nav-container.menu-open {
	position: relative;
	top: 0;
	border: 0;
	box-shadow: none;
	padding: 0;
}
.primary-menu .top-nav-element > a.menu-focus,
.primary-menu .top-nav-element a[aria-expanded].menu-focus {
	outline: 2px solid var(--tolino-blue);
}
.primary-menu > .top-nav-element a,
.sub-menu > .sub-nav-element a {
	font-family: Bariol, Arial, Helvetica, sans-serif;
	font-weight: 400;
	display: block;
	text-decoration: none;
	margin: 0;
	color: #000;
	cursor: pointer;
	position: relative;
}
.primary-menu > .top-nav-element a {
	padding: 15px;
	font-size: 1.25rem;
}
.sub-menu > .sub-nav-element a {
	padding: 10px 15px;
	font-size: 1.125rem;
}
.primary-menu > .top-nav-element > a.menu-focus,
.primary-menu > .top-nav-element h2 > a.menu-focus {
	outline-offset: -5px;
}
.primary-menu .sub-nav-container {
	position: absolute;
	display: block;
	color: #000;
	background-color: #F1F1F1;
	margin: 0;
	line-height: normal;
	cursor: default;
	visibility: hidden;
	top: -9999rem;
	overflow: hidden;
	opacity: 0;
}
.primary-menu .sub-nav-container.menu-open {
	visibility: visible;
	opacity: 1;
}
.primary-menu .sub-nav-container ul {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}
.primary-menu .sub-nav-container ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.primary-menu a.menu-hover,
.primary-menu a.menu-focus {
	text-decoration: underline;
}
.primary-menu .sub-nav-container a.menu-focus {
	outline-offset: 2px;
}
.primary-menu .sub-nav-container > h2 > a {
	font-weight: bold;
	color: #000;
	font-size: 1.5rem;
	margin-block: 0.8rem 0;
	padding-bottom: 0;
	line-height: 1.4;
}
.primary-menu .sub-nav-container > h2 > a.menu-hover,
.primary-menu .sub-nav-container > h2 > a.menu-focus,
.primary-menu .sub-nav-container > ul > li > h3 > a.menu-hover,
.primary-menu .sub-nav-container > ul > li > h3 > a.menu-focus {
	color: #333;
}
.primary-menu .sub-nav-container hr {
	border-width: 1px 0;
	border-style: solid;
	border-top-color: var(--tolino-blue-dark);
	border-bottom-color: #FFF;
}

@media screen and (max-width: 767px) {
	.site-functions-container > .site-functions > *:not(.menu-search) {
		display: none;
	}
	.site-branding {
		position: absolute;
		height: 50%;
		top: 50%;
		left: calc(50% + 30px);
		z-index: 1;
		transform: translate(-50%, -50%);
	}
	.site-functions-container,
	.main-navigation-container,
	.main-navigation {
		position: relative;
		left: 0;
	}
	.site-functions-container,
	.main-navigation-container {
		transition: left .3s;
	}
	.site-functions-container {
		margin-top: 15px;
	}
	.site-functions-container .menu-search {
		margin-right: 10px;
	}
	.site-functions-container li.menu-search form input {
		height: 50px;
		padding: 3px 40px 3px 5px;
	}
	.site-functions-container li.menu-search form button {
		height: 50px;
	}
	.site-functions-container li.menu-search form button::after {
		top: 10px;
		transform: scale(1.5);
	}
	.primary-menu {
		position: absolute;
		top: 0;
		left: -250px;
		width: 250px;
		height: 100vh;
		overflow-x: hidden;
		overflow-y: scroll;
		background-color: #F1F1F1;
		padding: 0;
		margin: 0;
	}
	.mobile-menu-toggle {
		display: block;
		width: 80px;
		height: 80px;
		padding: 0;
		margin: 0;
		position: relative;
		top: 0;
		left: 0;
		z-index: 1;
		text-indent: -9999px;
		border: 0;
		background-color: transparent;
		cursor: pointer;
	}
	.mobile-menu-toggle::after {
		content: '';
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 25px;
		left: 25px;
		background-image: url('../assets/svg/mytolino-icons.svg');
		background-size: 2671px 90px;
		background-position: 0 top;
		transform: scale(2) rotate(-90deg);
		transition: background-position 0.3s ease-in-out;
	}
	.expanded-nav .mobile-menu-toggle::after {
		background-position-x: -30px;
	}
	.primary-menu .sub-nav-container .sub-nav-element:first-child a {
		border-top: 0;
	}
	.expanded-nav .main-navigation-container,
	.expanded-nav .site-functions-container {
		left: 250px;
		transition: left .3s;
	}
	.mobile-menu-toggle[aria-expanded=true] ~ .primary-menu {}
	.primary-menu > .top-nav-element.menu-search {
		top: 1rem;
		position: relative;
		width: 100%;
		height: 30px;
		border: 0;
		margin: 0;
		padding: 0;
	}
	.primary-menu > .menu-element.mobile-language-switch .multi-lang {
		display: flex;
		justify-content: center;
		align-items: baseline;
		margin: 1rem 0;
		padding: 0;
		list-style-type: none;
	}
	.primary-menu > .menu-element.mobile-language-switch .multi-lang li {
		margin: 0;
		padding: 0;
	}
	.primary-menu > .menu-element.mobile-language-switch .multi-lang li span,
	.primary-menu > .menu-element.mobile-language-switch .multi-lang li a {
		padding: 0 5px;
	}
	.primary-menu > .top-nav-element.menu-search .sub-nav-container.search-form {
		position: relative;
		top: 0;
		opacity: 1;
		visibility: visible;
		max-height: unset;
	}
	.primary-menu > .top-nav-element.menu-search input {
		border: 1px solid var(--grey-light);
		background-color: #F1F1F1;
		width: 100%;
		padding-left: 35px;
	}
	.primary-menu > .top-nav-element.menu-search .search-button {
		padding: 0;
		position: absolute;
		top: 1px;
		left: 1px;
		width: 35px;
		display: flex;
		line-height: 2.2;
		height: 30px;
		color: transparent;
		background-color: transparent;
	}
	.primary-menu > .top-nav-element {
		position: static;
	}
	.primary-menu .sub-nav-container.menu-open {
		max-height: inherit;
	}
	.primary-menu > .top-nav-element a {
		border-bottom: 1px solid #000;
	}
	.primary-menu > .top-nav-element a[aria-expanded]::after {
		display: block;
		position: absolute;
		transform: scale(0.7) translate(0, calc(-50% / 0.7)) rotateZ(-90deg);
		right: 20px;
	}
	.primary-menu > .top-nav-element a[aria-expanded].menu-hover::after,
	.primary-menu > .top-nav-element a[aria-expanded].menu-open::after,
	.primary-menu > .top-nav-element.current-menu-ancestor > h2 > a::after,
	.primary-menu .sub-nav-element.current-menu-ancestor > h3 > a::after {
		transform: scale(0.7) translate(0, calc(-50% / 0.7)) rotateZ(0deg);
	}
	.primary-menu > .top-nav-element > a.menu-hover,
	.primary-menu > .top-nav-element a[aria-expanded].menu-hover,
	.primary-menu > .top-nav-element a[aria-expanded].menu-open,
	.primary-menu > .top-nav-element.current-menu-item a,
	.primary-menu .sub-nav-element.current-menu-item a,
	.primary-menu .nav-element.current-menu-item a,
	.primary-menu > .top-nav-element.current-menu-ancestor > h2 > a[aria-expanded],
	.primary-menu .sub-nav-element.current-menu-ancestor > h3 > a[aria-expanded] {
		background-color: var(--tolino-blue);
		color: #FFF;
		margin-left: 0;
		z-index: 1002;
	}
	.primary-menu > .top-nav-element a[aria-expanded].menu-hover::after,
	.primary-menu > .top-nav-element a[aria-expanded].menu-open::after,
	.primary-menu > .top-nav-element.current-menu-ancestor > h2 > a::after,
	.primary-menu .sub-nav-element.current-menu-ancestor > h3 > a::after {
		background-position-y: bottom;
	}
	.primary-menu > .top-nav-element.nav-special button {
		font-size: 1.25rem;
		line-height: 2;
	}
}
@media screen and (min-width: 768px) {
	.mobile-menu-toggle,
	.primary-menu > .menu-element.mobile-language-switch {
		display: none;
	}
	.site-header {
		flex-direction: column;
		height: auto;
	}
	.site-branding {
		padding: 10px 10px 10px 0;
		width: 150px;
	}
	.site-functions-container {
		display: block;
		width: 95%;
		max-width: 1140px;
		margin: 5px auto 0;
	}
	.site-functions-container a,
	.site-functions-container span {
		font-size: 1rem;
		color: var(--tolino-blue-dark);
		text-align: center;
		padding: 0 5px;
		text-decoration: none;
	}
	.site-functions-container ul {
		display: flex;
		justify-content: flex-end;
		align-items: baseline;
	}
	.site-functions-container ul.site-functions > li {
		margin-left: 35px;
	}
	.site-functions-container li.menu-search form input,
	.site-functions-container li.menu-search form button {
		height: 35px;
	}
	.site-functions-container li.menu-search form input {
		padding: 3px 30px 3px 5px;
	}
	.site-functions-container li.menu-search form button::after {
		top: 3px;
	}
	.main-navigation-container,
	.primary-menu .sub-nav-container ul {
		display: flex;
		width: 97%;
		max-width: 1140px;
	}
	.main-navigation-container {
		flex-direction: column;
		margin: -40px auto 0;
	}
	.primary-menu .sub-nav-container ul {
		margin: 0 auto;
	}
	.main-navigation {
		width: 100%;
	}
	.primary-menu {
		display: flex;
		width: 100%;
		justify-content: flex-end;
		padding: 10px 0 0 0;
		margin: 0;
	}
	.primary-menu > .top-nav-element {
		flex-grow: 1;
		width: auto;
		position: static;
		overflow: hidden;
	}
	.primary-menu > .top-nav-element.nav-special {
		padding: 5px 0 0 5px;
	}
	.primary-menu > .top-nav-element > a,
	.primary-menu > .top-nav-element a[aria-expanded] {
		padding: 15px;
		height: 100%;
		font-weight: 400;
		transition: transform .3s ease-in-out, background-color .3s ease-in-out, color .3s ease-in-out;
	}
	.primary-menu > .top-nav-element h2 > a[aria-expanded] {
		padding-right: 5px;
		padding-top: 4px;
	}
	.primary-menu > .top-nav-element > a,
	.primary-menu > .top-nav-element h2 > a[aria-expanded] {
		text-align: center;
		font-size: 0.9rem;
		line-height: 2;
	}
	.primary-menu > .top-nav-element h2 > a[aria-expanded]::after {
		display: inline-block;
		position: relative;
		transform: scale(0.6);
		top: 10px;
		right: 0;
	}
	.primary-menu .sub-nav-element > h3 > a::after {
		display: inline-block;
		position: relative;
		transform: scale(0.5) translate(0, calc(25% / 0.5)) rotate(-90deg);
		right: -5px;
	}
	.primary-menu > .top-nav-element a[aria-expanded].menu-hover,
	.primary-menu > .top-nav-element a[aria-expanded].menu-open {
		background-color: transparent;
		color: var(--tolino-blue);
	}
	.primary-menu .sub-nav-container {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background-color: #FFF;
		box-shadow: var(--tolino-shadow-dark);
		margin: 0;
	}
	.primary-menu > .top-nav-element > a.menu-hover,
	.primary-menu > .top-nav-element a[aria-expanded].menu-hover,
	.primary-menu > .top-nav-element a[aria-expanded].menu-open,
	.primary-menu > .top-nav-element.current-menu-item a,
	.primary-menu .sub-nav-element.current-menu-item a,
	.primary-menu .nav-element.current-menu-item a,
	.primary-menu > .top-nav-element.current-menu-ancestor > h2 > a[aria-expanded],
	.primary-menu .sub-nav-element.current-menu-ancestor > h3 > a[aria-expanded] {
		color: var(--tolino-blue);
		margin-left: 0;
		z-index: 1002;
	}
	.primary-menu > .top-nav-element a[aria-expanded].menu-hover::after,
	.primary-menu > .top-nav-element a[aria-expanded].menu-open::after,
	.primary-menu > .top-nav-element.current-menu-ancestor > h2 > a::after,
	.primary-menu .sub-nav-element.current-menu-ancestor > h3 > a::after {
		background-position-y: center;
	}
	.primary-menu .top-nav-element > .sub-nav-container.menu-open {
		min-height: 360px;
		height: auto;
		position: absolute;
		width: auto;
		left: 0;
		right: 0;
		top: 100%;
	}
	.primary-menu .sub-nav-container ul {
		flex-direction: column;
		position: relative;
		padding: 1rem 10px 2rem;
	}
	.top-nav-element > .sub-nav-container > ul {
		left: 10%;
	}
	.primary-menu .sub-nav-container ul > li {
		width: 20%;
	}
	.primary-menu .sub-nav-container ul .sub-nav-container.menu-open {
		position: absolute;
		left: 25%;
		top: 0;
		max-height: unset;
	}
	.primary-menu .sub-nav-container ul .sub-nav-container .sub-menu {
		flex-wrap: wrap;
		height: 360px;
		align-content: flex-start;
	}
	.primary-menu .sub-nav-container .sub-nav-element {
		margin-right: 35px;
	}
	.primary-menu .sub-nav-container .sub-nav-element .nav-element {
		margin-right: 15%;
	}
	.primary-menu .sub-nav-container .sub-nav-element a {
		background-color: transparent;
		padding: 10px 0;
		font-size: 1.125rem;
		border-bottom: 1px solid #000;
	}
	.primary-menu .sub-nav-container .sub-nav-element a[aria-expanded] {
		padding-top: 0;
		line-height: 1;
	}
	.primary-menu .sub-nav-container .sub-nav-element a.menu-hover,
	.primary-menu .sub-nav-container .sub-nav-element a.menu-focus,
	.primary-menu .sub-nav-element.current-menu-item a,
	.primary-menu .nav-element.current-menu-item a {
		color: var(--tolino-blue);
		border-bottom: 1px solid var(--tolino-blue);
	}
	.primary-menu > .top-nav-element.nav-special button {
		font-size: 1rem;
		line-height: 2;
	}
}
@media screen and (min-width: 1024px) {
	.main-navigation-container {
		flex-direction: row;
		margin-top: 0;
	}
	.primary-menu {
		padding-left: 10px;
	}
	.primary-menu > .top-nav-element.nav-special {
		padding-top: 25px;
	}
	.primary-menu > .top-nav-element.nav-special button {
		font-size: 1.25rem;
	}
	.primary-menu > .top-nav-element > a,
	.primary-menu > .top-nav-element h2 > a[aria-expanded] {
		font-size: 1.125rem;
		line-height: 3;
	}
	.primary-menu > .top-nav-element > a {
		padding: 20px 15px;
	}
	.primary-menu > .top-nav-element h2 > a[aria-expanded] {
		padding: 20px 5px 20px 15px;
	}
	.primary-menu > .top-nav-element h2 > a[aria-expanded]::after {
		transform: scale(0.7);
	}
}
@media screen and (min-width: 1140px) {
	.primary-menu > .top-nav-element > a,
	.primary-menu > .top-nav-element h2 > a[aria-expanded] {
		font-size: 1.25rem;
	}
	.primary-menu > .top-nav-element.nav-special {
		padding-left: 20px;
	}
}
