Want to get this as ready made template with just 1 CLICK INSTALL?
CSS code snippet on Main Section:
:root{
--width: 250px;
--narrow-width: 80px;
}
selector{
width: var(--width);
overflow: auto;
position: fixed;
transition: all 0.3s ease-in-out !important;
overflow-x: hidden;
z-index: 1;
-ms-overflow-style: none;
scrollbar-width: none
}
selector::-webkit-scrollbar{
display: none;
}
.sidebar-toggle{
cursor: pointer;
}
body.opening selector{
width: var(--narrow-width) !important;
}
body.opening selector .elementor-inner-section .elementor-widget-wrap{
padding-left: 14px !important;
padding-right: 14px !important;
}
selector .logo{
transition: all 0.3s ease-in-out;
}
body.opening selector .logo{
opacity: 0;
}
body.open selector .logo{
display: none;
}
body.opening selector .sidebar-toggle{
right: 26px;
}
selector .elementor-widget-search-form form{
position: relative;
}
selector .elementor-widget-search-form form:before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
body.opening selector .elementor-widget-search-form form:before{
z-index: 1;
}
body.opening selector .elementor-search-form__icon{
padding-left: 14px !important;
}
selector .elementor-icon-list-text{
transition: all 0.3s ease-in-out;
}
body.opening selector .elementor-icon-list-text{
opacity: 0;
}
selector .elementor-widget-image-box{
transition: all 0.3s ease-in-out;
}
body.opening selector .elementor-widget-image-box{
opacity: 0;
}
selector .user{
transition: all 0.3s ease-in-out;
}
body.opening selector .user .elementor-widget-wrap{
padding-left: 20px !important;
padding-right: 20px !important;
}
body.opening selector .user img {
width: 40px;
transition: all 0.3s ease-in-out;
}
header + *,
[data-elementor-type="header"] + *,
footer,
[data-elementor-type="footer"]{
margin-left: var(--width);
transition: all 0.3s ease-in-out !important;
}
body.opening header + *,
body.opening [data-elementor-type="header"] + *,
body.opening footer,
body.opening [data-elementor-type="footer"]{
margin-left: var(--narrow-width);
}
@media (max-width: 1024px){
header + *,
[data-elementor-type="header"] + *,
footer,
[data-elementor-type="footer"]{
margin-left: var(--narrow-width);
transform: translateX(calc(var(--width) - var(--narrow-width)));
transition: all 0.6s ease-in-out !important;
}
body.opening header + *,
body.opening [data-elementor-type="header"] + *,
body.opening footer,
body.opening [data-elementor-type="footer"]{
transform: translateX(0);
transition: all 0.3s ease-in-out !important;
}
html, body{
overflow-x: hidden;
}
}
@media (max-width: 767px){
selector{
height: 100vh;
}
body.left selector{
transform: translateX(calc(-1*var(--width)));
}
header + *,
[data-elementor-type="header"] + *,
footer,
[data-elementor-type="footer"]{
margin-left: 0;
transform: translateX(var(--width));
transition: all 0.3s ease-in-out !important;
}
body.left header + *,
body.left [data-elementor-type="header"] + *,
body.left footer,
body.left [data-elementor-type="footer"]{
transform: translateX(0);
}
}
.site-content footer,
.site-content header + *{
margin: 0 !important;
transform: none !important;
}
CSS code snippet on Toggle Icon:
selector{
--gap: 0.25em;
--weight: 0.05em;
--width: 0.8em;
}
selector .elementor-icon{
position: relative;
}
selector i:before,
selector i:after,
selector .elementor-icon:after{
content: "";
height: var(--weight);
width: var(--width);
position: absolute;
background: currentColor;
top: 50%;
left: 50%;
transform: translate(-50%,calc(-50% + var(--gap)));
}
selector i:after{
transform: translate(-50%,calc(-50% - var(--gap)));
}
selector .elementor-icon:after{
transform: translate(-50%,-50%);
}
CSS code snippet on Search Form:
selector .elementor-search-form__icon{
opacity: 1;
}
CSS code snippet on Icon List:
selector{
--radius: 8px;
}
selector .elementor-icon-list-icon{
color: currentColor;
-webkit-text-fill-color: transparent;
-webkit-text-stroke-width: 0.5px;
-webkit-text-stroke-color: currentColor;
text-align: center;
}
selector .elementor-icon-list-item.active .elementor-icon-list-icon,
selector .elementor-icon-list-item:hover .elementor-icon-list-icon{
-webkit-text-stroke-width: 1px;
}
selector .elementor-icon-list-item a{
padding: 13px 18px !important;
border-radius: var(--radius);
}
selector .elementor-icon-list-item.active a,
selector .elementor-icon-list-item:hover a{
background: #fff;
}
selector .elementor-icon-list-item.active span,
selector .elementor-icon-list-item:hover span,
selector .elementor-icon-list-item.active span i,
selector .elementor-icon-list-item:hover span i{
color: #000;
}
selector .elementor-icon-list-text{
min-width: var(--width);
}
selector a:focus{
outline: none;
}
JavaScript code snippet for Toggle functionality:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
var $ = jQuery,
clickLock = false
$(document).ready(function(){
$('.sidebar-toggle').on('click', function(){
if( $(window).width() < 768 ){
$('body').toggleClass('left')
}else{
if( $('body').hasClass('open') ){
$('body').removeClass('open')
setTimeout(function(){
$('body').removeClass('opening')
},300)
}else{
$('body').addClass('opening')
setTimeout(function(){
$('body').addClass('open')
},300)
}
}
})
$('.navigation .elementor-icon-list-item').on('click', function(){
$('.navigation .elementor-icon-list-item').removeClass('active')
$(this).addClass('active')
clickLock = true
setTimeout(function(){
clickLock = false
},500)
})
})
$(window).on('load resize', function(){
if( $(window).width() < 768 ){
$('body').removeClass('open opening')
$('body').addClass('left')
}else if( $(window).width() < 1025 ){
$('body').addClass('open opening')
}else{
$('body').removeClass('open opening')
}
})
var hash = true
$(window).on('load', function(){
$('.elementor-icon-list-item a').each(function(){
if( $(this).attr('href') == location.protocol+'//'+location.host+location.pathname ){
hash = false
$(this).parent().addClass('active')
}
})
})
$(window).on('load scroll', function(){
if( !hash || clickLock ) return
var ids = [],
id
$('.elementor-top-section').each(function(){
if($(window).scrollTop() + $(window).height() - 350 > $(this).offset().top){
ids.push($(this).attr('id'))
}
})
ids = ids.filter(element => {
return element !== undefined
})
id = ids[ids.length - 1]
$('.elementor-icon-list-item').removeClass('active')
$('[href="#'+id+'"]').parent().addClass('active')
})
$('body').on('click', function(e){
if(!$(e.target).closest('.elementor-location-header').length && !$(e.target).hasClass('elementor-location-header') ){
if( $(window).width() < 768 ){
$('body').addClass('left')
}else if( $(window).width() < 1025 ){
$('body').addClass('open opening')
}
}
})
</script>
CSS code snippet on 2nd Section:
selector{
height: 0;
}


