body #head{
	z-index: 10;
}

@media(max-width: 991px){
	body.responsive-menu-active #head{
		background-color: #ffffff;
	}
}
#responsive-menu{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0.5s, -webkit-transform 0.5s;
	-o-transition: opacity 0.5s, visibility 0.5s, -o-transform 0.5s;
	transition: transform 0.25s, opacity 0.25s, visibility 0.25s, -webkit-transform 0.25s, -o-transform 0.25s;
	will-change: transform, opacity, visibility;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	overflow: hidden;
	transform: translate3d(100%,0,0);
}

body.responsive-menu-active{
	overflow: hidden;
}
.responsive-menu-active #responsive-menu{
	visibility: visible;
	opacity: 1;
	transform: translate3d(0%,0,0);
}

#responsive-menu > div:first-child{
	position: relative;
	padding: 63px 20px 10px;
}
#responsive-menu .megamenu-responsive{overflow: scroll;padding: 0;list-style: none;margin-bottom: 0;}

#responsive-menu .megamenu-responsive:after{
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 40px);
	height: 1px;
	background-color: #cccccc;
}

#responsive-menu .megamenu-responsive > li{
}
#responsive-menu .megamenu-responsive > li > a{
    display: block;
    text-decoration: none;
    padding: 10px 23px 10px 5px;
    font-size: 18px;
}
#responsive-menu .megamenu-responsive > li.current-menu-item > a{
	font-weight: 500;
}


#responsive-menu .megamenu-responsive > li.menu-item-has-children > a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
#responsive-menu .megamenu-responsive > li.menu-item-has-children > a:after{
	content: '';
	background: url(../img/svg/angle_right.svg) no-repeat center center;
	width: 10px;
	height: 13px;
	background-size: 100%;
	position: absolute;
	right: 0;
}

#responsive-menu .megamenu-responsive > li > ul.sub-menu{
    padding: 0;
    list-style: none;
    position: absolute;
    left: 0px;
    background-color: #ffffff;
    padding: 50px 25px 100px;
    z-index: 1;
    top: 0;
    overflow-y: scroll;
    height: calc(100vh);
    transition: all 0.25s ease;
    transform: translate3d(100%,0,0);
    pointer-events: none;
    width: 100%;
}
#responsive-menu .megamenu-responsive > li.sub-menu-active > ul.sub-menu{
	transform: translate3d(0%,0,0);
	pointer-events: inherit;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li{
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #ccc;
    transition: all 0.25s;
    transform: scale(0.87);
}

#responsive-menu .megamenu-responsive > li > ul.sub-menu > li:last-child{
	border-bottom: none;
}

#responsive-menu .megamenu-responsive > li.sub-menu-active > ul.sub-menu > li{
    opacity: 1;
    transform: scale(1);
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a:has(img){
    padding-left: 38%;
    min-height: 25vw;
    padding-block: 1.6rem;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a{
    text-decoration: none;
    position: relative;
    display: block;
    font-weight: 500;
    font-size: 17px;
}

#responsive-menu .megamenu-responsive > li > ul.sub-menu > li.trigger-submenu{
	border-bottom: none;
	margin: 0;
	position: sticky;
	top: 0;
	background-color: #ffffff;
	z-index: 112;
	padding-block: 20px 0px;
}


#responsive-menu .megamenu-responsive > li > ul.sub-menu > li.trigger-submenu > a{
	padding-left: 20px;
	font-weight: 300;
	padding-block: 10px;
	transition: all .3s;
}
#responsive-menu .megamenu-responsive > li.sub-menu-active > ul.sub-menu > li.trigger-submenu > a{
	box-shadow: 0 1px 1px -1px #000
}

#responsive-menu .megamenu-responsive > li. > a:after{}

#responsive-menu .megamenu-responsive > li > ul.sub-menu > li.trigger-submenu > a:before{
	content: '';
	position: absolute;
	margin-right: 6px;
	background: url(../img/svg/angle_left.svg) no-repeat center center;
	width: 10px;
	height: 13px;
	background-size: 100%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li.trigger a:before{
	content: '';
	margin-right: 6px;
	background: url(../img/svg/angle_left.svg) no-repeat center center;
	width: 10px;
	height: 13px;
	background-size: 100%;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li.trigger > a{
    padding: 0;
    font-weight: 300;
    background: #ffffff;
    padding: 20px 20px;
    display: flex;
    position: relative;
    left: -20px;
    align-items: center;
    width: calc(100% + 20px);
}


#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a span{
    order: -1;
    width: 34%;
    position: absolute;
    left: 0;
    aspect-ratio: 1/0.9;
    top: 1.4rem;
    border-radius: 5px;
    transition: filter 0.3s;
    filter: blur(10px);
    background-color: #ddd;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a span.visible{
    opacity: 1;
    filter: blur(0px);
}

#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a span img{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: 1/0.9;
	border-radius: 5px;
	object-fit: cover;
	transition: opacity .3s;
	opacity: 0;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a span.visible img{
	opacity: 1;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > a .desc{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.2;
    margin-top: 5px;
}

#responsive-menu ul.extra{
	padding: 20px 0px;
	margin: 20px 20px;
	border-top: 1px solid #ccc;
}
#responsive-menu ul.extra > li{
	list-style: none;
}
#responsive-menu ul.extra > li > a{
	display: block;
	padding: 5px 5px;
	text-decoration: none;
	font-size: 18px;
	color: #665;
}
#responsive-menu ul.extra > li.current-menu-item > a{
	color: var(--main-color);
}
#responsive-menu .cta{
	display: block;
	background-color: var(--red);
	padding: 10px;
	font-size: 20px;
	font-weight: 600;
	text-decoration: none;
	color: #ffffff;
	border-radius: 6px;
	margin: 30px 20px;
}


#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > ul{
    padding: 10px 0px;
    list-style: none;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > ul > li{}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > ul > li > a{
    text-decoration: none;
    font-size: 13px;
    display: block;
    padding: 7px 10px;
    color: #666;
}
#responsive-menu .megamenu-responsive > li > ul.sub-menu > li > ul > li.current-menu-item > a{
    font-weight: bold;
}