/*  
---------------------------------------------------
Sub Navigation
---------------------------------------------------  
*/

nav.sub { 
    border-width: var(--base-border-width) 0 0; border-style: solid; 
    border-color: rgba(var(--base-borders), 1);
    padding-top: var(--base-half-spacing);
    margin-bottom: var(--base-spacing);
}

nav.sub > p.heading {
    padding: 0 0 10px;
    color: rgba(var(--base-heading), 1);
}

nav.sub > p.heading a { 
    color: rgba(var(--base-heading), 1);
}

nav.sub > ul { 
}

nav.sub ul li { 
    position:relative;
    padding:3px 0;
}

nav.sub ul li span { 
    position:relative;
    display:block;
}

html[dir="ltr"] nav.sub ul li.has-child > span {
	padding-right: 30px;
}

html[dir="rtl"] nav.sub ul li.has-child > span {
	padding-left: 30px;
}

nav.sub ul li span a { 
    display:block;
    color: rgba(var(--base-link), 1);
    transition:all 0.2s ease-in-out 0s;
}

nav.sub ul > li.active > span > a { 
    color: rgba(var(--base-heading), 1);
    opacity:0.6;
}

html.no-touch nav.sub ul li:not(.active) span a:hover { 
    padding-left:3px;
}
html.no-touch nav.sub ul li:not(.active) span a:hover,
nav.sub ul li:not(.active) span a:focus,
nav.sub ul li:not(.active) span a:active { 
    color: rgba(var(--base-link-hover), 1);
}


/* Levels */
nav.sub ul li:not(.active):not(.open-child) ul {
    padding: 5px 0 2px;
}
nav.sub ul ul ul {
    padding-left: 12px;
}
nav.sub ul ul li {
    padding:3px 0;
}
nav.sub ul ul li span a { 
    padding-left:12px;
}
html.no-touch nav.sub ul ul li:not(.active) span a:hover { 
    padding-left:15px;
}
nav.sub ul ul li span a::before { 
    content:"";
    position:absolute; top:11px; left:0;
    width:5px; height:var(--base-border-width);
    background-color: rgba(var(--base-borders), 1);
    transition:all 0.2s ease-in-out 0s;
}
html.no-touch nav.sub ul ul li:not(.active) span a:hover::before { 
    width:8px;
    background-color: rgba(var(--base-borders), 0.2);
}
nav.sub ul ul li.active span a::before { 
    background-color: rgba(var(--base-heading), 1);
}


/*  
---------------------------------------------------
Expand subpages
---------------------------------------------------  
*/

nav.sub ul li .expand-subpages { 
    position: absolute; top:5px; 
    width: 24px; height: 100%; max-height: 24px;
    background: transparent;
    border: var(--base-border-width) solid rgba(var(--base-borders), 1);
}
html[dir="ltr"] nav.sub ul li .expand-subpages {
    right: 0;
}
nav.sub ul li .expand-subpages > span { 
    display: none;
}

nav.sub ul li .expand-subpages::after {
    content:"";
    position: absolute; top: 50%; left: 50%; 
    color: rgba(var(--base-link), 1);
    transform: translate(-50%,-50%);
}
nav.sub ul li:not(.open-child) > .expand-subpages::after {
    color: rgba(var(--base-link-hover), 1);
}
nav .sub ul li.open-child > .expand-subpages::after {
    color: rgba(var(--base-heading), 1);
    opacity: 0.6;
}

nav.sub ul li:not(.active):not(.open-child) ul {
    display: none;
    padding: 5px 0 2px;
}

nav.sub ul li.active ul,
nav.sub ul li.open-child ul {
    display: block;
}

nav.sub ul li.active:not(.open-child) ul {
    display: none;
}


/*  
---------------------------------------------------
In this section
---------------------------------------------------  
*/

.in-this-section {
    position: relative; 
    border: var(--base-border-width) solid rgba(var(--base-borders), 1);
    margin-bottom:var(--base-spacing);
    border-radius: var(--base-border-radius);
}

.in-this-section > .expand-sub { 
    position: relative; 
    cursor: pointer;
    width:100%;
    padding:var(--base-half-spacing);
    margin:0;
    color: rgba(var(--base-heading), 1);
    font-weight: var(--p-heading-typography_font-weight);
    text-align:left;
    border:0 none; background:none;
}

html[dir="ltr"] .in-this-section > .expand-sub {
	text-align: left;
}

html[dir="rtl"] .in-this-section > .expand-sub {
	text-align: right;
}

.in-this-section > .expand-sub > i {
	position: relative;
	top: 2px;
	float: right;
	color: rgba(var(--base-highlight), 1);
	transition: all 0.25s ease-in-out 0s;
}

.in-this-section > .expand-sub.active > i { 
    transform: rotate(45deg);
}

.in-this-section > nav.sub { 
    margin:0; 
    padding:var(--base-half-spacing);
}

.in-this-section > nav.sub > .heading { 
    margin-top:0;
}

.in-this-section > nav.sub:not(.open) { 
    display:none;
}
