.rsmm > ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rsmm a {
    display: block;
    color: #5e5e5e;
    text-decoration: none;
    padding: 20px;
}

.rsmm a:hover {
    background: #f6f7f1;
}

.rsmm a.hover {
    background: #f6f7f1;
}

.rsmm li.has-sub {
    position: relative;
}

.rsmm li.has-sub > a > span {
    display: inline-block;
    background: url('img/caret-down.svg') center no-repeat;
    width: 10px;
    height: 16px;
    margin-left: 10px;
    vertical-align: middle;
}

.rsmm li.has-sub > ul {
    position: absolute;
    top: 48px;
    left: 0;
    background: #f6f7f1;
    list-style: none;
    padding-left: 0;
    min-width: 140px;
    max-width: 180px;
    display: none;
}

.rsmm li.has-sub a:not(.hover):hover {
    background: #eceee1;
}

.rsmm.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

.rsmm-mobile-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    width: 300px;
    height: 100%;
    background: #fafafa;
    -webkit-transform: translate3d(-320px, 0, 0);
    transform: translate3d(-320px, 0, 0);
    -webkit-transition: -webkit-transform .14s;
    transition: -webkit-transform .14s;
    -o-transition: transform .14s;
    transition: transform .14s;
    transition: transform .14s, -webkit-transform .14s;
}

.rsmm-mobile-wrapper.show {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.rsmm-mobile {
    padding-top: 55px;
    overflow-y: auto;
    max-height: 100%;
}

.rsmm-mobile li.has-sub > a > span {
    display: inline-block;
    background: url('img/caret-down.svg') center no-repeat;
    width: 6px;
    height: 12px;
    margin-left: 10px;
    vertical-align: middle;
}

.rsmm-mobile__close {
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: 1rem;
    top: 1rem;
    overflow: hidden;
    text-indent: 1rem;
    font-size: .75rem;
    border: none;
    background: 0 0;
    color: transparent;
    cursor: pointer;
}

.rsmm-mobile__close::after,
.rsmm-mobile__close::before {
    content: '';
    position: absolute;
    width: 3px;
    height: 100%;
    top: 0;
    left: 50%;
    background: #bdc3c7;
}

.rsmm-mobile__close::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.rsmm-mobile__close::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.rsmm-mobile ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rsmm-mobile > ul > li {
    border-bottom: 1px solid #f6f7f1;
}

.rsmm-mobile a {
    padding: 10px 20px;
    display: block;
    font-size: .8rem;
    color: #5e5e5e;
    text-decoration: none;
}

.rsmm-mobile > ul > li > a:hover {
    background: #eee;
}

.rsmm-mobile li.has-sub > ul {
    background: #eee;
}

.rsmm-mobile li.has-sub > ul > li {
    border-top: 1px solid #f6f7f1;
}

.rsmm-mobile li.has-sub > ul > li > a {
    padding-left: 35px;
}

.rsmm-mobile li.has-sub > ul > li > a:hover {
    background: #e1e1e1;
}

.rsmm-mobile li.has-sub.hover > a {
    color: #454545;
}

.rsmm-mobile > ul > li > a {
    color: #5e5e5e;
}

.rsmm-open-button {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    border: none;
    font-size: 1.5rem;
    color: transparent;
    background: 0 0;
    cursor: pointer;
    padding: 0;
    display: none;
}

.rsmm-open-button__icon {
    font-size: 1.3rem;
    color: #808080;
    margin-left: 1rem;
}

.rsmm-open-button:hover {
    opacity: .6;
}

.rsmm-mask {
    background: rgba(0, 0, 0, .7);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-transition: opacity .14s, -webkit-transform 0s .14s;
    transition: opacity .14s, -webkit-transform 0s .14s;
    -o-transition: opacity .14s, transform 0s .14s;
    transition: opacity .14s, transform 0s .14s;
    transition: opacity .14s, transform 0s .14s, -webkit-transform 0s .14s;
    -webkit-transition-timing-function: cubic-bezier(.7, 0, .3, 1);
    -o-transition-timing-function: cubic-bezier(.7, 0, .3, 1);
    transition-timing-function: cubic-bezier(.7, 0, .3, 1);
}

.rsmm-mask.show {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition-timing-function: cubic-bezier(.7, 0, .3, 1);
    -o-transition-timing-function: cubic-bezier(.7, 0, .3, 1);
    transition-timing-function: cubic-bezier(.7, 0, .3, 1);
    opacity: 1;
}
