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

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

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

 .responsiville-drawers-button {
    position: absolute;
    top: 0.75rem;
    right: -4rem;
    background: transparent;
    height: auto;
    line-height: inherit;
    box-shadow: none!important;
    font-size: 2rem;
}

.responsiville-drawers-button:hover {
	background: transparent!important;
}

 .services-menu.responsiville-megamenu-parent {
    position: static!important;
 }

 .responsiville-mobimenu-open {
    z-index: 1001 !important;
 }

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

            .main-navigation li li {
                display: block;
                float: none;
            }

            .main-navigation a {
                margin: 0 0 0 0.4rem;
                padding: 0 1.6rem;
                display: block;
                line-height: 2.1;
                border-radius: 0.3rem;
                white-space: nowrap;
                color: var(--color-gray);
                font-size: 1.3rem;
                font-weight: 900;
            }

            .responsiville-mobimenu-open .main-navigation a {
                white-space: normal;
            }

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

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

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

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

            .main-navigation ul {
                background: var(--color-gray);
            }

            .main-navigation .sub-menu li.menu-item-has-children a.responsiville-megamenu:hover {
            	cursor: default!important;
				color: var(--color-black)!important;
            }

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

    .footer-navigation {
        font-size: 1.3rem;
    }

        .footer-navigation .sub-menu {
            margin-bottom: 3rem;
        }

        .laptop .footer-navigation .sub-menu {
            margin-bottom: 0;
        }

        .footer-navigation > .menu-item {
            margin-top: 3rem;
        }

        .laptop .footer-navigation > .menu-item {
            margin-top: 5rem;
        }

        .menu-footer-menu-right-container .footer-navigation > .menu-item {
            margin-top: 0.5rem;
        }

        .footer-navigation > .menu-item:first-child {
            margin-top: 0;
        }

            .footer-navigation .menu-item a {
                line-height: 100%;
                padding: 0.5rem 0;
            }

            .laptop .footer-navigation .menu-item a {
                line-height: 190%;
                padding: 0;
            }

            .footer-navigation .menu-item a:after {
                display: none;
            }

            .footer-navigation > .menu-item > a {
                font-weight: 900;
                line-height: 100%;
                padding-bottom: 0.5rem;
            }





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

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

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


    .classic.responsiville-megamenu-parent {
        position: relative;
    }

    .classic.responsiville-megamenu-parent .sub-menu {
        left: 0;
        top: calc(100% - 0.5rem);
    }


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

        .responsiville-megamenu-element {
            top: calc(100% - 0.5rem);
            left: -0.5rem;
            padding: 0.3rem 0.5rem;
            background: rgba(255, 255, 255, 1) !important;
        }

        .responsiville-scrollmenu-active-body .responsiville-megamenu-element {
            top: 100%;
            background: rgba(255, 255, 255, 0.85) !important;
        }

        .services-menu > .sub-menu > .menu-item {
            width: 25%;
            float: left;
        }

        .responsiville-mobimenu-open .services-menu > .sub-menu > .menu-item {
            width: 100%;
            float: none;
        }

        .laptop .main-navigation li.services-menu a.responsiville-megamenu-active {
			position: relative;
        }

        .laptop .main-navigation li.services-menu a.responsiville-megamenu-active:before {
        	content: "";
			position: absolute;
			bottom: -2.8rem;
			left: 50%;
			transform: translateX(-50%);
			width: 0; 
			height: 0; 
			border-left: 1.5rem solid transparent;
			border-right: 1.5rem solid transparent;
			border-bottom: 1.5rem solid var(--color-gray-light-x);
        }

        .laptop .responsiville-scrollmenu-active .main-navigation li.services-menu a.responsiville-megamenu-active:before {
            bottom: -1rem;
        }

            .services-menu .sub-menu {
                width: 100%;
                left: 0;
            }

                .laptop .services-menu .sub-menu .sub-menu {
                    display: block !important;
                }

        .laptop .main-navigation li.services-menu > .sub-menu {
            padding-top: 8rem;
            padding-right: calc(((100% - var(--panel-width)) / 2) + var(--grid-gutter)) !important;
            padding-bottom: 9rem;
            padding-left: calc(((100% - var(--panel-width)) / 2) + var(--grid-gutter)) !important;
            background: var(--color-gray-light-x) !important;
        }

        .laptop .main-navigation li.services-menu > .sub-menu .sub-menu {
            display: block !important;
            position: relative !important;
            top: auto !important;
            left: auto !important;
            width: 100%;
            height: auto !important;
            background: none !important;
            margin: 0;
            padding: 0;
        }

            .main-navigation li.services-menu > .sub-menu .sub-menu a {
                position: relative;
                margin: 0;
                padding-left: 1.3rem;
            }

            .main-navigation li.services-menu > .sub-menu .sub-menu a:before,
            .main-navigation li.services-menu > .sub-menu .sub-menu a:after {
                content: "\e90d";
                font-family: 'egreen' !important;
                color: var(--color-green);
                font-size: 0.8rem;
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                left: 0;
            }

            .main-navigation li.services-menu > .sub-menu .sub-menu a:after {
                left: 0.1rem;
            }

            .main-navigation li.services-menu > .sub-menu .sub-menu .current-menu-item a {
            	font-weight: 900 !important;	
            }

            .laptop .main-navigation li.services-menu > .sub-menu .sub-menu .current-menu-item a {
            	color: var(--color-green) !important;
            }

            .main-navigation li.services-menu .sub-menu a.responsiville-megamenu:after {
                display: none;
            }

            .responsiville-mobimenu-open .main-navigation li.services-menu > .sub-menu .sub-menu a {
                margin: 0;
            }

            .laptop .main-navigation li.services-menu > .sub-menu a {
                font-size: 2rem;
                color: var(--color-gray);
                font-weight: 900;
                padding-bottom: 3rem;
                white-space: normal;
                line-height: 100%;
            }

            .laptop .main-navigation li.services-menu > .sub-menu .sub-menu a {
                font-family: var(--font-roboto);
                font-size: 1.6rem;
                color: var(--color-gray);
                font-weight: 300;
                padding-bottom: 0;
                line-height: 200%;
            }

        .main-navigation li.services-menu > .sub-menu .sub-menu .sub-menu {
            display: block !important;
            position: relative !important;
            top: auto !important;
            left: auto !important;
            width: 100%;
            background: none;
            margin: 0;
            padding: 0;
        }

            .main-navigation li.services-menu > .sub-menu .sub-menu .sub-menu li {
                padding: 0;
            }

                .main-navigation li.services-menu > .sub-menu .sub-menu .sub-menu a {
                    position: relative;
                    padding-left: 1rem;
                    text-transform: none;
                }

                .main-navigation li.services-menu > .sub-menu .sub-menu .sub-menu a:before {
                    background: none;
                    content: "•";
                    top: 0;
                    left: 0;
                }

        .main-navigation li.services-menu > .sub-menu .sub-menu .sub-menu li {
            display: block;
        }

        .laptop .background1,
        .laptop .background2,
        .laptop .background3,
        .laptop .background4,
        .laptop .background5,
        .laptop .background6,
        .laptop .background7,
        .laptop .background8 {
            position: relative;
            padding-top: 15rem;
        }

        .laptop .background1:before,
        .laptop .background2:before,
        .laptop .background3:before,
        .laptop .background4:before,
        .laptop .background5:before,
        .laptop .background6:before,
        .laptop .background7:before,
        .laptop .background8:before {
            content: "";
            position: absolute;
            left: 0;
            top: -4rem;
            width: calc(100% - 2.5rem);
            height: 15rem;
        }



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

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

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

    .wrapper .responsiville-scrollmenu {
        opacity: 1;
        padding: 1rem !important;
        visibility: hidden;
    }

    .responsiville-scrollmenu-active-body .wrapper .responsiville-scrollmenu {
        opacity: 0;
    }

    .responsiville-scrollmenu-wrapper {
        transform: none;
    }

    .responsiville-scrollmenu-wrapper .responsiville-scrollmenu {
        padding: 2.4rem 0 2.4rem 0 !important;
        transition: all .5s;
        background: none;
    }

    .tablet .responsiville-scrollmenu-wrapper .responsiville-scrollmenu {
        padding: 5.4rem 0 2.4rem 0 !important;
    }

    .responsiville-scrollmenu-wrapper.responsiville-scrollmenu-active .responsiville-scrollmenu {
        padding: 0.2rem 0 !important;
    }

    .responsiville-scrollmenu-active-body .responsiville-scrollmenu-wrapper.responsiville-scrollmenu-active .responsiville-scrollmenu {
        background: rgba(255, 255, 255, 1);
        background-size: 200% 100%;
        background-repeat: no-repeat;
        background-position: bottom left;
        /** START THE TRANSITION RULES **/
        -webkit-transition: all 0.15s ease-in;
        -moz-transition: all 0.35s ease-in;
        transition: all 0.35s ease-in;
    }

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

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





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

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

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

    .responsiville-mobimenu-open {
        background: rgba(48, 155, 70, 1);
    }

    /* Positioning and layout */

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

    .responsiville-mobimenu-wrapper .responsiville-mobimenu {
        height: 4.5rem;
        line-height: 4.5rem;
    }

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

        .header-mobimenu-logo a {
            display: block;
        }

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

        .small .responsiville-mobimenu-open .header-mobimenu-logo img {
            width: 90%;
            max-height: 5rem;
        }



    /* Social */

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



    /* 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-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul,
    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) ul li {
        display: block;
        min-width: auto;
        padding: 1.5rem 0;
    }

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

        .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation a {
            font-size: 2rem;
            line-height: 1.5;
            padding: 0 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;
                font-weight: 300;
                border-bottom: none;
                text-align: center;
                line-height: 110%;
                padding: 0.6rem 0;
            }

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

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

            .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: '\E80C';
        }

    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation ul li.menu-item-has-children a {
    	position: relative;
    }

	 	.responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation ul li.menu-item-has-children a:after {
	    	position: absolute;
	    	display: inline-block;
		    font-family: 'Responsiville icons';
		    content: '\e816';
		    transform: translateY(-50%) rotateZ(90deg);
		    padding-left: 0.5em;
		    padding-right: 0.5em;
		    top: 50%;
		    right: 0px;
	    }

	    .responsiville-mobimenu-wrapper-clone:not(.responsiville-mobimenu-unstyled) .main-navigation ul li.menu-item-has-children a ~ ul.sub-menu {
	    	display: none;
	    }

        .small .header-main-menu.inline {
            display: block;
            width: 85%;
            margin: 0 auto;
        }

        .laptop .header-main-menu.inline {
            display: inline-block;
            width: initial;
            margin: initial;
        }