﻿.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;
	margin-left: 40px;
}

.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
    }
}

.main-nav:after {
    clear: both;
    content: " ";
    display: block;
    height: 0;
    font: 0px/0 serif;
    overflow: hidden
}

.main-menu-btn {
    position: absolute;
    display: inline-block;
    max-width: calc(var(--gutter)*2);
    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: 4px;
    width: 40px;
    background: var(--menu-icon-button);
    -webkit-transition: all .25s;
    transition: all .25s
}

.main-menu-btn-icon:before {
    content: "";
    top: -12px;
    left: 0
}

.main-menu-btn-icon:after {
    content: "";
    top: 12px;
    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
    }
}

.wrapper-topmenu {
    background: var(--menu-bg-100vw)
}

@media screen and (min-width: 769px) {
    #main-menu>li:first-child>a {
        padding-left:0
    }
}

@media(min-width: 769px)and (max-width: 1296px) {
    #main-menu {
        padding-left:var(--gutter);
        padding-right: var(--gutter)
    }
}

@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%
    }

    .main-menu-btn {
        top: 14px;
        right: 79px;
    }

    .sm {
        top: 72px;
		padding: calc(var(--base-size)*2) calc(var(--gutter)*3) var(--base-size) calc(var(--gutter)*2);
    }

    .main-nav.menu-horizontal {
        height: 0
    }

    .main-menu-btn-text {
        color: var(--menu-icon-button)
    }
	
	.sm-clean > li {
		border-top: 2px solid white
	}
	.sm-clean > li:last-child {
		border-bottom: 2px solid white
	}
	a.has-submenu,
	.has-submenu + ul li {
		border-bottom: 2px solid rgba(255, 255, 255, 0.5);
		margin-bottom: -1px
	}
}
@media screen and (max-width: 480px) {
    .main-menu-btn {
        right: 12px;
    }
	.sm {
        padding: 24px;
    }
}
@media screen and (min-width: 481px) and (max-width: 600px) {
    .main-menu-btn {
        right: 40px;
    }
}


.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 {
    background: var(--menu-bg)
}

.sm-clean a {
    padding: 1rem;
    padding-right: 4rem
}

.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;
    text-decoration: none
}

.sm-clean a:hover,.sm-clean a:focus,.sm-clean a:active {
    color: var(--menu-link-hover-color)
}

.sm-clean a:hover,.sm-clean a:focus,.sm-clean a:active,.sm-clean a.highlighted {
    color: var(--menu-link-hover-color)
}

.sm-clean a.current,.sm-clean a.active {
    color: var(--menu-link-hover-color);
    background: var(--menu-current-bg)
}

.sm-clean a.disabled {
    color: var(--gray4)
}

.sm-clean a .sub-arrow::before {
    position: absolute;
    right: var(--gutter);
    top: 1rem;
	overflow: hidden;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: var(--font-size2);
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition);
}

.sm-clean a .sub-arrow::before {
    content: "";
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
    transform: rotate(180deg)
}

.sm-clean a.highlighted .sub-arrow::before {
    content: "";
	-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
    transform: rotate(0deg)

}


.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)
}

.sm-clean ul a.current,.sm-clean ul a.active {
    color: var(--submenu-link-hover-color);
    background: var(--submenu-current-bg)
}

.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;
		margin-left: 0;
    }
    .sm-clean ul[aria-hidden=false] {
        display: grid !important;
		grid-template-columns: repeat(2, 1fr);
        width: 500px !important;
		margin-left: calc(var(--gutter)*-1) !important;
    }
    .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 a {
        white-space: nowrap
    }
	.sm ul a::after {
		content: ' →';
		white-space: nowrap;
	}
    .sm-clean ul a, 
	.sm-clean ul a:hover, 
	.sm-clean.sm-vertical a {
        white-space: normal;
		font-size: 90%
    }

    .sm-clean .sm-nowrap>li>a,.sm-clean .sm-nowrap>li>:not(ul) a {
        white-space: nowrap
    }

    .sm-clean {
        padding: 0 0;
        background: transparent;
        border-radius: 0
    }

    .sm-clean a {
        padding: 1rem 1.25rem
    }

    .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 {
		position: absolute;
        width: 0;
        height: 0;
        border-width: 7px;
        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);
        top: 45%;
        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 {
        display: none;
		
		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
    }

    .sm-clean ul {
        padding: 3px 0 var(--base-size);
        background: var(--submenu-bg);
    }

    .sm-clean ul a {
        padding: .3rem 1.5rem
    }

    .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.current {
        text-decoration:underline
    }
	
    .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)
    }
}


@media(min-width: 1025px) {
    #main-menu-state:not(:checked)~#main-menu {
        top: -42px;
        display: flex;
        justify-content: flex-end;
    }
}