/***
 * Skip Links
 ****/
.skip:focus,
.skip:active {
	position:static;
	top:0;
	left:0
}
.skiplinks {
	position:absolute;
	top:0;
	left:-32768px;
	z-index:1000;
	width:100%;
	margin:0;
	padding:0;
	list-style-type:none
}
.skiplinks .skip:focus, .skiplinks .skip:active {
	left: 32768px;
	outline: 0 none;
	position: absolute;
	width: 100%;
}
.skiplinks a.skip:focus,
.skiplinks a.skip:active {
	color:#fff;
	background:#333;
	border-bottom:1px #000 solid;
	padding:10px 0;
	text-align:center;
	text-decoration:none;
}

aside#sidebar {
	position: fixed;
	right:0;
	top:50%;
	/*transition:top 0.3s ease;*/
	z-index:1;
}

aside#sidebar ul {
	margin:0;
	padding:0;
	list-style-type;none;
	/*border-bottom:2px solid var(--color-black);*/
}

aside#sidebar ul li {
	display: block;
	/* border-left: 2px solid var(--color-black); */
	/* border-top: 2px solid var(--color-black); */
	margin-bottom: 4px;
}

aside#sidebar ul li a {
	display:block;
	width: clamp(2.5rem, 1.7378rem + 2.439vw, 3.75rem);
	height: clamp(2.5rem, 1.7378rem + 2.439vw, 3.75rem);
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-orange);
	text-decoration: none;
	font-size: clamp(1.3125rem, 0.9695rem + 1.0976vw, 1.875rem);
  	transition:color 0.2s ease, background-color 0.2s ease;	
}

aside#sidebar ul li a:hover {
	color: var(--color-white);
	background-color: var(--color-black);
}

#header {
	position: fixed;
	top:0;
	left:0;
	right:0;
	pointer-events: none;
	z-index:10;
}

.header-bar {
	background-color: var(--color-white);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top:45px;
	padding-bottom:45px;
	transition: padding 0.3s ease;
	border-bottom: 2px solid var(--color-black);
	pointer-events: all;
}

html.hasscrolled .header-bar {
	padding-top:30px;
	padding-bottom:30px;
	transition: padding 0.3s ease;
}



.header-opener {
	align-items: flex-end;
	display: flex;
}

#mainmenuopener {
	background: transparent;
	appearance: none;
	border: 0;
	font-family: 'Roboto Condensed';
	font-weight: 500;
	text-transform: uppercase;
	width: 1.1em;
	text-align: left;
}

#mainmenuopener[aria-expanded="true"] {
	font-weight: 700;
}

#mainmenuopener[aria-expanded="false"] .open {
	display: none;
}
#mainmenuopener[aria-expanded="true"] .closed {
	display: none;
}



#menulinks ul {
	list-style-type: none;
	margin: 0 0 0.45em 1.5em;
	padding: 0 0 0 1.75em;
	font-size: clamp(1.25rem, 1.0595rem + 0.6098vw, 1.5625rem);
	border-left: 2px solid var(--color-black);
	font-family: 'Roboto Condensed';
}

#menulinks ul li {
	display:inline-block;
	margin-right: 0.75em;
}	


#menulinks ul li a {
	text-decoration:none;
	position: relative;
	text-transform: uppercase;
}	

#menulinks ul li a:after {
	content:'';
	position:absolute;
	left:0;
	width:0;
	height: 2px;
	bottom:-4px;
	background-color: var(--color-black);
	transition: width 0.2s ease;
}
#menulinks ul li a:hover::after {
	/*text-decoration:underline;*/
	width: 100%;
}



#mainnavigation {
	background-color: var(--color-lightgrey);
	opacity: 0;
	padding-top: 37px;
	padding-bottom: 37px;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

html.mainmenu-open #mainnavigation {
	opacity: 1;
	pointer-events: all;
	transition:opacity 0.3s ease;
	border-bottom: 2px solid var(--color-black);
	overflow-y: auto;
}

#mainnavigation button {
	appearance: none;
	margin:0;
	padding:0;
	text-align: left;
	border:0;
	background-color: transparent;
}
#mainnavigation button[aria-expanded="false"] > .open {
	display: none;
}
#mainnavigation button[aria-expanded="true"] > .closed {
	display: none;
}


#mainnavigation ul {
	list-style-type: none;
	margin:0;
}

#mainnavigation-mainmenu > li > button,
#mainnavigation-mainmenu > li > a {
	font-family: 'Roboto Condensed';
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	position: relative;
	hyphens: auto;
}

#mainnavigation-mainmenu > li > button::after,
#mainnavigation-mainmenu > li > a:after {
	content:'';
	position:absolute;
	left:0;
	width:0;
	height: 2px;
	bottom:2px;
	background-color: var(--color-black);
	transition: width 0.2s ease;
}
#mainnavigation-mainmenu > li > button:hover::after,
#mainnavigation-mainmenu > li > a:hover::after {
	/*text-decoration:underline;*/
	width: 100%;
}

#mainnavigation-mainmenu > li.current > button,
#mainnavigation-mainmenu > li.current > a,
#mainnavigation-mainmenu > li > button[aria-expanded="true"],
#mainnavigation-mainmenu > li > button:hover,
#mainnavigation-mainmenu > li > a:hover {
	font-weight:700;
}


#mainnavigation-mainmenu > li.fs-submenuitem.isfirst {
	margin-top:50px;
}

/* submenu area */

.mainnavigation-submenu-area {
	display: none;
}

.mainnavigation-submenu > li > button,
.mainnavigation-submenu > li > a,
#mainnavigation-mainmenu > li.fs-submenuitem > button,
#mainnavigation-mainmenu > li.fs-submenuitem > a,
#mainnavigation-mainmenu li.fs-subsubmenuitem > a,
#mainnavigation-mainmenu > li.fs-submenuitem.current > button,
#mainnavigation-mainmenu > li.fs-submenuitem.current > a,
#mainnavigation-mainmenu  li.fs-subsubmenuitem.current > a {
	font-family: 'Roboto Condensed';	
	font-weight: 400;
	text-decoration: none;
	position: relative;
}

.mainnavigation-submenu > li > button::after,
.mainnavigation-submenu > li > a::after,
#mainnavigation-mainmenu > li.fs-submenuitem > button::after,
#mainnavigation-mainmenu > li.fs-submenuitem > a::after,
#mainnavigation-mainmenu  li.fs-subsubmenuitem > a::after,
#mainnavigation-mainmenu > li.fs-submenuitem.current > button::after,
#mainnavigation-mainmenu > li.fs-submenuitem.current > a::after,
#mainnavigation-mainmenu li.fs-subsubmenuitem.current > a::after {
	content:'';
	position:absolute;
	left:0;
	width:0%;
	height: 2px;
	bottom:2px;
	background-color: var(--color-black);
	transition: width 0.2s ease;
}
#mainnavigation-mainmenu > li.fs-submenuitem > a::after,
#mainnavigation-mainmenu li.fs-subsubmenuitem > a::after {
	bottom:-5px;
}

.mainnavigation-submenu > li > button:hover::after,
.mainnavigation-submenu > li.current > button::after,
.mainnavigation-submenu > li > a:hover::after,
.mainnavigation-submenu > li.current > a::after,
.mainnavigation-submenu > li > button[aria-expanded=true]::after,
#mainnavigation-mainmenu > li.fs-submenuitem > button:hover::after,
#mainnavigation-mainmenu > li.fs-submenuitem > a:hover::after,
#mainnavigation-mainmenu li.fs-subsubmenuitem > a:hover::after,
#mainnavigation-mainmenu > li.fs-submenuitem.current > button::after,
#mainnavigation-mainmenu > li.fs-submenuitem.current > a::after,
#mainnavigation-mainmenu li.fs-subsubmenuitem.current > a::after {
	width:100%;
}



button[aria-expanded="true"] + .mainnavigation-submenu-area {
	display: block;
}


/* subsubmenu area */

.mainnavigation-subsubmenu-area {
	display: none;
	padding-bottom: 10px;
	padding-top: 10px;
}
button[aria-expanded="true"] + .mainnavigation-subsubmenu-area {
	display: block;
}



.mainnavigation-submenu-area-menuarea {
	margin-left:40%;
	margin-bottom: 20px;
}



.header-logo {
	max-width: 256px;
	width: 100%;
	transition:max-width 0.3s ease;
}

html.hasscrolled .header-logo {
	max-width: 210px;
}


.header-logo a {
	display:block;
	width: 100%;
}

.header-logo img {
	display: block;
	width: 100%;
	height: auto;
}


@media only screen and (max-width: 768px) {
	.header-bar {
		padding-top: 30px;
		padding-bottom: 30px;
	}	
	.header-logo {
		max-width: 190px;
	}
	.mainnavigation-submenu-area-menuarea {
		margin-left: 15px;
	}	

	#menulinks {
		display: none;
	}
}