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

    ███╗   ███╗ █████╗ ██╗███╗   ██╗    ███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ████╗ ████║██╔══██╗██║████╗  ██║    ████╗ ████║██╔════╝████╗  ██║██║   ██║
    ██╔████╔██║███████║██║██╔██╗ ██║    ██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ██║╚██╔╝██║██╔══██║██║██║╚██╗██║    ██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ██║ ╚═╝ ██║██║  ██║██║██║ ╚████║    ██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝    ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝ 
                                                                          
 *********************************************************************************/



    /* Main navigation */

    .main-navigation {
        font-size: 13px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        text-transform: uppercase;
    }

    .laptop .main-navigation {
        gap: 15px;
        font-size: 12px;
    }

    .large .main-navigation {
        gap: 25px;
        font-size: 13px;
    }

    .xlarge .main-navigation {
        gap: 35px;
    }

    .laptop .main-header.responsiville-stickymenu-active .main-navigation {
        gap: 8px;
    }

    .large .main-header.responsiville-stickymenu-active .main-navigation {
        gap: 20px;
    }
    
    .xlarge .main-header.responsiville-stickymenu-active .main-navigation {
        gap: 26px;
    }

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

        .main-navigation a:hover,
        .main-navigation .current-menu-item > a,
        .main-navigation .current-menu-ancestor > a {
            color: var(--nvm-color-black) !important;
            background: var(--nvm-color-white) !important;
            opacity: 1;
        }

        .main-navigation > .menu-item > a {
            font-weight: 500;
            padding: 9px 20px;
            display: block;
            border-radius: 0.25em;
            white-space: nowrap;
            color: var(--nvm-color-white);
            border-radius: 60px;
            background: rgba(0, 0, 0, 0.40);
        }

        /*.main-navigation .menu-item:not(:first-child, :last-child) a {
            margin: 0.125em;
        }*/
        
        /*.main-navigation .menu-item .menu-item:not(:first-child, :last-child) a {
            min-width: 10em;
            margin: 0.25em 0.25em;
        }*/

        .main-navigation .menu-item-has-children > a {
            padding-right: 37px;
        }

            .main-navigation .menu-item-has-children > a::after {
                display: block;
                position: absolute;
                top: 6px;
                right: 20px;
                content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="7" height="4" viewBox="0 0 7 4" fill="none"><path d="M6.86086 0.816268C7.04633 0.629491 7.04643 0.326721 6.86086 0.140003C6.6753 -0.0467149 6.3744 -0.0466203 6.18878 0.140003L3.50001 2.80444C2.54278 1.85729 0.811216 0.140003 0.811216 0.140003C0.625596 -0.0466206 0.324699 -0.0467152 0.139136 0.140003C-0.0464263 0.32672 -0.0463319 0.629491 0.139136 0.816267L3.16396 3.85993C3.34957 4.04669 3.65043 4.04669 3.83604 3.85993L6.86086 0.816268Z" fill="white"/></svg>');
            }

            .main-navigation .menu-item-has-children > a:hover::after,
            .main-navigation .menu-item-has-children.current_page_item > a::after,
            .main-navigation .menu-item-has-children.current-menu-ancestor > a::after {
                content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="7" height="4" viewBox="0 0 7 4" fill="none"><path d="M6.86086 0.816268C7.04633 0.629491 7.04643 0.326721 6.86086 0.140003C6.6753 -0.0467149 6.3744 -0.0466203 6.18878 0.140003L3.50001 2.80444C2.54278 1.85729 0.811216 0.140003 0.811216 0.140003C0.625596 -0.0466206 0.324699 -0.0467152 0.139136 0.140003C-0.0464263 0.32672 -0.0463319 0.629491 0.139136 0.816267L3.16396 3.85993C3.34957 4.04669 3.65043 4.04669 3.83604 3.85993L6.86086 0.816268Z" fill="black"/></svg>');
            }

        
        .main-navigation .menu-item-has-children ul.sub-menu {
            width: 100%;
            left: 0px;
            top: calc(100% + 0);
            border-radius: 0;
            background: var(--brand-color-grey);
        }



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

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

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



        /* Make sure megamenus positioning is correct. */

        .responsiville-megamenu-element {
            top: calc(100% + 0.125em);
            left: -0.75em;
            padding: 1em;

            border-radius: 0.25em;
            box-shadow: 0 0 0 1px var(--nvm-color-gray-1);
            z-index: 1;
        }

        .nvm-megamenu.responsiville-megamenu-parent {
            position: unset;
        }

            .nvm-megamenu.responsiville-megamenu-parent a {
                position: relative;
            }

            .nvm-megamenu > .megamenu-extra-content {
                position: absolute;
                width: 100%;
                top: 100%;
                left: 0;
                padding: 0;
                border-radius: 0;
                box-shadow: 0 10px 15px -5px rgb(0 0 0 / 22%);
                z-index: 1;
                background: var(--brand-color-grey);
                justify-content: end;
            }

            .nvm-megamenu > .megamenu-extra-content.responsiville-megamenu-open,  .nvm-megamenu > .megamenu-extra-content.responsiville-megamenu-opening {
                display: flex !important;
                gap: 90px;
            }

            .nvm-megamenu > .megamenu-extra-content > .megamenu-content {
                width:50%;
                display: flex;
                /*align-items: center;*/
                gap: 50px;
                text-transform: none;
                justify-content: flex-end;
            }

            html:not(.large) .nvm-megamenu > .megamenu-extra-content > .megamenu-content {
                max-width: 915px;
            }

            .nvm-megamenu > .megamenu-extra-content > ul.sub-menu {
                background: transparent;
                display: block;
                width: 475px;
                padding-top: calc(1.5 * var(--nvm-length-small));
                padding-bottom: calc(1.5 * var(--nvm-length-small));
                padding-left: var(--nvm-grid-gutter);
            }

                .nvm-megamenu .megamenu-extra-content ul.sub-menu li {
                    border-bottom: 1px solid var(--brand-color-pale-blue);
                    
                }

                .nvm-megamenu .megamenu-extra-content ul.sub-menu li a {
                    font-size: 16px;
                    font-style: normal;
                    font-weight: 700;
                    text-transform: none;
                    color: var(--nvm-color-black);
                    padding: 10px 0;
                    margin: 10px 0;
                }

                .nvm-megamenu .megamenu-extra-content ul.sub-menu li a::after {
                    display: block;
                    position: absolute;
                    top: 50%;
                    right: 0;
                    transform: translatey(-50%) rotate(-90deg);
                    content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12" height="7" viewBox="0 0 7 4" fill="none"><path d="M6.86086 0.816268C7.04633 0.629491 7.04643 0.326721 6.86086 0.140003C6.6753 -0.0467149 6.3744 -0.0466203 6.18878 0.140003L3.50001 2.80444C2.54278 1.85729 0.811216 0.140003 0.811216 0.140003C0.625596 -0.0466206 0.324699 -0.0467152 0.139136 0.140003C-0.0464263 0.32672 -0.0463319 0.629491 0.139136 0.816267L3.16396 3.85993C3.34957 4.04669 3.65043 4.04669 3.83604 3.85993L6.86086 0.816268Z" fill="currentColor"/></svg>');
                }

                    .nvm-megamenu .megamenu-extra-content ul.sub-menu li a:hover::after,
                    .nvm-megamenu .megamenu-extra-content ul.sub-menu li.current-menu-item a::after {
                        content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12" height="7" viewBox="0 0 7 4" fill="none"><path d="M6.86086 0.816268C7.04633 0.629491 7.04643 0.326721 6.86086 0.140003C6.6753 -0.0467149 6.3744 -0.0466203 6.18878 0.140003L3.50001 2.80444C2.54278 1.85729 0.811216 0.140003 0.811216 0.140003C0.625596 -0.0466206 0.324699 -0.0467152 0.139136 0.140003C-0.0464263 0.32672 -0.0463319 0.629491 0.139136 0.816267L3.16396 3.85993C3.34957 4.04669 3.65043 4.04669 3.83604 3.85993L6.86086 0.816268Z" fill="%230738ac"/></svg>');
                    }

                    .nvm-megamenu .megamenu-extra-content ul.sub-menu li a:hover,
                    .nvm-megamenu .megamenu-extra-content ul.sub-menu li.current-menu-item a:hover,
                    .main-navigation .current-menu-ancestor ul.sub-menu li.current-menu-item > a {
                        color: var(--brand-color-blue) !important;
                        background: transparent !important;
                    }


            .nvm-megamenu .megamenu-extra-content .megamenu-content .megamenu-text {
                font-size: 16px;
                font-family: var(--nvm-font-serif);
                font-style: italic;
            }

            .nvm-megamenu .megamenu-extra-content .megamenu-content .megamenu-text-description {
                flex: 1;
                display: flex;
                align-items: center;
                height: 100%;
            }

            .xlarge .nvm-megamenu .megamenu-extra-content .megamenu-content .megamenu-text {
                min-width: 502px;
            }

            .nvm-megamenu .megamenu-extra-content .megamenu-content .megamenu-image figure {
                width: 400px;
                height: 100% !important;
            }

            /*.nvm-megamenu .megamenu-extra-content .megamenu-content .megamenu-image figure.image-box {
                width: auto;
                height: 100% !important;
            }*/

            




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

    ███████╗████████╗██╗ ██████╗██╗  ██╗██╗   ██╗███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ██╔════╝╚══██╔══╝██║██╔════╝██║ ██╔╝╚██╗ ██╔╝████╗ ████║██╔════╝████╗  ██║██║   ██║
    ███████╗   ██║   ██║██║     █████╔╝  ╚████╔╝ ██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ╚════██║   ██║   ██║██║     ██╔═██╗   ╚██╔╝  ██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ███████║   ██║   ██║╚██████╗██║  ██╗   ██║   ██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚══════╝   ╚═╝   ╚═╝ ╚═════╝╚═╝  ╚═╝   ╚═╝   ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝ 
                                                                                   
 ******************************************************************************************/
    



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

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

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



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

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

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


    /* The button that opens the mobimenu */

    .responsiville-mobimenu {
        padding: 0;
        margin: 0;
        border: none;
        box-shadow: none;
        background: none;
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 32px;
    }

    .small .responsiville-mobimenu {
        margin-left: 15px;
    }

    .tablet .responsiville-mobimenu {
        margin-left: 1em;
    }

    .responsiville-mobimenu:active,
    .responsiville-mobimenu:focus {
        background-color: var(--nvm-color-white);
    }
    
    .responsiville-mobimenu:hover {
        background-color: var(--nvm-color-white);
    }

    .responsiville-mobimenu:active:hover {
        background-color: var(---nvm-color-white);
    }
    
        .responsiville-mobimenu span {
            display: none;
        }

        .responsiville-mobimenu::after {
            display: block;
            content: url('data:image/svg+xml; utf8, <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="rgb(255,255,255)" d="M27.744 15.968c0 0.406-0.33 0.736-0.736 0.736v0h-22.016c-0.406 0-0.736-0.33-0.736-0.736s0.33-0.736 0.736-0.736v0h22.016c0.406 0 0.736 0.33 0.736 0.736v0zM4.992 8.704h22.016c0.406 0 0.736-0.33 0.736-0.736s-0.33-0.736-0.736-0.736v0h-22.016c-0.406 0-0.736 0.33-0.736 0.736s0.33 0.736 0.736 0.736v0zM27.008 23.232h-22.016c-0.406 0-0.736 0.33-0.736 0.736s0.33 0.736 0.736 0.736v0h22.016c0.406 0 0.736-0.33 0.736-0.736s-0.33-0.736-0.736-0.736v0z"></path></svg>'); 
        }

    /* The mobimenu wrapper that pops up. */

    .responsiville-mobimenu-wrapper {
        background: var(--brand-color-grey);
    }

    /* The original element. */

    .mobile-menu {
        display: none;
        /*max-width: 600px;*/
        /*background-color: var(--nvm-color-white);*/
    }

    .responsiville-mobimenu-wrapper .mobile-menu {
        display: block;
    }

        .mobile-menu .mobile-menu-navigation {
            text-transform: uppercase;
            font-size: 17px;
        }

            .mobile-menu .mobile-menu-navigation > li:not(:last-child) { 
                margin-bottom: 7px;
            }

                .mobile-menu .mobile-menu-navigation li a { 
                    color: var(--brand-color-black);
                }

                .mobile-menu .mobile-menu-navigation li.current-menu-item a,
                .mobile-menu .mobile-menu-navigation li a:hover { 
                    color: var(--brand-color-blue);
                }

            .mobile-menu .menu-item-has-children {
                /*margin-top: calc(0.333*var(--nvm-text-rhythm));*/
            }

            .mobile-menu .sub-menu {
                margin: 4px 0 0 calc(0.333*var(--nvm-text-rhythm));
            }


            /* parent link */
            /*.mobile-menu-navigation .menu-item-has-children > a {
                display: flex;
                align-items: center;
                justify-content: space-between;
            }*/

            /* BACK BUTTON */

            .submenu-back {
                display: inline-flex;
                align-items: center;

                gap: 10px;

                margin-bottom: 30px;

                background: none;
                border: none;

                font-size: 16px;
                cursor: pointer;
            }


            .mobile-menu-navigation {
                position: relative;
                overflow: hidden;
            }

            .mobile-menu-panels {
                position: relative;
                width: 100%;
                min-height: 400px;
            }

            .mobile-menu-panel {
                position: absolute;
                inset: 0;

                width: 100%;

                opacity: 0;
                visibility: hidden;

                transform: translateX(100%);

                transition:
                    transform .35s ease,
                    opacity .35s ease;
            }

            .mobile-menu-panel.is-active {
                opacity: 1;
                visibility: visible;
                transform: translateX(0);
                z-index: 5;
            }

            /* ROOT PANEL */
            .mobile-menu-panel[data-panel="root"] {
                transform: translateX(0);
            }

            .mobile-menu-panel[data-panel="root"]:not(.is-active) {
                transform: translateX(-30%);
            }

            /* MENU ITEMS */

            .mobile-menu-navigation-list,
            .sub-menu {
                list-style: none;
                margin: 0;
                padding: 0;
            }

            .mobile-menu-navigation-list li,
            .sub-menu li {
                position: relative;
                border-bottom: 1px solid var(--brand-color-blue);
            }

            .mobile-menu-navigation-list a,
            .sub-menu a {
                display: block;
                padding: 18px 0;
                text-decoration: none;
                color: #000;
                font-weight: 700;
            }

            /* SUBMENU BUTTON */

            .submenu-trigger {
                position: absolute;
                right: 0;
                top: 50%;

                transform: translateY(-50%);

                background: none;
                border: none;

                font-size: 28px;
                cursor: pointer;
                padding: 0;
            }




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

    ███████╗ ██████╗  ██████╗ ████████╗███████╗██████╗     ███╗   ███╗███████╗███╗   ██╗██╗   ██╗
    ██╔════╝██╔═══██╗██╔═══██╗╚══██╔══╝██╔════╝██╔══██╗    ████╗ ████║██╔════╝████╗  ██║██║   ██║
    █████╗  ██║   ██║██║   ██║   ██║   █████╗  ██████╔╝    ██╔████╔██║█████╗  ██╔██╗ ██║██║   ██║
    ██╔══╝  ██║   ██║██║   ██║   ██║   ██╔══╝  ██╔══██╗    ██║╚██╔╝██║██╔══╝  ██║╚██╗██║██║   ██║
    ██║     ╚██████╔╝╚██████╔╝   ██║   ███████╗██║  ██║    ██║ ╚═╝ ██║███████╗██║ ╚████║╚██████╔╝
    ╚═╝      ╚═════╝  ╚═════╝    ╚═╝   ╚══════╝╚═╝  ╚═╝    ╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝ ╚═════╝ 
                                                                                                 
 ******************************************************************************************************/

    .main-footer .nvm-menu ul {
        gap: calc(.8*var(--nvm-grid-gutter));
    }

        .main-footer .nvm-menu ul li {
            font-size: clamp(20px, 16px + 1.2vw, 30px); 
            line-height: 1em;
        }

            .main-footer .nvm-menu ul li a {
                font-weight: 500;
                text-transform: uppercase;
                color: var(--nvm-color-black);
            }

                .main-footer .nvm-menu ul li a:hover {
                    font-weight: 500;
                    text-transform: uppercase;
                    color: var(--brand-color-blue);
                    opacity: 1;
                }



                
    /** LEGAL PAGES MENU */

    .small .nvm-menu #menu-legal-pages, 
    .small .nvm-menu #menu-legal-pages-english {
        flex-direction: row;
        gap: calc(1.5 * var(--nvm-grid-gutter));
        justify-content: center;
        flex-flow: row wrap;
    }

    .laptop .nvm-menu #menu-legal-pages,
    .laptop .nvm-menu #menu-legal-pages-english {
        justify-content: start;
    }

        .nvm-menu #menu-legal-pages li,
        .nvm-menu #menu-legal-pages-english li {
            font-size: 13px;
        }

            .nvm-menu #menu-legal-pages li a,
            .nvm-menu #menu-legal-pages-english li a {
                font-weight: 300;
                text-transform: uppercase;
                color: var(--nvm-color-black);
            }

            .nvm-menu #menu-legal-pages li a:hover,
            .nvm-menu #menu-legal-pages-english li a:hover {
                color: var(--brand-color-blue);
            }

    /* Off-canvas menu: keep it out of the tab order while it is closed.

       The mobimenu wrapper stays display:block when closed and is only pushed
       off screen with a transform. Off-screen is not hidden - every link inside
       remains focusable, so a keyboard user tabs through the entire mobile menu
       without seeing anything. visibility:hidden removes it from both the tab
       order and the accessibility tree.

       The visibility change is delayed by the transition duration on close, so
       the menu still slides out instead of disappearing on the spot. */

    .responsiville-mobimenu-wrapper:not( .responsiville-mobimenu-open ) {
        visibility: hidden;
        transition-property: transform, visibility;
        transition-delay: 0s, var(--transition-duration);
    }

    .responsiville-mobimenu-wrapper.responsiville-mobimenu-open {
        visibility: visible;
        transition-property: transform, visibility;
        transition-delay: 0s, 0s;
    }

    /* .mobile-menu-panel.is-active sets visibility:visible on itself. Because
       visibility is inherited, that lets the active panel switch itself back
       on inside the hidden wrapper above, putting its links back in the tab
       order. While the menu is closed, the panels stay hidden regardless of
       .is-active. */

    .responsiville-mobimenu-wrapper:not( .responsiville-mobimenu-open ) .mobile-menu-panel {
        visibility: hidden;
    }
