SITE CODE INJECTIONS


HEADER

<style>
/* DOCSLAB THEME ONLY */    
body {
   background-color: #000 !important;
   background: url(https://fisher.1namespace.com/content/images/2023/03/back-1.gif) repeat-x;
}

.menu-wrapper {
    flex-direction: column;
    text-align: center;
    margin: 0 auto;
}
    
@media screen and (max-width: 1080px) and (min-width: 992px) {
.center-menu {
    margin: 0;
    }
}
    
@media screen and (max-width: 991px) {
#nav {
    position: absolute;
    top: 100%;
    background-color: #000;
    }
}
    
@media screen and (max-width: 575px) {
.mobile-menu-bar {
    margin: 0;
    }
}
    
.post-content, .post-content-footer {
    background: #26262c;
    padding: 20px;
    border-radius: 5px;
}
    
.header-area,
.hero-section,
.promo-section,
.footer-section,
.copy-right-section,
.bg-promo-section .promo-section {
    background:transparent;
}

.logo {
    max-width: 250px;
    text-align: center;
    margin: 0 auto;
}
    
.post-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
    
.single-tag-box {
    padding: 0;
    height: 100%;
    transition: background-color .3s ease-in-out;
}

.hero-section,
.promo-section,
.sidebar-docs,
.promo-icon,
.breadcrumbs-section,
.tag-details,
.footer-section {
    display: none !important;
}
    
@media (min-width: 992px) {
.col-lg-4 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
    }
}
    
</style>

<style>
/* UNIVERSAL TO ALL THEMES */
.post-author-meta,
.post-card-meta,
.post-content-footer {
    display: none !important;
}
    
div.gh-content.gh-canvas p img {
    margin: 0 auto;
}
</style>


<style>
/* mega menu */
li.menu-item-has-children {
    position: relative;
    padding-right: 20px!important;
    display: inline-block;
}
    
.center-menu ul li a,    
li.menu-item-has-children a {
    font-family: Tahoma !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase !important;
    line-height: 20px;
}
    
.menu-item-has-children svg {
    position: absolute;
    right: -6px;
    top: 56%;
    transform: translate(-0%, -50%) scale(1);
    display: none;
}

ul.ghost-submenu {
    background: #fff;
    color: #000;
    padding: 0;
    border-radius: 5px;
    width: 180px;
    max-width: 180px;
    position: absolute;
    visibility: hidden;
    z-index: 1;
    opacity: 0;
    top: 24px;
    transition: 0.3s;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 14%);
  /*  left: 0; */
}

li.menu-item-has-children:hover ul.ghost-submenu {
    visibility: visible!important;
    opacity: 1!important;
    top: 24px!important;
}

ul.ghost-submenu li {
    list-style: none;
    padding: 0;
}

    /*
ul li {
    opacity: 0;
}
    */

li.nav-item.menu-item-has-children.menu-item-has-megamenu ul.ghost-submenu {
    width: 100vh;
}
</style>

<style>
   
    /*
.center-menu ul li a {
    font-size: 14px;
    line-height: 20px;
}
    */

    
a.nav-about-fcg-has_child {
    border-bottom:4px solid #337e8b !important;
}
    
ul.ghost-submenu a.nav-our-clients-subitem,
ul.ghost-submenu a.nav-client-testimonials-subitem,
ul.ghost-submenu a.nav-contact-us-subitem {
    background: #337e8b;
    color: #fff;
    min-width: 180px;
    text-align: left;
    padding: 0 10px;
    font-size: 10px !important;
    font-weight: 400 !important;
}
    
a.nav-our-expertise-has_child {
    border-bottom:4px solid #ff9000 !important;
}
ul.ghost-submenu a.nav-assessments-subitem,
ul.ghost-submenu a.nav-services-products-subitem,
ul.ghost-submenu a.nav-how-we-work-subitem,
ul.ghost-submenu a.nav-quotes-subitem {
    background: #ff9000;
    color: #fff;
    min-width: 180px;
    text-align: left;
    padding: 0 10px;
    font-size: 10px !important;
    font-weight: 400 !important;
}    
    
a.nav-corporate-culture-has_child {
    border-bottom:4px solid #8bc800 !important;
}
ul.ghost-submenu a.nav-like-it-or-not-culture-matters-subitem,
ul.ghost-submenu a.nav-the-denison-culture-model-subitem,
ul.ghost-submenu a.nav-linking-culture-with-performance-subitem,
ul.ghost-submenu a.nav-self-assessments-subitem {
    background: #8bc800;
    color: #fff;
    min-width: 180px;
    text-align: left;
    padding: 0 10px;
    font-size: 10px !important;
    font-weight: 400 !important;
}       

a.nav-articles-publications-has_child {
    border-bottom:4px solid #c6007d !important;
}
ul.ghost-submenu a.nav-conference-presentations-subitem,
ul.ghost-submenu a.nav-conference-organizers-subitem {
    background: #c6007d;
    color: #fff;
    min-width: 180px;
    text-align: left;
    padding: 0 10px;
    font-size: 10px !important;
    font-weight: 400 !important;
}   
    
</style>

FOOTER

<script>
    
(function ($) {
    "use strict";

    function multiLevel(targetElement = "ul li", mLhasSubmenu = "mL-has-submenu", mLsubmenu = "mL-submenu") {
        let mLparentDetecttext = "[-]";
        let mLchildDetectText = "[--]";
        let mLdomArrayElement = [];
        let mLparentIndex = [];
        let mLparentLen = 0;

        // Find Dropdown parent element
        $(`${targetElement} li`).each(function (index, element) {
            if ($(this).text().includes(mLparentDetecttext)) {
                mLparentIndex.push(index); // Make dropdown parent array index
                mLparentLen++;

                $(this).push(element);
                if (!$(this).hasClass('menu-item-has-children')) {
                    $(this).addClass(mLhasSubmenu); // Add claas in dropdown   element
                }
                $(this).append(`<ul class="${mLsubmenu}"></ul>`); // Append submenu element
            }
        });



        let elIndex;
        // Code last multilevel 
        let lastMlElementText = $(`.${mLhasSubmenu}`).last().text();
        // console.log(lastMlElement);

        // Using loop to reach dropdown parent element
        for (let i = 0; i < mLparentLen; i++) {

            elIndex = 0 // Initial elemet value

            // Find subitem element
            $(`${targetElement} li`).each(function (index, element) {
                let mLsubitem = $(this).text().includes(mLchildDetectText); // Find subitem element


                if (mLsubitem) {

                    if (elIndex + 1 >= mLparentIndex[i + 1] + 1) { // Each loop will be break
                        return false; //Stoped each loop 
                    }

                    if (elIndex <= mLparentIndex[i + 1] || elIndex >= mLparentIndex[mLparentIndex.length - 1]) {

                        if (!mLparentIndex.includes(index)) { //Check if not index already insert 
                            mLdomArrayElement.push(element); // Incert subitem element in dom array
                            mLparentIndex.push(index); // incert subitem index in indexPush array
                        }
                    }

                }
                elIndex++; // increase element index value
            });


            $(`.${mLhasSubmenu} ul.${mLsubmenu}:eq(${i})`).append(mLdomArrayElement); // Append related subitem dom element into submenu 

            mLdomArrayElement = []; // Make dom array element empty. 
        }

        let lastMlElementIndex = 0; // Find subitem element
        let lastChildIndex = 0, lastChildElementText;


        $(`${targetElement} li`).each(function (index, element) {
            let lastMlElement = $(this).text().includes(lastMlElementText); // Find subitem element

            if (lastMlElement) {
                if (!$(this).hasClass('mLlastPrentElement')) {
                    $(this).addClass('mLlastPrentElement');
                    lastChildElementText = $(this).parent().children('li').last().text();
                    lastMlElementIndex = index;
                }

            }

            if ($(this).text().includes(lastChildElementText)) {
                lastChildIndex = index;
            }

            if (lastMlElementIndex < index && lastMlElementIndex > 0) {
                $(this).addClass('mLlastChildElements');
                $(".mLlastPrentElement ul").append($(`.mLlastChildElements`));
                if (lastChildIndex == index) {
                    return false;
                }
            }
        });

        remove_text(mLhasSubmenu, mLparentDetecttext);
        remove_text('subitem', mLchildDetectText);

    }

    function remove_text(textClass, replacedText) {

        const mLhasSubmenuEL = $(`.${textClass}`);
        mLhasSubmenuEL.each(function () {
            if ($(this).find("> a:first").text().includes(replacedText)) {
                let textFull = $(this).find("> a:first").text(); // Find has child inner text
                $(this).find("> a:first").text(textFull.replaceAll(replacedText, ""));
            }
        });
    }


    function megamenu(hasMegaMenuClasses = "menu-item-has-megamenu", col = 3, item_slice = 4, hasMegaMenuDetectText = "[has_megamenu]", submenuUlClasses = "ghost-submenu") {
        let megaMenuEl = $(`.${hasMegaMenuClasses} li`);
        $(`.${hasMegaMenuClasses} .${submenuUlClasses}`).addClass('row');
        let titleText = [];
        let titleIndex = 0;
        megaMenuEl.each(function (index, element) {
            if ($(this).text().includes("[title]")) {
                titleIndex++;
                $(this).addClass("megamenu-title");
                titleText.push($(this).text())
                $(".megamenu-title").empty();
            }
        });

        for (let i = 0; i < megaMenuEl.length; i += item_slice) {
            megaMenuEl.slice(i, i + item_slice).wrapAll(`<div class='col-md-${col}'></div>`);
            // console.log(titleText[i]);
            // console.log(titleText);
        }

        for (let i = 0; i < titleText.length; i++) {
            $(`.${submenuUlClasses} > div:eq(${i})`).prepend(`<h6 class="megamenu-title-text text-danger">${titleText[i]}</h6>`);
            $(".megamenu-title-text").text(titleText[i].replaceAll("[title]", ""));
        }
        remove_text(hasMegaMenuClasses, hasMegaMenuDetectText);
    }

    function ghost_dropdown(options) {

        // Default options
        let defultOptions = {
            targetElement: "nav.ul li",
            hasChildrenClasses: "menu-item-has-children",
            hasChildDetectText: "[has_child]",
            hasChildrenIcon: "<svg width='19' height='10' viewBox='0 0 19 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.74805 1.52002L9.54883 9.00002L17.3496 1.52002' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>",
            hasMegaMenuDetectText: "[has_megamenu]",
            hasMegaMenuClasses: "menu-item-has-megamenu",
            submenuUlClasses: "ghost-submenu",
            subitemDetectText: "[subitem]",
            subitemLiClasses: "subitem"
        }

        //Marge defaultOptions 
        options = {
            ...defultOptions,
            ...options
        }


        // Target Element
        let targetElement = options.targetElement;

        //Default value 
        let hasChildrenClasses = options.hasChildrenClasses;
        let hasChildDetectText = options.hasChildDetectText;
        let hasMegaMenuClasses = options.hasMegaMenuClasses;
        let hasMegaMenuDetectText = options.hasMegaMenuDetectText;
        let hasChildrenIcon = options.hasChildrenIcon;
        let submenuUlClasses = options.submenuUlClasses;
        let subitemDetectText = options.subitemDetectText;
        let subitemLiClasses = options.subitemLiClasses;


        // Declare neccesary variable
        let parentEl = $(targetElement);
        let childEL = $(targetElement);
        let parentLen = 0;
        let domArrayElement = [];
        let indexPush = [];
        let elIndex = 0;
        let parentIndex = [];

        $(`${targetElement}`).parent().addClass('ghost-dropdown-menu');

        let that;
        // Find Dropdown parent element
        parentEl.each(function (index, element) {
            if ($(this).text().indexOf(hasChildDetectText) >= 0) {
                parentIndex.push(index); // Make dropdown parent array index
                parentLen++;

                $(this).push(element);
                $(this).addClass(hasChildrenClasses); // Add claas in dropdown   element

                $(this).append(`<ul class='${submenuUlClasses}'></ul>`); // Append submenu element

                $(targetElement).css("opacity", "1");
            }

            if ($(this).text().includes(hasMegaMenuDetectText)) {
                $(this).addClass(hasMegaMenuClasses);
                that = $(this);
            }
        });

        $(targetElement).css("opacity", "1");

        $(`.${hasChildrenClasses}`).append(hasChildrenIcon);

        if(!$(hasChildrenClasses).length){
            $(targetElement).css("opacity", "1");
        }

        // Using loop to reach dropdown parent element
        for (let i = 0; i < parentLen; i++) {

            elIndex = 0 // Initial elemet value

            // Find subitem element
            childEL.each(function (index, element) {
                let subitem = $(this).text().includes(subitemDetectText); // Find subitem element

                if (subitem) {

                    if (elIndex >= parentIndex[i + 1]) { // Each loop will be break
                        return false; //Stoped each loop 
                    }

                    if (elIndex <= parentIndex[i + 1] || elIndex >= parentIndex[parentIndex.length - 1]) {

                        if (!indexPush.includes(index)) { //Check if not index already insert 
                            $(this).addClass(subitemLiClasses); // Add class in subitem element
                            let st = $(this).children().text(); // Find subitem inner text
                            $(this).children().text(st.replaceAll(subitemDetectText, "")); // Replace subitem inner text

                            domArrayElement.push(element); // Incert subitem element in dom array
                            indexPush.push(index); // incert subitem index in indexPush array

                        }
                    }

                }
                elIndex++; // increase element index value
            });


            $(`.${hasChildrenClasses} ul.${submenuUlClasses}:eq(${i})`).append(domArrayElement); // Append related subitem dom element into submenu 

            domArrayElement = []; // Make dom array element empty. 

        }
        remove_text(hasChildrenClasses, hasChildDetectText);


        if (options.multi_level) {
            multiLevel();
        }
        if (options.mega_menu) {
            megamenu(hasMegaMenuClasses, 3, 4, hasMegaMenuDetectText, submenuUlClasses);
        }
       

    }

    $(document).ready(function () {
        ghost_dropdown({
            targetElement: "ul#nav li",
            hasChildrenClasses: "menu-item-has-children",
            hasChildrenIcon: "<svg width='19' height='10' viewBox='0 0 19 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1.74805 1.52002L9.54883 9.00002L17.3496 1.52002' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>",
            hasChildDetectText: "[has_child]",
            submenuUlClasses: "ghost-submenu",
            subitemDetectText: "[subitem]",
            subitemLiClasses: "subitem",
            multi_level: true,
            mega_menu: true
        });
    });


}(jQuery));
</script>