/*********************************************

    ███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ████╗ ████║██╔════╝████╗  ██║██║   ██║
    ██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝ 

 *********************************************/

    .top-menu-navigation a {
        color: var(--color-white);
        font-size: 1.2rem;
        margin-right:  1.5rem;
    }

    .main-navigation {
        text-align: left;
        position: relative;
    }

    .tablet #main-navigation-left,
    .tablet #main-navigation-right {
        max-width: 80%;
        margin-left: 10%;
        float:  none;
    }

    .laptop #main-navigation-left,
    .laptop #main-navigation-right {
        max-width: 100%;
        margin-left: 0;
    }

    .laptop .header-main-menu-left {
        float: left;
        padding-right: 0 !important;
    }

    .laptop .header-main-menu-right {
        float: right;
        padding-left: 0 !important;
    }

        .main-navigation li {
            position: relative;
        }

        .laptop .header-main-menu-right .main-navigation > li {
            float: right;
        }

            .main-navigation li li {
                display: block;
                float: none;
                min-width: 10em;
            }

            .main-navigation a {
                margin: 0 0 0 0.4rem;
                padding: 0 0.75rem;
                display: block;
                line-height: 2;
                white-space: nowrap;
                color: var(--color-black);
                font-size: 1.3rem;
            }

            .large .main-navigation a {
                font-size: 1.6rem;
            }

            .xlarge .main-navigation a {
                font-size: 1.7rem;
            }

            .main-navigation li li a {
                margin: 0.2rem 0.2rem;
                padding: 0 0.5rem;
            }

            .main-navigation a:hover,
            .main-navigation .current-menu-item > a,
            .main-navigation .current-menu-ancestor > a {
                color: var(--color-blue);
            }

            .main-navigation ul {
                background: rgb(255, 255, 255);
            }



    .menu-item-has-children > a::after {
        display: inline-block;
        font-family: var(--font-icons);
        content: '\e846';
        font-size: 100%;
        margin-left: 0.25em;
        position: relative;
        top: 1px;
    }



/*********************************************************************************

    ███╗   ███╗███████╗ ██████╗  █████╗ ███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ████╗ ████║██╔════╝██╔════╝ ██╔══██╗████╗ ████║██╔════╝████╗  ██║██║   ██║
    ██╔████╔██║█████╗  ██║  ███╗███████║██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ██║╚██╔╝██║██╔══╝  ██║   ██║██╔══██║██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ██║ ╚═╝ ██║███████╗╚██████╔╝██║  ██║██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚═╝     ╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝

 *********************************************************************************/



    .responsiville-megamenu + ul {
        display: none;
    }

        .responsiville-megamenu-element {
            top: calc(100% + 0.5rem);
            left: -1.5rem;
            padding: 1rem 1.5rem;
            z-index: 1;
        }

        .responsiville-megamenu-element li:hover {
            background: var(--color-orange);
        }

            .responsiville-megamenu-element li:hover a {
                color: var(--color-black);
            }



/**********************************************************************************************

    ███████╗ ██████╗██████╗  ██████╗ ██╗     ██╗     ███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ██╔════╝██╔════╝██╔══██╗██╔═══██╗██║     ██║     ████╗ ████║██╔════╝████╗  ██║██║   ██║
    ███████╗██║     ██████╔╝██║   ██║██║     ██║     ██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ╚════██║██║     ██╔══██╗██║   ██║██║     ██║     ██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ███████║╚██████╗██║  ██║╚██████╔╝███████╗███████╗██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚══════╝ ╚═════╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝

 **********************************************************************************************/



    /* The original scrollmenu element. */ 

    .wrapper .responsiville-scrollmenu {
        opacity: 1;
        transition: opacity 0.3s ease-in 0.3s;
        padding: 2rem 0 !important;
    }

    .laptop .wrapper .responsiville-scrollmenu {
        padding: 5rem 0 !important;
    }

    .responsiville-scrollmenu-active-body .wrapper .responsiville-scrollmenu {
        opacity: 0;
        transition: opacity 0.3s ease-in 0s;
    }



    /* The cloned scrollmenu element. */

    .responsiville-scrollmenu-wrapper {
        opacity: 0;
        transform: translateY(-100%);
        transition: transform 0s linear 0.3s, opacity 0.3s ease-in 0s;
    }

        .responsiville-scrollmenu-wrapper .panel {
            position:  relative;
        }

    .responsiville-scrollmenu-wrapper.responsiville-scrollmenu-active {
        opacity: 1;
        transform: translateY(0);
        transition: transform 0s linear 0s, opacity 0.3s ease-in 0s;
    }

        .responsiville-scrollmenu-wrapper .responsiville-scrollmenu {
            background: var(--color-white);
            padding: 0.3rem 0 !important;
        }

        .laptop .responsiville-scrollmenu-wrapper .responsiville-scrollmenu {
            padding: 1.6rem 0 !important;
        }

            .laptop .responsiville-scrollmenu-wrapper .header-language,
            .laptop .responsiville-scrollmenu-wrapper .header-social {
                display: none;
            }

            .responsiville-scrollmenu-wrapper .panel {
                display: table;
            }

                .responsiville-scrollmenu-wrapper .header-items {
                    display: table-cell;
                    float: none;
                    vertical-align: middle;
                }

                .header-items {
                    padding-top: 0;
                    padding-bottom: 0;
                    position: relative;
                }

                .laptop .header-items {
                    padding-top: 0.5rem;
                    padding-bottom: 0.3rem;
                }



/****************************************************************************

    ███╗   ███╗ ██████╗ ██████╗ ██╗███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ████╗ ████║██╔═══██╗██╔══██╗██║████╗ ████║██╔════╝████╗  ██║██║   ██║
    ██╔████╔██║██║   ██║██████╔╝██║██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ██║╚██╔╝██║██║   ██║██╔══██╗██║██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ██║ ╚═╝ ██║╚██████╔╝██████╔╝██║██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚═╝     ╚═╝ ╚═════╝ ╚═════╝ ╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝

 ****************************************************************************/



    /* Positioning and layout */

    .responsiville-mobimenu-wrapper {
        z-index: 2000;
        width: 100%;
    }

    header .responsiville-mobimenu-wrapper {
        display: inline-block;
    }

        .responsiville-mobimenu-enabled .responsiville-mobimenu {
            padding: 5rem 0;
        }

        .responsiville-mobimenu-enabled {
            text-align: center;
        }

            .responsiville-mobimenu-enabled ul {
                border-width: inherit;
                background: none;
            }


 
    /* Logo */

    .header-mobimenu-logo {
        display: none;
    }

    .responsiville-mobimenu-open {
        background: rgba(var(--orange), 0.95) !important;
        color: var(--color-black) !important;
    }

        .responsiville-mobimenu-open a {
            color: var(--color-black) !important;
        }

    .responsiville-mobimenu-open .header-mobimenu-logo {
        display: block;
        margin-bottom: var(--vertical-rhythm);
    }

        .small .responsiville-mobimenu-open .header-mobimenu-logo img {
            max-width: 70vw;
        }

        .tablet .responsiville-mobimenu-open .header-mobimenu-logo img {
            max-width: 50vw;
        }



    /* Social */

    .responsiville-mobimenu-open .header-social {
        margin-bottom: var(--vertical-rhythm);
    }



    /* Language switcer */

    .responsiville-mobimenu-open .header-language {
        margin-bottom: var(--vertical-rhythm);
    }

        .responsiville-mobimenu-open .vanilla-language-switcher a {
            display: block;
            padding: 0;
            margin: 0 0.5em;
            font-size: 1.2em;
        }



    /* Search */

    .responsiville-mobimenu-open .header-search {
        margin-bottom: var(--vertical-rhythm);
    }


    /* Menu items */

    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) {
        padding: 0 1em;
    }

    .responsiville-mobimenu-open .main-navigation a {
        white-space: normal !important;
        text-align: left;
    }

    .responsiville-mobimenu-open .main-navigation > li > a {
        color:  var(--color-black) !important;
        font-weight: 900;
    }

    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul,
    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul li {
        display: block;
        min-width: auto;
        margin-bottom: 0.5em;
    }

    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul ul {
        text-align: center;
        padding: 1em 0;
        width: 100%;
    }

        .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul ul li {
            text-align: left;
            margin-bottom: 0;
            display: block;
        }

        .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation a {
            font-size: 2.5rem;
            line-height: 1.5;
            padding: 0 0.5em 0.25em 0.5em;
            border-bottom: 1px solid var(--color-white);
            border-radius: 0;
            background: transparent;
        }

            .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation ul a {
                font-size: 1.8rem;
                border-bottom: none;
                padding: 2rem 0.5em 0 0.5em;
                line-height: 2rem;
            }

            .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation .menu-item-has-children > a::after {
                display: none;
            }



    /* Close button */
    
    .responsiville-mobimenu-close,
    .responsiville-mobimenu-close:focus,
    .responsiville-mobimenu-close:hover {
        font-size: 6rem;
        width: 6rem;
        height: 6rem;
        line-height: 6rem;
    }
        
        .responsiville-mobimenu-close span {
            display: none;
        }

        .responsiville-mobimenu-close:before {
            display: inline-block;
            font-family: var(--font-icons);
            content: '\E80C';
        }

        .responsiville-mobimenu-burger {
            position: absolute !important;
            top: 50% !important;
            transform: translateY(-50%);
            right: var(--grid-gutter) !important; 
        }

        .responsiville-mobimenu-burger span {
            display:  none !important;
        }

        .responsiville-mobimenu-burger::before {
            content: "\e86a" !important;
        }

        .responsiville-mobimenu-close::before {
            content: "\e853" !important;
            font-size: 2.8rem;
        }