@media screen and (max-width: 991px) {
  ul.sub-menu {
    display: block;
    opacity: 0;
    min-width: 0;
    top: 0;
    left: -20px;
    padding-bottom: 10px;
    width: 100%;
    padding: 10px;
    background: #525252;
    z-index: -1;
    position: absolute;
    list-style: none;
    padding: 0;
  }
  .sub-menu>li>ul {
    left: -10px;
    top: -5px;
  }
  ul.nav-list {
    padding: 0;
    list-style: none;
  }
  ul.nav-list a {
    color: #fff;
    font-size: 16px;
  }
  .caret {
    border: none;
    height: 15px;
    width: 15px;
    position: relative;
    margin-left: 10px;
    margin-top: -3px;
    font-size: 22px;
  }
  .back {
    text-align: center;
    font-size: 22px;
    position: relative;
    display: block;
    text-align: center;
  }
  .caret::after {
    content: "\f105";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 999;
    transform: translate(-50%, -50%);
    color: #fff;
  }
  .back::after {
    content: "\f077";
    cursor: pointer;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    z-index: 999;
    color: #fff;
    left: 50%;
  }
  .slide-in-right {
    animation: slide-in-right 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    z-index: 9999 !important;
    border: 1px solid #fff;
  }
  .slide-out-right {
    animation: slide-out-right 1.2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    z-index: -999 !important;
    border: 1px solid #fff;
  }
  .caret {
		position: relative;
		left: -4px;
		margin-left: 0;
	}
	.caret:after {
		content: '\f053';
	}
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.navbar.navbar-default {
		right: 20px;
	}
	.slide-in-right {
		opacity: 1 !important;
		transition: all ease 1s;
	}
	.slide-in-out {
		opacity: 0 !important;
		transition: all ease-out 1s;
	}
	.back {
		cursor: pointer;
	}
	ul.sub-menu {
		transition: all ease 1s;
	}
}
@supports (-ms-accelerator:true) {
	.navbar.navbar-default {
		right: 20px;
	}
	.slide-in-right {
		opacity: 1 !important;
		transition: all ease-in 1s;
	}
	.slide-in-out {
		opacity: 0 !important;
		transition: all ease-out 1s;
	}
	.back {
		cursor: pointer;
	}
	ul.sub-menu {
		transition: all ease 1s;
	}
}
@-webkit-keyframes move_fade_down {
	2 0% {
		-webkit-transform: translate(0, 0);
		opacity: 1;
	}
	50% {
		-webkit-transform: translate(0, 5px) scale(.95);
		opacity: 0.75;
	}
	100% {
		-webkit-transform: translate(0, 0);
		opacity: 1;
	}
}
@keyframes move_fade_down {
	0% {
		transform: translate(0, 0);
		opacity: 1;
	}
	50% {
		transform: translate(0, 5px) scale(.9);
		opacity: 0.75;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}
@-webkit-keyframes move_fade_side {
	0% {
		-webkit-transform: translate(0, 0);
		opacity: 1;
	}
	50% {
		-webkit-transform: translate(5px, 0) scale(.95);
		opacity: 0.75;
	}
	100% {
		-webkit-transform: translate(0, 0);
		opacity: 1;
	}
}
@keyframes move_fade_side {
	0% {
		transform: translate(0, 0);
		opacity: 1;
	}
	50% {
		transform: translate(5px, 0) scale(.9);
		opacity: 0.75;
	}
	100% {
		transform: translate(0, 0);
		opacity: 1;
	}
}
@keyframes slide-in-right {
	0% {
		transform: translateX(100px) translateY(0px);
		opacity: 0;
	}
	100% {
		transform: translateX(0px) translateY(15px);
		opacity: 1;
	}
}
@keyframes slide-out-right {
	0% {
		transform: translateX(-20px) translateY(15px);
		opacity: 1;
	}
	100% {
		transform: translateX(100px) translateY(0px);
		opacity: 0;
	}
}
