﻿.sm {
    box-sizing: border-box;
    position: relative;
    z-index: 999;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.sm,.sm ul,.sm li {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: normal;
    direction: ltr;
    text-align: left
}

.sm-rtl,.sm-rtl ul,.sm-rtl li {
    direction: rtl;
    text-align: right
}

.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6 {
    margin: 0;
    padding: 0
}

.sm ul {
    display: none
}

.sm li,.sm a {
    position: relative;
    display: block
}

.sm a.disabled {
    cursor: default
}

.sm::after {
    content: "";
    display: block;
    height: 0;
    font: 0px/0 serif;
    clear: both;
    overflow: hidden
}

.sm *,.sm *::before,.sm *::after {
    box-sizing: inherit
}

.main-nav {
    background: var(--menu-bg);
    -webkit-border-radius: 1px;
    -moz-border-radius: 1px;
    -ms-border-radius: 1px;
    -o-border-radius: 1px;
    border-radius: 1px
}

@media(min-width: 769px) {
	.main-nav {
		max-width:1280px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 25px;
	}
}

.main-nav:after {
    clear: both;
    content: " ";
    display: block;
    height: 0;
    font: 0px/0 serif;
    overflow: hidden
}

.main-menu-btn {
	margin-top: 24px;
    margin-right: 46px;
    float: right;
    position: relative;
    display: inline-block;
    max-width: var(--gutter);
    text-indent: var(--gutter-double);
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
	padding: var(--base-size-half) var(--gutter-quarter) var(--base-size-quarter) var(--gutter-quarter)
}

.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after {
    position: absolute;
    top: 50%;
    left: 2px;
    height: 2px;
    width: 24px;
    background: var(--menu-icon-button);
    -webkit-transition: all .25s;
    transition: all .25s
}

.main-menu-btn-icon:before {
    content: "";
    top: -7px;
    left: 0
}

.main-menu-btn-icon:after {
    content: "";
    top: 7px;
    left: 0
}

#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon {
    height: 0;
    background: rgba(0,0,0,0)
}

#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:before {
    top: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:after {
    top: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

#main-menu-state {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px)
}

#main-menu-state:not(:checked)~#main-menu {
    display: none
}

#main-menu-state:checked~#main-menu {
    display: block
}

@media(min-width: 769px) {
    .main-menu-btn {
        position:absolute;
        top: -99999px
    }

    #main-menu-state:not(:checked)~#main-menu {
        display: block
    }
}

#main-menu {
    clear: both
}

@media(min-width: 769px) {
    #main-menu.justified>li {
        float:none;
        display: table-cell;
        width: 1%;
        text-align: center
    }
	.sm-clean a.active,
	.sm-clean a:hover {
		text-decoration: underline;
		text-decoration-color: var(--body-link-text-decoration-color);
    	-webkit-text-decoration-color: var(--body-link-text-decoration-color);
		text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
		webkit-transition: none;
		-moz-transition: none;
		-ms-transition: none;
		-o-transition: none;
		transition: none;
	}
}

@media screen and (min-width: 769px) {
    #main-menu>li:first-child>a {
        padding-left:0
    }
}

@media screen and (max-width: 768px) {
    .wrapper-topmenu {
        position:absolute;
        top: var(--nav-header-height);
        z-index: 99;
        left: 0;
        right: 0;
        height: 0;
        background: rgba(0,0,0,0)
    }

    #main-menu {
        width: 100%;
		padding-bottom: 5px;
		opacity: .98;
    }

    .main-menu-btn {
        top: calc(var(--base-size)*-2);
        left: var(--gutter-half)
    }

    .main-nav.menu-horizontal {
        height: 0
    }

    .main-menu-btn-text {
        color: var(--menu-icon-button)
    }
	.sm-clean a {
		padding-left: 48px !important
	}
	.sm-clean a.active, 
	.sm-clean a.active.has-submenu {
		background: var(--menu-active-bg);
		font-weight: 700
	}
	.sm-clean a.current, 
	.sm-clean ul a.active {
		background: var(--submenu-current-bg);
	}
	.sm-clean a:hover,
	.sm-clean a:active {
		background: var(--menu-hover-bg)
	}
	.sm-clean a.active.has-submenu {
		font-weight: 700
	}
}

.moremenu a b {
    line-height: 1;
    font-size: var(--font-size3)
}

.sm-clean .mega-menu.sm-nowrap li.mega-flex>a,.sm-clean .mega-menu.sm-nowrap li.mega-flex>:not(ul) a {
    white-space: normal;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto
}

.sm-clean a {
    padding: .75rem .75rem;
    padding-right: 2.75rem
}

.sm-clean a {
    color: var(--menu-link-color);
    font-family: var(--menu-font-family);
    font-size: var(--body-font-size);
    font-weight: normal;
    line-height: 1.5rem;
	letter-spacing: var(--letterspacing2);
	text-transform: uppercase;
    text-decoration: none
}
ul.sm-clean ul a {
	text-transform: none;
	letter-spacing: .03rem;
}

.sm-clean a.active {
    color: var(--menu-link-hover-color)
}

.sm-clean a.disabled {
    color: var(--gray4)
}

.sm-clean a .sub-arrow {
    position: absolute;
    top: 50%;
    margin-top: -1rem;
    left: auto;
    right: 0rem;
    width: 2rem;
    height: 2rem;
    overflow: hidden;
    font: bold var(--body-font-size)/2rem monospace !important;
    text-align: center;
    text-shadow: none;
    background: var(--collapsible-toggle-bg);
    border-radius: 2px
}

.sm-clean a .sub-arrow::before {
    content: "+";
	font-size: 180%;
	font-weight: 300
}

.sm-clean a.highlighted .sub-arrow::before {
    content: "–"
}

.sm-clean>li:last-child>a,.sm-clean>li:last-child>*:not(ul) a,.sm-clean>li:last-child>ul,.sm-clean>li:last-child>ul>li:last-child>a,.sm-clean>li:last-child>ul>li:last-child>*:not(ul) a,.sm-clean>li:last-child>ul>li:last-child>ul,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul {
    border-radius: 0 0 2px 2px
}

.sm-clean>li:last-child>a.highlighted,.sm-clean>li:last-child>*:not(ul) a.highlighted,.sm-clean>li:last-child>ul>li:last-child>a.highlighted,.sm-clean>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-clean>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted {
    border-radius: 0
}

.sm-clean li {
    border-top: 1px solid var(--collapsible-separators-color)
}

.sm-clean ul {
    background: var(--collapsible-submenu-bg)
}

.sm-clean ul a,.sm-clean ul a:hover,.sm-clean ul a:focus,.sm-clean ul a:active {
    font-size: var(--body-font-size);
    border-left: .75rem solid rgba(0,0,0,0)
}

.sm-clean a.current,
.sm-clean ul a.active {
    color: var(--submenu-link-hover-color);
	font-weight: 700
}

.sm-clean ul ul a,.sm-clean ul ul a:hover,.sm-clean ul ul a:focus,.sm-clean ul ul a:active {
    border-left: 1.5rem solid rgba(0,0,0,0)
}

.sm-clean ul ul ul a,.sm-clean ul ul ul a:hover,.sm-clean ul ul ul a:focus,.sm-clean ul ul ul a:active {
    border-left: 2.25rem solid rgba(0,0,0,0)
}

.sm-clean ul ul ul ul a,.sm-clean ul ul ul ul a:hover,.sm-clean ul ul ul ul a:focus,.sm-clean ul ul ul ul a:active {
    border-left: 3rem solid rgba(0,0,0,0)
}

.sm-clean ul ul ul ul ul a,.sm-clean ul ul ul ul ul a:hover,.sm-clean ul ul ul ul ul a:focus,.sm-clean ul ul ul ul ul a:active {
    border-left: 3.75rem solid rgba(0,0,0,0)
}

@media(min-width: 769px) {
    .sm-clean ul {
        position:absolute;
        width: 12em
    }

    .sm-clean li {
        float: left
    }

    .sm-clean.sm-rtl li {
        float: right
    }

    .sm-clean ul li,.sm-clean.sm-rtl ul li,.sm-clean.sm-vertical li {
        float: none
    }

    .sm-clean ul a,.sm-clean.sm-vertical a {
        white-space: normal
    }

    .sm-clean .sm-nowrap>li>a,
	.sm-clean .sm-nowrap>li>:not(ul) a {
        white-space: nowrap
    }

    .sm-clean a {
		font-size: calc(var(--body-font-size)*15/18);
		font-weight: 600;
        padding: .75rem .75rem
    }

    .sm-clean a.current,.sm-clean a.active {
        color: var(--menu-link-hover-color)
    }

    .sm-clean a.disabled {
        color: var(--gray4)
    }

    .sm-clean a .sub-arrow {
        width: 0;
        height: 0;
        border-width: 6px;
        border-style: solid dashed dashed dashed;
        border-color: var(--menu-arrow-color) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
        background: rgba(0,0,0,0);
        border-radius: 0;
        top: auto;
        margin-top: 0;
        bottom: 0;
        left: 50%;
        margin-left: -3px;
        right: auto;
        padding-right: 0
    }

    .sm-clean a .sub-arrow::before {
        display: none
    }

    .sm-clean li {
        border-top: 0
    }

    .sm-clean>li>ul::before,.sm-clean>li>ul::after {
        content: "";
        position: absolute;
        top: -18px;
        left: 30px;
        width: 0;
        height: 0;
        overflow: hidden;
        border-width: 9px;
        border-style: dashed dashed solid dashed;
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--desktop-submenu-border-color) rgba(0,0,0,0)
    }

    .sm-clean>li>ul::after {
        top: -16px;
        left: 31px;
        border-width: 8px;
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--submenu-bg) rgba(0,0,0,0)
    }

    .sm-clean ul {
        border: 1px solid var(--desktop-submenu-border-color);
        padding: 3px 0;
        background: var(--submenu-bg);
        border-radius: 2px !important;
        box-shadow: 0 5px 9px var(--box-shadow)
    }

    .sm-clean ul a {
        padding: .75rem .75rem
    }

    .sm-clean ul a,.sm-clean ul a:hover,.sm-clean ul a:focus,.sm-clean ul a:active,.sm-clean ul a.highlighted {
        border: 0 !important;
        color: var(--submenu-link-color)
    }

    .sm-clean ul a:hover,.sm-clean ul a:focus,.sm-clean ul a:active,.sm-clean ul a.highlighted {
        background: var(--submenu-hover-bg);
        color: var(--submenu-link-hover-color)
    }

    .sm-clean ul a.current,.sm-clean ul a.active {
        color: var(--submenu-current-hover-color);
        background: var(--submenu-current-bg)
    }

    .sm-clean ul a.disabled {
        background: var(--submenu-bg);
        color: var(--gray5)
    }

    .sm-clean ul a .sub-arrow {
        right: 8px;
        top: 50%;
        left: auto;
        margin-top: -5px;
        border-width: 5px;
        border-style: dashed dashed dashed solid;
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--menu-arrow-color)
    }

    .sm-clean .scroll-up,.sm-clean .scroll-down {
        position: absolute;
        display: none;
        visibility: hidden;
        overflow: hidden;
        background: var(--submenu-bg);
        height: 20px
    }

    .sm-clean .scroll-up:hover,.sm-clean .scroll-down:hover {
        background: var(--submenu-hover-bg)
    }

    .sm-clean .scroll-up:hover .scroll-up-arrow {
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--submenu-link-hover-color) rgba(0,0,0,0)
    }

    .sm-clean .scroll-down:hover .scroll-down-arrow {
        border-color: var(--submenu-link-hover-color) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
    }

    .sm-clean .scroll-up-arrow,.sm-clean .scroll-down-arrow {
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -6px;
        width: 0;
        height: 0;
        overflow: hidden;
        border-width: 6px;
        border-style: dashed dashed solid dashed;
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) var(--submenu-link-color) rgba(0,0,0,0)
    }

    .sm-clean .scroll-down-arrow {
        top: 8px;
        border-style: solid dashed dashed dashed;
        border-color: var(--submenu-link-color) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)
    }

    .sm-clean.sm-vertical {
        padding: .75rem 0;
        border-radius: 2px
    }

    .sm-clean.sm-vertical a {
        padding: .75rem .75rem
    }

    .sm-clean.sm-vertical a:hover,.sm-clean.sm-vertical a:focus,.sm-clean.sm-vertical a:active,.sm-clean.sm-vertical a.highlighted {
        background: var(--menu-hover-bg)
    }

    .sm-clean.sm-vertical a.disabled {
        background: var(--menu-bg)
    }

    .sm-clean.sm-vertical a .sub-arrow {
        right: 8px;
        top: 50%;
        left: auto;
        margin-top: -5px;
        border-width: 5px;
        border-style: dashed dashed dashed solid;
        border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--menu-arrow-color)
    }

    .sm-clean.sm-vertical>li>ul::before,.sm-clean.sm-vertical>li>ul::after {
        display: none
    }

    .sm-clean.sm-vertical ul a {
        padding: .75rem .75rem
    }

    .sm-clean.sm-vertical ul a:hover,.sm-clean.sm-vertical ul a:focus,.sm-clean.sm-vertical ul a:active,.sm-clean.sm-vertical ul a.highlighted {
        background: var(--submenu-hover-bg)
    }

    .sm-clean.sm-vertical ul a.disabled {
        background: var(--submenu-bg)
    }
}
