/* Mega Menu Image */

.mm-is-menu li[class^="fa-"] > a, .mm-is-menu li[class^="fa-"] > span,
.mm-is-menu li[class*=" fa-"] > a, .mm-is-menu li[class*=" fa-"] > span{
    padding: 0 10px 0 20px;
}
.mm-is-menu [class^="fa-"]:before,
.mm-is-menu [class*=" fa-"]:before{
    font-family: 'Fontawesome';
    position: absolute;
    top: 50%;
    left: 15px;
    margin-top: -12px;
}
/*
        Animations
*/
html.mm-opened .mm-page,
html.mm-opened #mm-blocker,
.mm-is-menu.mm-horizontal .mm-inner > ul
{
    -webkit-transition: none 0.4s ease;
    -moz-transition: none 0.4s ease;
    -ms-transition: none 0.4s ease;
    -o-transition: none 0.4s ease;
    transition: none 0.4s ease;
}
html.mm-opened.mm-dragging .mm-page
{
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
}
html.mm-opened.mm-dragging.mm-next .mm-menu,
html.mm-opened.mm-dragging.mm-front .mm-menu
{
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
}
html.mm-opened .mm-page,
html.mm-opened #mm-blocker
{
    /* border-color is needed to force transitionend event even if no other value changed */
    /* transform is needed to force hardware acceleration */
    -webkit-transition-property: top, right, bottom, left, margin, border, -webkit-transform;
    -moz-transition-property: top, right, bottom, left, margin, border, -moz-transform;
    -ms-transition-property: top, right, bottom, left, margin, border, -ms-transform;
    -o-transition-property: top, right, bottom, left, margin, border, -o-transform;
    transition-property: top, right, bottom, left, margin, border, transform;

    border: none solid rgba(0, 0, 0, 0);
}
html.mm-opening .mm-page,
html.mm-opening #mm-blocker
{
    border: none solid rgba(1, 1, 1, 0);
}
.mm-is-menu.mm-horizontal .mm-inner > ul
{
    -webkit-transition-property: margin-left;
    -moz-transition-property: margin-left;
    -ms-transition-property: margin-left;
    -o-transition-property: margin-left;
    transition-property: margin-left;
}

html.mm-accelerated.mm-opening .mm-page,
html.mm-accelerated.mm-opening #mm-blocker,
html.mm-accelerated .mm-is-menu.mm-horizontal .mm-inner > ul.mm-subopened
{
    -webkit-transform: translate3d( 0, 0, 1px );
    -moz-transform: translate3d( 0, 0, 1px );
    -ms-transform: translate3d( 0, 0, 1px );
    -o-transform: translate3d( 0, 0, 1px );
    transform: translate3d( 0, 0, 1px );
}

html.mm-opened .mm-page,
html.mm-opened #mm-blocker
{
    margin: 0px;
    left: 0%;
    top: 0;
}
html.mm-opening .mm-page,
html.mm-opening #mm-blocker
{
    margin: 0 0 0 -65px;
    left: 100%;
}


/*
        Menu, submenus, items
        - Sizing and positioning
*/
html.mm-opened .mm-page,
.mm-menu,
.mm-menu .mm-inner,
.mm-is-menu ul,
.mm-menu div.mm-search,
.mm-menu div.mm-search input
{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

/* html/body */
html.mm-opened,
html.mm-opened body
{
    width:  100% !important;
    height: 100% !important;
    overflow: hidden;
}
html.mm-opened body
{
    position: relative;
}

/* menu */
.mm-menu
{
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    overflow: hidden;
}
.mm-menu.mm-opened
{
    display: block;
    overflow: scroll;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.mm-menu.mm-opened ~ .mm-menu.mm-opened
{
    display: none;
}
.mm-inner
{
    width: 100%;
    height: 100%;
    padding: 0;
}

/* ul/li */
.mm-is-menu ul,
.mm-is-menu li
{
    list-style: none;
    display: block;
    padding: 0;
    margin: 0;
}
.mm-is-menu li
{
    position: relative;
}
.mm-is-menu li:after
{
    content: '';
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
}

.mm-is-menu .mm-inner > ul
{
    width: 100%;
    padding: 0px 0 40px 0;
}

/* items */
.mm-is-menu li > a,
.mm-is-menu li > span
{
    text-indent: 20px;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 40px;
    overflow: hidden;
    display: block;
    padding: 0 10px 0 0;
    margin: 0;
}


/* subopen/close */
.mm-menu a.mm-subopen
{
    width: 40px;
    height: 40px;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}
.mm-menu a.mm-subopen:before
{
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
}
.mm-menu a.mm-subopen.mm-fullsubopen
{
    border-left: none;
    width: 100%;
}
.mm-menu a.mm-subopen.mm-fullsubopen:before
{
    border-left: none;
}
.mm-menu a.mm-subclose
{
    text-indent: 40px;
    padding-top: 20px;
    margin-top: -20px;
}
.mm-menu a.mm-subopen + a,
.mm-menu a.mm-subopen + span
{
    padding-right: 45px;
}

/* page + blocker */
html.mm-opened .mm-page
{
    height: 100%;
    overflow: hidden;
    position: absolute;
}
html.mm-background .mm-page
{
    background: inherit;
}
#mm-blocker
{
    background: #fff;
    opacity: 0;
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 9999;
}
html.mm-opened #mm-blocker,
html.mm-blocking #mm-blocker
{
    display: block;
}

/* vertical submenu */
.mm-menu.mm-vertical ul ul
{
    display: none;
    padding: 10px 0 10px 10px;
}
.mm-menu.mm-vertical li.mm-opened > ul
{
    display: block;
}
.mm-menu.mm-vertical ul ul li:last-child,
.mm-menu.mm-vertical ul ul li:last-child:after
{
    border-bottom-width: 0;
}
.mm-menu.mm-vertical li.mm-selected > a.mm-subopen + a,
.mm-menu.mm-vertical li.mm-selected > a.mm-subopen + span
{
    padding-right: 5px;
    margin-right: 40px;
}
.mm-menu.mm-vertical li.mm-selected > em.mm-counter + a.mm-subopen + a,
.mm-menu.mm-vertical li.mm-selected > em.mm-counter + a.mm-subopen + span
{
    margin-right: 75px;
}

/* horizontal submenu */
.mm-menu.mm-horizontal .mm-inner
{
    white-space: nowrap;
}
.mm-menu.mm-horizontal ul
{
    vertical-align: top;
    margin-left: 0%;
}
.mm-menu.mm-horizontal ul.mm-submenu
{
    display: none;
}
.mm-menu.mm-horizontal ul,
.mm-menu.mm-horizontal ul.mm-submenu.mm-opened
{
    display: inline-block;
}
.mm-menu.mm-horizontal ul.mm-subopened
{
    margin-left: -100%;
    max-height: 100%;
    overflow: hidden;
}


/*
        Menu, submenus, items
        - Styling (default: dark background)
*/
.mm-is-menu
{
    background: #333;
    display: none;
}
.mm-is-menu *
{
    -webkit-text-size-adjust: none;
    text-shadow: 0 1px 2px rgba( 0, 0, 0, 0.3 );
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
}
.mm-is-menu li
{
    border-bottom: 1px solid rgba( 255, 255, 255, 0.1 );
}
.mm-is-menu li:after
{
    border-bottom: 1px solid rgba( 0, 0, 0, 0.4 );
}

.mm-is-menu li,
.mm-is-menu li > a,
.mm-is-menu li > span
{
    color: rgba( 255, 255, 255, 0.5 );
    text-decoration: none;
}
.mm-menu li.mm-selected > a,
.mm-menu li.mm-selected > span
{
    background: rgba( 0, 0, 0, 0.2 );
}
.mm-menu li.mm-selected > a.mm-subopen
{
    background: transparent;
}

/* subopen/close */
.mm-menu a.mm-subopen
{
    border-left: 1px solid rgba( 255, 255, 255, 0.1 );
}
.mm-menu a.mm-subopen:before
{
    border-left: 1px solid rgba( 0, 0, 0, 0.4 );
}
.mm-menu a.mm-subclose
{
    background: rgba( 0, 0, 0, 0.2 );
}

/* vertical submenu */
.mm-menu.mm-vertical li.mm-opened > a.mm-subopen,
.mm-menu.mm-vertical li.mm-opened > ul
{
    background: rgba( 255, 255, 255, 0.06 );
}

/* page + blocker */
html.mm-opened .mm-page
{
    box-shadow: 0 0 20px rgba( 0, 0, 0, 0.8 );
}


/*
        Labels
        - Sizing and positioning
*/
.mm-menu li.mm-label
{
    text-transform: uppercase;
    text-indent: 20px;
    line-height: 25px;
}


/*
        Labels
        - Styling
*/
.mm-menu li.mm-label
{
    background: rgba( 255, 255, 255, 0.1 );
    font-size: 11px;
    color: rgba( 255, 255, 255, 0.5 );
}


/*
        Counters
        - Sizing and positioning
*/
.mm-menu em.mm-counter
{
    text-indent: 0;
    text-align: center;
    text-shadow: none;
    line-height: 22px;
    display: block;
    min-width: 16px;
    height: 20px;
    padding: 0 2px;
    position: absolute;
    right: 40px;
    top: 10px;
}
.mm-menu em.mm-counter + a.mm-subopen
{
    padding-left: 35px;
}
.mm-menu em.mm-counter + a.mm-subopen + a,
.mm-menu em.mm-counter + a.mm-subopen + span
{
    padding-right: 80px;
}


/*
        Counters
        - Styling
*/
.mm-menu em.mm-counter
{
    border-radius: 5px;
    background: rgba( 255, 255, 255, 0.1 );
    box-shadow: 0 0 2px rgba( 0, 0, 0, 0.3 );
    font-size: 11px;
    font-style: normal;
    color: rgba( 255, 255, 255, 0.4 );
}


/*
        Arrows
        - Sizing and positioning
*/
.mm-menu a.mm-subopen:after,
.mm-menu a.mm-subclose:before
{
    content: '';
    border-width: 2px;
    border-style: solid;
    display: block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;

    -webkit-transform: rotate( -45deg );
    -moz-transform: rotate( -45deg );
    -ms-transform: rotate( -45deg );
    -o-transform: rotate( -45deg );
    transform: rotate( -45deg );
}
.mm-menu a.mm-subopen:after
{
    border-top: none;
    border-left: none;
    margin-top: -4px;
    right: 16px;
}
.mm-menu a.mm-subclose:before
{
    border-right: none;
    border-bottom: none;
    margin-top: 4px;
    left: 20px;
}


/*
        Arrows
        - Styling
*/
.mm-menu a.mm-subopen:after,
.mm-menu a.mm-subclose:before
{
    border-color: rgba( 255, 255, 255, 0.3 );
}


/*
        Search
        - Sizing and positioning
*/
.mm-menu div.mm-search
{
    width: 100%;
    height: 50px;
    padding: 10px;
    position: relative;
    z-index: 1;
}

.mm-menu div.mm-search input
{
    border: none;
    border-radius: 15px;
    line-height: 30px;
    outline: none;
    display: block;
    width: 100%;
    height: 30px;
    margin: 0;
    padding: 0 0 0 10px;
}
.mm-menu li.mm-noresults
{
    border: none;
    display: none;
    padding-top: 30px;
}
.mm-menu li.mm-noresults:after
{
    border: none;
}
.mm-menu.mm-noresults li.mm-noresults
{
    display: block;
}

.mm-menu .mm-noresult,
.mm-menu .mm-nosubresult > a.mm-subopen,
.mm-menu .mm-nosubresult > em.mm-counter
{
    display: none;
}
.mm-menu .mm-nosubresult > a.mm-subopen + a, 
.mm-menu .mm-nosubresult > a.mm-subopen + span
{
    padding-right: 5px;
}


/*
        Search
        - Styling
*/
.mm-menu div.mm-search
{
    background: rgba( 0, 0, 0, 0.2 );
    border-bottom: 1px solid rgba( 255, 255, 255, 0.1 );
}
.mm-menu div.mm-search input
{
    background: rgba( 255, 255, 255, 0.3 );
    color: rgba( 255, 255, 255, 0.9 );
}

.mm-menu div.mm-search input::-webkit-input-placeholder {
    color: rgba( 255, 255, 255, 0.9 );
}
.mm-menu div.mm-search input:-moz-placeholder { /* Firefox 18- */
    color: rgba( 255, 255, 255, 0.9 );
}
.mm-menu div.mm-search input::-moz-placeholder {  /* Firefox 19+ */
    color: rgba( 255, 255, 255, 0.9 );
}
.mm-menu div.mm-search input:-ms-input-placeholder {  
    color: rgba( 255, 255, 255, 0.9 );
}

.mm-menu li.mm-noresults
{
    color: rgba( 255, 255, 255, 0.4 );
    text-align: center;
}


/*
        Bugfix for browsers without support for overflowscrolling
                - Android < 3
*/
html.mm-no-overflowscrolling.mm-opened,
html.mm-no-overflowscrolling.mm-opened body
{
    overflow: visible;
}
html.mm-no-overflowscrolling.mm-opened body
{
    overflow-x: hidden;
}
html.mm-no-overflowscrolling.mm-opened .mm-page
{
    min-height: 200%;
    position: fixed;
    top: 0;
    z-index: 3;
}
html.mm-no-overflowscrolling .mm-menu
{
    height: auto;
    min-height: 100%;
    overflow: default;
    overflow-x: default;
    overflow-y: default;
    position: relative;
    left: auto;
    top: auto;
}


/*
        Bugfix for browsers with "scrolling" addressbar
                - mobiel safari on iPhone and iPod
*/
html.mm-iphone-addressbar.mm-opened body
{
    padding-bottom: 60px;
}


/*
        Sizing and positioning for larger screens
*/
@media all and (min-width: 500px) {

    .mm-menu
    {
        width: 300px;
    }
    html.mm-opening .mm-page,
    html.mm-opening #mm-blocker
    {
        left: 300px;
    }
}


.mm-menu.mm-right {
    left: auto;
    right: 0; }

html.mm-right.mm-opened .mm-page,
html.mm-right.mm-opened #mm-blocker,
html.mm-right.mm-opened .mm-fixed-top,
html.mm-right.mm-opened .mm-fixed-bottom {
    left: auto;
    right: 0%; }

html.mm-right.mm-opened.mm-opening .mm-page,
html.mm-right.mm-opened.mm-opening #mm-blocker,
html.mm-right.mm-opened.mm-opening .mm-fixed-top,
html.mm-right.mm-opened.mm-opening .mm-fixed-bottom {
    left: auto; }


.mm-menu.mm-right {
    width: 80%; }

html.mm-right.mm-opened.mm-opening .mm-page,
html.mm-right.mm-opened.mm-opening #mm-blocker,
html.mm-right.mm-opened.mm-opening .mm-fixed-top,
html.mm-right.mm-opened.mm-opening .mm-fixed-bottom {
    right: 80%; }

@media all and (max-width: 175px) {
    .mm-menu.mm-right {
        width: 140px; }

    html.mm-right.mm-opened.mm-opening .mm-page,
    html.mm-right.mm-opened.mm-opening #mm-blocker,
    html.mm-right.mm-opened.mm-opening .mm-fixed-top,
    html.mm-right.mm-opened.mm-opening .mm-fixed-bottom {
        right: 140px; } }
@media all and (min-width: 550px) {
    .mm-menu.mm-right {
        width: 300px; }

    html.mm-right.mm-opened.mm-opening .mm-page,
    html.mm-right.mm-opened.mm-opening #mm-blocker,
    html.mm-right.mm-opened.mm-opening .mm-fixed-top,
    html.mm-right.mm-opened.mm-opening .mm-fixed-bottom {
        right: 300px; } }