.main-menu-wrapper {
	--background1: #000000;
	--background2: #ffffff;
	--color1: #ffffff;
	--color2: #272727;
	--icon-top: #ffffff;
	--highlight: #e30613;
	--highlighttext: #000;
	--separator: #e30613;
	--dropdownbackground: #ffffff;;
	--dropdown: #e30613;
	--borderradius: 0.25rem;
	--menushadow: rgba(0,0,0,0.2);
	--global-shadow: drop-shadow(0 0 6px rgba(0, 0, 0, 0.16));
}

header.desktop .mobile-wrapper{
	display:none;
}

header.mobile .desktop-menu-wrapper{
	display:flex;
}

.main-menu-wrapper {
    z-index: 999
}

.main-menu-wrapper .logo {
    height: 4.375rem;
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    margin-right: 1rem;
}

  header:has(nav[data-top-menu="true"]) ~ main {
	margin-top: 64px;
  }

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item:not(.menu-item-level-2) a {
  font-weight: 600;
}

#desktop-menu[data-shadow="true"] .header_menu_l2, #mobile-menu[data-shadow="true"] .header_menu_l2  {
	filter: var(--global-shadow);
}

#desktop-menu[data-top-menu="true"] .menue_right .langselect,  #mobile-menu[data-top-menu="true"] .mobilelangselect{
    display: block;
}

#desktop-menu .menue_right .langselect, #mobile-menu .mobilelangselect {
display: none;
}

.main-menu-wrapper.desktop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px;
    transition: background-color .3s ease
}

.main-menu-wrapper.desktop a {
    transition: color .3s ease-in-out;
	text-decoration:none !important;
}

.main-menu-wrapper.desktop .menu-hl a{
	font-weight:bold;
}

.main-menu-wrapper.desktop a:hover {
    color: at_col_primary~~~;
}

.main-menu-wrapper.desktop .desktop-menu-wrapper {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 9;
}

.main-menu-wrapper.desktop .desktop-menu-wrapper .menu-social {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    width: 100%
}

.main-menu-wrapper.desktop .main-menu {
    display: flex;
    list-style: none;
    margin: 0
}

.main-menu-wrapper.desktop .main-menu .main-menu-item {
    padding: .4rem;
    margin: 0 1rem;
    cursor: pointer;
    color: var(--color2);
    font-weight: 400;
    transition: color .3s ease-in-out;
    display: flex;
    align-items: center
}

.main-menu-wrapper.desktop .main-menu .main-menu-item svg {
    margin-left: .5rem
}

.main-menu-wrapper.desktop .main-menu .main-menu-item:hover {
    color: at_col_primary~~~;
}

.main-menu-wrapper.desktop .sidebar-menu {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100vh;
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none
}

.main-menu-wrapper.desktop .sidebar-menu.active {
    background-color: rgba(74,74,73,.5);
    opacity: 1;
    pointer-events: all
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: var(--background2);
    list-style: none;
    height: 100%;
    width: 400px;
    transform: translateX(-100%);
    transition: transform .3s;
    pointer-events: none;
    padding-left: 0
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 2rem;
    margin-top: 2rem;
    margin-bottom: 4rem
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-list-header .logo {
    width: 200px
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .block {
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--background2);
    height: 100%;
    width: 100%;
    z-index: -1
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper.active {
    pointer-events: all;
    transform: translateX(0)
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item {
    padding: 1rem 2rem;
    transition: all .3s ease-in-out;
    font-size: 1.1rem;
    font-weight: 600
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item:hover a:after {
    width: 100%
}

.main-menu-wrapper.desktop .desktop-menu-side-col {
    display: block;
}
.main-menu-wrapper.mobile .desktop-menu-side-col {
    display: none;
}

.main-menu-wrapper.desktop .mobile-menu-side-col {
    display: none;
}
.main-menu-wrapper.mobile .mobile-menu-side-col {
    display: flex;
    margin-top: 1rem;
}

.main-menu-wrapper.mobile .mobile-menu-side-col .sidemenu-content-wrapper p{
    color: var(--mobile-color);
}

.main-menu-wrapper.mobile .mobile-menu-side-col .sidemenu-content-wrapper .frame:first-of-type p,.main-menu-wrapper.desktop .desktop-menu-side-col .menu-description-wrapper .frame:first-of-type p{
font-weight: 600;
}

.main-menu-wrapper.mobile .mobile-menu-side-col .sidemenu-content-wrapper:has(.divider_wrapper) .frame:first-of-type p, .main-menu-wrapper.desktop .desktop-menu-side-col .menu-description-wrapper:has(.divider_wrapper) .frame:first-of-type p {
    margin-bottom: 0;
}

.main-menu-wrapper.desktop .desktop-menu-side-col .menu-description-wrapper p{
    color: var(--desktop-color);
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item:hover .menu-sideImage {
    left: 100%;
    opacity: 1
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item a {
    position: relative;
	color:var(--color2);
	text-decoration:none !important;
}

.mobile-nav-item-sidemenu a{
	color:var(--color2);
	text-decoration:none;
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item a:after {
    position: absolute;
    content: "";
    top: 100%;
    left: 0;
    height: 2px;
    width: 0;
    background-color: var(--color2);
    transition: width .35s ease-in-out
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item .menu-sideImage {
    position: absolute;
    left: -50%;
    top: 0;
    width: 500px;
    height: 100%;
    overflow: hidden;
    z-index: -1;
    transition: all .35s ease-in-out;
    opacity: 0;
    display: flex;
    justify-content: center
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item .menu-sideImage .menu-description-wrapper {
    position: relative;
    z-index: 300;
    margin-top: 4.5rem;
    padding: 5rem 3rem;
    font-weight: 400
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item .menu-sideImage .menu-description-wrapper .menu-description {
    line-height: 1.3;
    font-size: .9rem
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item .menu-sideImage img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    z-index: 100
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item .menu-sideImage:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    z-index: 200
}

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .close-btn {
    background-color: transparent;
    border: none
}

.main-menu-wrapper.mobile {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    overflow-y: auto;
    pointer-events: none;
    transition: background-color .25s ease-in-out
}

.main-menu-wrapper.mobile.active .mobile-wrapper {
    height: 100%;
    overflow-y: scroll
}

.main-menu-wrapper.mobile .mobile-wrapper {
    display: flex;
    flex-direction: column;
    height: 64px;
    width: 100%;
    align-items: center;
    pointer-events: all
}

.main-menu-wrapper.mobile .mobile-wrapper .ts-menu-margin {
    margin: 1.5rem 2rem
}

.main-menu-wrapper.mobile .mobile-wrapper .logo-link-wrapper {
    height: 64px;
    display: flex;
    align-items: center
}

.main-menu-wrapper.mobile .mobile-wrapper .logo-link-wrapper .logo {
    width: 100%
}

.main-menu-wrapper.mobile .mobile-wrapper .menu-social {
    display: flex;
    gap: 1rem;
    padding: 1.5rem 2rem
}

.main-menu-wrapper.mobile .mobile-wrapper .menu-btn {
    position: absolute;
    left: 26px;
    top: 16px;
    background-color: transparent;
    border: none;
    color: var(--color2);
}

.main-menu-wrapper.mobile.active{
	background-color:var(--background2);
}

.main-menu-wrapper.mobile #mobile_open_button{
	display:block;
}

.main-menu-wrapper.mobile #mobile_close_button{
	display:none;
}


.main-menu-wrapper.mobile.active #mobile_open_button{
	display:none;
}

.main-menu-wrapper.mobile.active #mobile_close_button{
	display:block;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav-header {
    position: relative;
    min-height: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    width: 100%;
    background-color: var(--background2);
    justify-content: center;
    z-index: 990;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav {
    position: relative;
    width: 100%;
    display: none;
    flex-direction: column;
    list-style: none;
    padding: 0;
    z-index: 970;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav.active {
    display: flex;
	opacity:1;
	transform:none;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-head {
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    width: 100%
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-head .nav-item-title {
    font-size: 1.2rem;
    font-weight: 700;
    pointer-events: none
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-head .nav-item-title.no-sub {
    pointer-events: all
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-head svg {
    pointer-events: none
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu {
    padding: 0 2rem;
    opacity: 0;
    height: 0;
    transition: all .2s ease-in-out;
    transform: translateY(-10px);
    pointer-events: none
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .menu-sideImage{
    display: flex;
    flex-direction: row-reverse;
    gap: 1rem;
    margin-top: .8rem;
}


.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu.active {
    opacity: 1;
    height: auto;
    flex-direction: column;
    transform: translateY(0);
    pointer-events: all
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .mobile-nav-subsection a{
    font-weight: 600;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1rem 0;
    font-weight: 600;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item:has(.menu-sideImage){
    display: block;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item:has(.menu-sideImage):hover {
    text-decoration: none;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu img{
    width: 100px;
    height: 100px;
    object-fit: cover;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .menu-description-wrapper{
    max-width: 100%;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .menu-description-wrapper:hover {
    text-decoration: none;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item:focus .sidemenu-image-wrapper .sidemenu-image {
    filter: grayscale(0) saturate(2)
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item .sidemenu-image-wrapper {
    width: 100px;
    height: 100px;
    margin-right: 1rem;
    overflow: hidden
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item .sidemenu-image-wrapper .sidemenu-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1)
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item .sidemenu-content-wrapper {
    display: flex;
    flex-direction: column;
    width: 60%;
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item .sidemenu-title {
    position: relative;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: .7rem
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item .sidemenu-title:after {
    position: absolute;
    top: 100%;
    left: 0;
    content: "";
    width: 30%;
    height: 2px;
    background-color: var(--background2);
}

.main-menu-wrapper.mobile .mobile-wrapper .mobile-nav .mobile-nav-item .mobile-nav-item-sidemenu .sidemenu-item .sidemenu-description {
    font-weight: 200;
    font-size: .6rem
}


/* main{
	padding-top:200px;
} */

.main-menu-wrapper.desktop .sidebar-menu .sidebar-list-wrapper .sidebar-menu-item.menu-item-level-2{
    padding-left: 3rem;
    padding-top: 0;
    padding-bottom: 1rem;
    font-weight: 400;
}

.menu-item-wrapper {
    height: 80%;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 3rem;
}

.langselect ul li {
    list-style: none;
}
.langselect img {
    width: 1rem;
    margin-right: 0.5rem;
}
.mobilelangselect{
    position: absolute;
    top: 21px;
    right: 1rem;
    z-index: 5000;
}
.main-menu-wrapper [data-top-menu="true"] .header_menu_l1 {
	display: none;
  }

  #desktop-menu .header_menu_l1{
	min-height:2.5rem;
	width:100%;
	background-color: var(--background1);
	color: var(--color1);
	position:relative;
	font-size:0.85rem;
}

#desktop-menu .header_menu_l1 i{
	color: var(--icon-top);
}

#desktop-menu .header_menu_l1 .container-standard-width{
	min-height:2.5rem;
	display: flex;
	justify-content: flex-start;
}

#desktop-menu .header_menu_l1 .header_menu_l1_col{
	line-height:2.5rem;
}


#desktop-menu .header_menu_l1 .container-standard-width .rightside{
	margin-left:auto;
}

#desktop-menu .header_menu_l1 .contact-links a{
	margin-right:1.25rem;
}

#desktop-menu .header_menu_l1 .contact-links a:hover{
	color: var(--icon-top);
}

#desktop-menu .header_menu_l1 .contact-links .fa-regular,
#desktop-menu .header_menu_l1 .contact-links .fa-solid{
	margin-right:0.5rem;
}

#desktop-menu .header_menu_l1 .header_menu_l1_separator{
	width:0.0625rem;
	height:1.3rem;
	background-color: var(--separator);
	margin-top:0.6rem;
	margin-right:1.25rem;
}


#desktop-menu .header_menu_l1 .social-links{
	font-size:1.25rem;
}

#desktop-menu .header_menu_l1 .social-links a{
	margin-right:0.5rem;
	color: var(--color1);

}

#desktop-menu .header_menu_l1 .social-links a:hover{
	color: var(--icon-top);
}

#desktop-menu .header_menu_l1 .social-links .fa-brand{
	color: var(--color1);
	margin-right:0.5rem;
}

#desktop-menu .header_menu_l1 .rightside a{
	margin-left:1.25rem;
}

#desktop-menu .header_menu_l1 .rightside a:hover{
	color: var(--icon-top);
}

#desktop-menu .header_menu_l1 .rightside .fa-solid{
	color: var(--icon-top);
	margin-right:0.5rem;
}

#desktop-menu .header_menu_l2{
	min-height:4.375rem;
	width:100%;
	background-color: var(--background2);
	color: var(--color2);
}

#desktop-menu .header_menu_l2 .container-standard-width{
	min-height:4.375rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

#desktop-menu .header_menu_l2 .main_menu{
	display:inline-block;
	float: right;
	width:max-content;
	white-space: nowrap;
    padding-top: 0.65rem;
}

#desktop-menu .header_menu_l2 .action-button{
	display: flex;
	z-index: 3;
	margin-left: 1rem;
}
#desktop-menu .header_menu_l2 .action-button .btn-filled{
	margin-bottom: 0;
}
#desktop-menu .header_menu_l2 .main_menu .mmi-l1{
	display:inline-block;
	float:left;
}

#desktop-menu .header_menu_l2 .main_menu .mmi-l1>a{
	margin-left:1rem;
	margin-right:1rem;
}

#desktop-menu .header_menu_l2 .main_menu .mmi-l1 span{
	margin-left:1rem;
	margin-right:1rem;
}

#desktop-menu .header_menu_l2 .main_menu .mmi-l2{
	font-weight:bold;
    float: left;
    width: 100%;
	left:0;
	border-radius:var(--borderradius);
}

#desktop-menu .header_menu_l2 .main_menu .nothirdlevel .mmi-l2{
	font-weight:400;
    padding-bottom: 2.5rem;
}

#desktop-menu .header_menu_l2 .main_menu .mmi-l2::after {
    content: '';
    border-radius: 4px;
    position: absolute;
    z-index: -1;
	left:0;
	top:0;
    width: 100%;
    height: 100%;
    background-color: var(--menushadow);
    filter: blur(20px);
  }
#desktop-menu .header_menu_l2 .main_menu .mmi-l2:hover>a, #desktop-menu .header_menu_l2 .main_menu .mmi-l2_item.active>a{
	color:var(--highlight);
}

#desktop-menu .header_menu_l2 .main_menu .mmi-l3{
	font-weight:normal;
	white-space:normal;
}
#desktop-menu .header_menu_l2 .main_menu_holder{
	flex:1;
	white-space: nowrap;
	position:relative;
	height:3rem;
}
#desktop-menu .header_menu_l2 .logo{
	height:4.375rem;
	background-size:contain;
	background-position:left center;
	background-repeat:no-repeat;
	margin-right:1rem;
}

@media only screen and (max-width: 1220px) {
	#desktop-menu .header_menu_l1, #desktop-menu .header_menu_l2{
		padding:0 1rem;
	}
}
#mobile-menu .header_menu_l2{
	min-height:4rem;
	width:100%;
	background-color: var(--background2);
	color: var(--color2);
	position:relative;
}

#mobile-menu .header_menu_l2 .at-background{
	width:calc(100% - 1.5rem);
	margin-left:0.75rem;
	border-bottom:1px solid var(--separator);
}

#mobile-menu .header_menu_l2 .logo{
	height:2rem;
	background-size:contain;
	background-position:left center;
	background-repeat:no-repeat;
	margin-right:1rem;
}

#mobile-menu .header_menu_l1 {
        min-height: 2.5rem;
    width: 100%;
    background-color: var(--background1);
    color: var(--color1);
    position: relative;
    font-size: 0.85rem;
}

#mobile-menu .header_menu_l2 .logo-holder{
	padding:1rem 0 1rem 0;
	width:calc(100% - 5rem);
}
#mobile-menu .header_menu_l1 .container{
	min-height:2.5rem;
	display: flex;
	justify-content: flex-start;
}

#mobile-menu .header_menu_l1 .header_menu_l1_col{
	line-height:2.5rem;
}


#mobile-menu .header_menu_l1 .container .rightside{
	margin-left:auto;
}

#mobile-menu .header_menu_l1 .contact-links a{
	margin-right:1.25rem;
}

#mobile-menu .header_menu_l1 .contact-links a i{
	color: var(--icon-top);
}

#mobile-menu .header_menu_l1 .contact-links a:hover{
	color: var(--icon-top);
}

#mobile-menu .header_menu_l1 .contact-links .fa-solid{
	margin-right:0.5rem;
}

#mobile-menu .header_menu_l1 .header_menu_l1_separator{
	width:0.0625rem;
	height:1.3rem;
	background-color: var(--separator);
	margin-top:0.6rem;
	margin-right:1.25rem;
}


#mobile-menu .header_menu_l1 .social-links{
	font-size:1.25rem;
}

#mobile-menu .header_menu_l1 .social-links a{
	color: var(--icon-top);
	margin-right:0.5rem;
}

#mobile-menu .header_menu_l1 .social-links a:hover{
	color: var(--icon-top);
}

#mobile-menu .header_menu_l1 .social-links .fa-brand{
	color: var(--icon-top);
	margin-right:0.5rem;
}


#mobile-menu .header_menu_l1 .rightside a{
	margin-left:1.25rem;
}

#mobile-menu .header_menu_l1 .rightside a:hover{
	color: var(--icon-top);
}

#mobile-menu .active>span{
	color: var(--highlight);
}

#mobile-menu .above_menu a{
	margin-bottom:0.5rem;
	line-height:2rem;
}

#mobile-menu .above_menu{
    padding: 1.5rem 2rem;
	position:relative;
}

#mobile-menu .above_menu_social {
    display: flex;
    gap: .5rem;
}


#mobile-menu .header_menu_l1 .rightside .fa-solid{
	margin-right:0.5rem;
}

#mobile-menu .action-button {
    padding: 1.5rem 2rem;
}

@media only screen and (max-width: 1220px) {
	#desktop-menu .action-button span{
		display:none;
	}
	#desktop-menu .header_menu_l1, #desktop-menu .header_menu_l2{
		padding:0 1rem;
	}
}

@media only screen and (max-width: 599.999px) {
	.header_menu_l1_separator, .header_menu_l1_col.social-links{
		display:none;
	}
	.header_menu_l1_col.rightside a{
		display:none;
	}
	.header_menu_l1_col.rightside a:last-of-type{
		display:block;
	}
}

@media(max-width:999px)
{
	header.desktop .mobile-wrapper{
		display:flex;
	}

	header.mobile .desktop-menu-wrapper{
		display:none;
	}
	
	aside.sidebar-menu{
		display:none;
	}

}