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

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

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



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

        .main-navigation li {
            position: relative;
        }

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

            .main-navigation a {
                font-family: var(--font-sans-serif-bold);
                font-size: 1.6rem;
                margin: 0 0 0 0.3rem;
                padding: 0 1.1rem;
                display: block;
                line-height: 4rem;
                border-radius: 0.3rem;
                white-space: nowrap;
                color: var(--blue-dark);
            }

            .laptop .main-navigation a {
                font-size: 1.6rem;
                margin: 0 0 0 0.2rem;
                padding: 0 0.6rem;
            }

            .xlarge .main-navigation a {
                font-size: 1.8rem;
                margin: 0 0 0 0.4rem;
                padding: 0 2rem;
            }

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

            .main-navigation a:hover {
                color: var(--color-red);
            }

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

            .main-navigation .sub-menu li {
                padding: 0 1.4rem !important;
            }

            .xlarge .main-navigation .sub-menu li {
                padding: 0 3.4rem !important;
            }

                .main-navigation .sub-menu li a {
                    line-height: 3.6rem;
                    white-space: nowrap;
                }

                .desktop .main-navigation .sub-menu li a {
                    line-height: 4.6rem;
                }

            .main-navigation .sub-menu > .current-menu-item {
                background: var(--color-red);
            }

                .main-navigation .sub-menu > .current-menu-item a {
                    color: var(--color-white);
                }

            .main-navigation ul {
                background: var(--color-gray-light-xx);
                border: none;
                box-shadow: none;
                border-radius: 0;
                padding: 3.4rem 0 !important;
            }

    .header-main-menu {
        margin-top: 3.5rem;
        height: 3rem;
        line-height: 3rem;
    }

    	.responsiville-mobimenu-open .header-main-menu {
    		position: relative;
    		display: block;
    		height: auto;
    		width: 100%;
    		margin: 0 auto 3rem auto;
    		text-align: left;
    	}

    	.responsiville-mobimenu-open .header-main-menu ul,
    	.responsiville-mobimenu-open .header-main-menu li,
    	.responsiville-mobimenu-open .header-main-menu a {
    		text-align: left;
    		padding: 0 !important;
    		margin: 0 !important;
    	}

    	.responsiville-mobimenu-open #main-navigation .sub-menu {
    		margin: 1rem 0 !important;
    		padding: 0 !important;
    		width: 100% !important;
    	}

	    	.responsiville-scrollmenu-active-body .header-main-menu .main-navigation .sub-menu li {
	    		padding: 0 !important;
	    	}

	    .responsiville-mobimenu-open .header-main-menu .main-navigation a {
    		text-align: left;
	    	font-size: 2.4rem;
	    }

    .responsiville-scrollmenu-active-body .header-main-menu {
        margin-top: 0;
        height: 4rem;
        line-height: 4rem;
    }

    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul ul {
    		margin: 1rem 0 !important;
    		padding: 0 !important;
    		width: 100% !important;
    }

	    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul ul li {
	    	padding: 5px 0 !important;
	    }

    .responsiville-mobimenu-open-body .header-main-menu {
        height: auto;
        width: 100%;
    }

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



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

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

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

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

        .responsiville-megamenu-element {
            top: calc(100% + 0.5rem);
            left: -3.5rem;
            padding: 1rem 1.5rem;
            border-radius: 0.3rem;
            box-shadow: 0 0 0 1px var(--color-gray-light-x);
            z-index: 1;
        }

            .responsiville-megamenu-parent .sub-menu .sub-menu {
                top: -2rem;
                left: 100%;
                padding: 2rem 1.5rem !important;
            }

            .responsiville-mobimenu-open #main-navigation .sub-menu .sub-menu {
               padding-left: 3rem !important;
            }

                .responsiville-megamenu-parent .sub-menu .sub-menu a {
                    color: var(--color-gray-dark);
                }

                .responsiville-megamenu-parent .sub-menu .sub-menu .current-menu-item a {
                    color: var(--color-white);
                }

        #main-navigation .menu-item:last-child .responsiville-megamenu-element {
            left: -9.5em;
            transform: none;
        }

        a.responsiville-megamenu::after {
            display: none !important;
        }



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

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

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



    /* The original scrollmenu element. */ 

    .wrapper .responsiville-scrollmenu {
        opacity: 1;
        transition: opacity 0.3s ease-in 0.3s;
        padding: 0 0 3rem 0 !important;
        position: relative;
        z-index: 4;
    }

    .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.responsiville-scrollmenu-active {
        opacity: 1;
        transform: translateY(0);
        transition: transform 0s linear 0s, opacity 0.3s ease-in 0s;
    }

        .responsiville-scrollmenu-wrapper .responsiville-scrollmenu {
            padding: 0.5rem 0 !important;
            background: var(--color-gray-light-xx);
        }

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

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

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



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

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

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

    .responsiville-mobimenu-open {
        background: var(--color-blue);
    }

    /* Positioning and layout */

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

    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;
            }

            .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul ul li {
                display: block !important;
                float: none !important;
            }

    .mobile-menu-item {
        display: block !important;
        margin: 0;
        padding: 0;
        width: 100%;
        float: none;
    }

    .laptop .mobile-menu-item {
        display: none !important;
    }

    	.mobile-menu-item .menu-item-language {
    		padding: 0 5rem 0 3.5rem;
    	}

	    	.mobile-menu-item .menu-item-language a,
	    	.mobile-menu-item .menu-item-language .sub-menu {
	    		width: 45% !important;
	    		border: 0 !important;
	    		margin: 0 !important;
	    		padding: 0.3rem 1.5rem !important;
	    	}
	 
	    	.mobile-menu-item .menu-item-language .sub-menu {
	    		margin: 0 0 0 4% !important;
	    	}
	 
		    	.mobile-menu-item .menu-item-language .sub-menu li,
		    	.mobile-menu-item .menu-item-language .sub-menu a {
		    		width: 100% !important;
		    		border: 0 !important;
		    	}
	 
	    	.mobile-menu-item .menu-item-language a {
	    		background: var(--color-blue-light);
	    	}
	 
	    	.mobile-menu-item .menu-item-language .sub-menu a {
	    		background: none
	    	}

	  .search-form-mobile {
	  	margin-top: 6rem;
	  }

	  	.search-form-mobile .search-field {
	    	background: var(--color-blue);
	    	border: 0.3rem solid var(--color-white);
	    	color: var(--color-white);
	    	width: 30rem;
	    	margin: 0 auto;
	  	}

	  	.search-form-mobile .search-button {
	  		margin-top: 2.5rem; 
	  	}

	  	input.search-form-mobile .search-field:placeholder,
	  	input.search-field[placeholder] {
	    	color: var(--color-white);
	  	}

    /* Logo */

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

    .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;
    }

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

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

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

        .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation a {
            font-size: 2.5rem;
            line-height: 4.6rem;
            padding: 2px 5rem !important;
            border-bottom: 1px solid var(--color-blue-light);
            border-radius: 0;
            background: transparent;
        }

        .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation a.responsiville-megamenu {
            padding: 1rem 5rem !important;
        }

            .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation ul a {
            	font-family: var(--font-sans-serif-normal);
                font-size: 2.4rem;
                border-bottom: none;
	            padding: 0 5rem 0 6rem;
            }

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

    .top-navigation-mobile {

    }

	    .top-navigation-mobile li {
            line-height: 4.6rem;
            padding: 0 5rem;
            border-bottom: 1px solid var(--color-blue-light);
            border-radius: 0;
            background: transparent;
	    }

		    .top-navigation-mobile li a {
            	font-family: var(--font-sans-serif-normal);
	            padding: 0 !important;
		    }

		    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) a {
                font-size: 2.4rem !important;
                line-height: 2.4rem !important;
		    }

		    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) li {
	            text-align: left !important;
		    }

		   .account-mobile {
		   		padding: 0 0 0 5rem;
   		        margin: 0 0 2rem 0;
	            text-align: left;
            	font-family: var(--font-sans-serif-normal);
		   }

			   .account-mobile a {
			   		padding: 0 !important;
			   		line-height: 4.6rem;
			   }


    /* Burger button */

    .responsiville-mobimenu-enabled  {
    	padding-top: 3.2rem;
    }

    .responsiville-scrollmenu-active .responsiville-mobimenu-enabled  {
    	padding-top: 0;
    }

	.responsiville-mobimenu-burger::before {
		content: '\f0c9';
		color: var(--color-blue);
	}	

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

    /* 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: '\E853';
            color: var(--color-blue-light);
            font-size: 3rem;
        }

