.ftAccordionMenu {
    max-width: 65vw;
    margin: 0 auto;
}

.menuPreviewContainer .ftAccordionMenu {
    max-width: 100%;
}

.ftAccordionMenu, .ftAccordionMenuSubMenu, .ftAccordionMenu li {
        list-style: none;
    }

.ftAccordionMenuSubMenu {
    font-family: "Roboto Slab", "RobotoSlabLocal", serif;
    background: #fff;
}

.ftAccordionMenu > .ftAccordionMenuListItem > .ftAccordionMenuSubMenu {
    padding: 10px 0;
}

.ftAccordionMenu > .ftAccordionMenuListItem {
    margin: 20px 0;
    min-height: 44.121px;
}

.ftAccordionMenu > .ftAccordionMenuListItem:hover, 
.ftAccordionMenu > .ftAccordionMenuListItem:focus, 
.ftAccordionMenu > .ftAccordionMenuListItem:visited, 
.ftAccordionMenu > .ftAccordionMenuListItem:active {
    outline: none !important;
}

.ftAccordionMenuListItem {
    position: relative;
}

.ftAccordionMenuSubMenu .ftAccordionMenuListItem {
    border: none;
}

.ftAccordionMenuLastListItem {
    border-bottom: none;
}

.ftAccordionMenuListItem div.listItem {
    line-height: 16px;
    padding: 4px 5px;
}

.ftAccordionMenuListItem div.lvl0 a,
.ftAccordionMenuListItem div.ftMenuLinkHeader a {
    text-decoration: none;
}

.ftAccordionMenuListItem div.lvl0,
.ftAccordionMenuListItem div.ftMenuLinkHeader {
    text-decoration: none;
}

.ftAccordionMenuSubMenu div a {
    font-family: "Roboto Slab", "RobotoSlabLocal", serif;
}

.ftAccordionMenu div.lvl0 a:hover,
.ftAccordionMenu .ftMenuLinkHeader a:hover {
    text-decoration: underline !important;
}

.ftAccordionMenu div.paddedHeader {
    padding-right: 30px;
}

.ftAccordionMenu div.ftAccordionRootNode {
    color: #FFFFFF;
    padding: 10px 15px;
    cursor: pointer;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid #ddd;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear;
    font-family: 'Roboto Slab', 'RobotoSlabLocal', serif;
    font-size: 2rem;
    background: grey;
    border-radius: 8px;
    min-height: 44.121px;
    word-wrap:break-word;
}

.ftAccordionMenu div.ftAccordionRootNode.ftAccordionMenuExpandedItem {
    border-radius: 8px 8px 0 0;
}

.ftAccordionMenu div.ftAccordionRootNode ~ .htmlSection {
    padding: 20px;
    padding: 40px 10.5rem;
    border: 1px solid #C6CCD0;
}

.ftAccordionMenu div.ftAccordionRootNode ~ .htmlSection p {
    line-height: 1.9rem;
}

.ftAccordionMenu div.ftAccordionRootNode a {
    color: #FFFFFF;
}

.ftAccordionMenu div.ftAccordionRootNode > div[class^="lvl"] {
    overflow: hidden;
    white-space:normal;
    padding-right: 12px;
}

.ftAccordionMenu div.lvl0 {
    font-size: 2rem;
    font-weight: 700;
    overflow: hidden;
    line-height: initial;
}

.ftAccordionMenu div.lvl1 { padding-left: 15px; }
.ftAccordionMenu div.lvl2 { padding-left: 30px; }
.ftAccordionMenu div.lvl3 { padding-left: 45px; }
.ftAccordionMenu div.lvl4 { padding-left: 60px; }
.ftAccordionMenu div.lvl5 { padding-left: 75px; }

.ftMenuLinkHeader {
    font-size: 12px;
    font-weight: bold;
    overflow: hidden;
    font-family: "Roboto Slab", "RobotoSlabLocal", serif;
}

.ftMenuLinkDetail {
    color: #666666;
    font-size: 10px;
    font-weight: normal;
    font-family: "Roboto Slab", "RobotoSlabLocal", serif;
    text-transform: none;
}

.htmlSection {
    background: #fff;
    max-height: 400px;
    overflow: auto;
}

.ftAccordionMenuCollapsed {
    position: absolute;
    top: -5px;
    right: 10px;
    color: #fff;
}

.ftAccordionMenuCollapsed::after {
    content: '+';
    font-size: 3rem;
    font-weight: 900;
}

.ftAccordionMenuCollapsed.ftAccordionMenuExpanded {
    top: -35px;
}

.ftAccordionMenuCollapsed.ftAccordionMenuExpanded::after{
    content: '_';
    font-size: 60px;
}

@media screen and (max-width: 1440px) {
    .ftAccordionMenu {
        max-width: 90vw;
    }
}

@media screen and (max-width: 930px) {
    .ftAccordionMenu div.ftAccordionRootNode ~ .htmlSection {
        padding: 40px 5.5rem;
    }

    .ftAccordionMenu div.lvl0 {
        font-size: 1.2rem;
    }

    .ftAccordionMenuCollapsed::after {
        font-size: 38px;
    }

    .ftAccordionMenuCollapsed.ftAccordionMenuExpanded {
        top: -30px;
    }

    .ftAccordionMenuCollapsed.ftAccordionMenuExpanded::after{
        font-size: 48px;
    }
}

@media screen and (max-width: 730px) {
    .ftAccordionMenu div.ftAccordionRootNode ~ .htmlSection {
        padding: 40px 1.5rem;
    }
}

@media screen and (max-width: 510px) {
    .ftAccordionMenu {
        max-width: 95vw;
    }
}

@media screen and (max-width: 420px) {
    .ftAccordionMenu div.lvl0 {
        font-size: 1.50rem;
    }

    .ftAccordionMenuCollapsed::after {
        font-size: 40px;
    }
}

