@charset "UTF-8";
/*
Theme Name: Ristorante Tamburello
Author: FKDesign
Version: 1.0
*/



:root {
    --color-black: #000;
    --color-white: #FFF;

    --p: 1.5rem; /* font-size: 25 */

    --heading-1: 2.8125rem; /* font-size: 45 */
    --heading-2: 2.5rem; /* font-size: 40 */
    --heading-3: 2rem; /* font-size: 35 */
    --heading-4-plus: 1.875rem; /* font-size: 30 */
    --heading-4: 1.5rem; /* font-size: 25 */
    --heading-5: 1.375rem; /* font-size: 22 */
    --heading-6: 1.25rem; /* font-size: 20 */
    --heading-7: 1.0625rem; /* font-size: 17 */

    --unit: 1px;
    --spacer: 60px;
    --max-width: 1140px;
}

p,
p .elementor-heading-title {
	font-size:  var(--p);
}
.heading-1,
.heading-1 .elementor-heading-title {
	font-size:  var(--heading-1);
}
.heading-2,
.heading-2 .elementor-heading-title {
    font-size:  var(--heading-2);
}
.heading-3,
.heading-3 .elementor-heading-title {
    font-size:  var(--heading-3);
}
.heading-4-plus,
.heading-4-plus .elementor-heading-title {
    font-size:  var(--heading-4-plus);
}
.heading-4,
.heading-4 .elementor-heading-title {
    font-size:  var(--heading-4);
}
.heading-5,
.heading-5 .elementor-heading-title  {
    font-size: var(--heading-5);
}
.heading-6,
.heading-6 .elementor-heading-title {
    font-size:  var(--heading-6);
}
.heading-7,
.heading-7 .elementor-heading-title {
    font-size:  var(--heading-6);
}


.color-black {
    color: var(--color-black);
}
.color-gray {
    color: var(--color-gray);
}
.color-white {
    color: var(--color-white);
}



.font-ultra-thin,
.font-ultra-thin .elementor-heading-title {
	font-weight: 100;
}
.font-thin,
.font-thin .elementor-heading-title {
	font-weight: 300;
}
.font-regular,
.font-regular .elementor-heading-title  {
	font-weight: 400;
}
.font-medium,
.font-medium .elementor-heading-title  {
	font-weight: 500;
}
.font-semi-bold,
.font-semi-bold .elementor-heading-title  {
	font-weight: 600;
}
.font-bold,
.font-bold .elementor-heading-title  {
	font-weight: 700;
}



.line-height-1,
.line-height-1 .elementor-heading-title {
	line-height: 1;
}
.line-height-1-1,
.line-height-1-1 .elementor-heading-title {
	line-height: 1.1;
}
.line-height-1-2,
.line-height-1-2 .elementor-heading-title {
	line-height: 1.2;
}
.line-height-1-3,
.line-height-1-3 .elementor-heading-title {
	line-height: 1.3;
}
.line-height-1-4,
.line-height-1-4 .elementor-heading-title {
	line-height: 1.4;
}
.line-height-1-5,
.line-height-1-5 .elementor-heading-title {
	line-height: 1.5;
}


.elementor-button:focus-visible,
.elementor-button:focus-within,
.elementor-button:target,
.elementor-button:focus,
.elementor-button:active,
.elementor-button:visited {
    color: inherit;
}



html {
    font-size: 16px;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.container {
    overflow: hidden;
}


h1,h2,h3,h4,h5,h6,p {
	margin: 0px;
	padding: 0px;
	overflow-wrap: inherit;
}
img {
	vertical-align:bottom;
}
a {
   outline: 0;
}
a:active,
a:visited
a:link {
   color: #000
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}
* {
    outline: 0 none;
    box-sizing: border-box;
}
figure {margin:0}

.elementor img {
    width: 100%;
	/* max-width: inherit!important; */
}
/*input {
    -webkit-appearance: none;
}*/


.elementor .elementor-element.e-con-boxed,
.resizer {
	max-width: 1680px;
    margin-left: auto;
    margin-right: auto;
}

.resizer-small.elementor-element.e-flex {
	width: calc(70%);
	margin-left: auto;
	margin-right: auto;
	max-width: var(--max-width);
}
.resizer-special.elementor-element.e-flex {
    margin-left: auto;
    margin-right: auto;
    max-width: 1680px;
}





body.home header.elementor-location-header {
    position: absolute;
    z-index: 5;
    left: 0;
    right: 0;
    width: 100vw;
}

#header-background {
    display: none;
}
body.home #header-background {
    display: block;
}

body.home .elementor-widget-theme-site-logo img:not(body.home.stop .elementor-widget-theme-site-logo img) {
    filter: brightness(0) invert(1);
}
body.home ul.e-n-menu-heading a.e-n-menu-title-text.e-link,
body.home .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text {
    color: #FFF;
}










.img-menu .elementor-element.e-flex.e-con.e-child .hover.elementor-element.elementor-widget {
    opacity: 0;
    transition: all 1.1s ease-out;
}


.img-menu .elementor-element.e-flex.e-con.e-child {
    transition: all 0.6s ease-out;
}
.img-menu a.elementor-element.e-flex.e-con.e-child.roll {
    opacity: 0.5;
}
.img-menu a.elementor-element.e-flex.e-con.e-child:hover {
    opacity: 1;
}
.img-menu .elementor-element.e-flex.e-con.e-child:hover .hover.elementor-element.elementor-widget {
    opacity: 1;
}










/*
    .btn.elementor-element a:before,
    .btn-menu.elementor-element .the-btn .elementor-widget-container:before,
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 20px;
        bottom: 0;
        left: 0;
        visibility: hidden;
        transform-origin: 0% 50%;
        transition: all 0.9s ease-in-out 0s;
        top: 21px;
    }
    .btn.elementor-element a,
    .btn-menu.elementor-element .the-btn .elementor-widget-container,
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link {
        background-image: url('img/underline.svg');
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: left bottom;
        padding-bottom: 10px!important;
    }
            body.home nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link {
                background-image: url('img/underline_white.svg');
            }
        nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link {
            background-size: 200px;
            background-position: right bottom;
        }


    .btn-menu.elementor-element .the-btn .elementor-widget-container {
        background-size: inherit;
        padding-bottom: 15px!important;
    }
    .btn.elementor-element a:before,
    .btn-menu.elementor-element .the-btn .elementor-widget-container:before,
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
        background-color: #FFF;
    }
    .btn.elementor-element a:before,
    .btn-menu.elementor-element .the-btn .elementor-widget-container:before,
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
        visibility: visible;
        transform: scaleX(1);
    }
        nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
            margin-top: 5px;
        }
    .btn.elementor-element a:hover:before,
    .btn-menu.elementor-element:hover .the-btn .elementor-widget-container:before,
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:hover:before {
        visibility: visible;
        transform: scaleX(1) translateX(100%);
    }
*/

.btn-article a {
    color: #000;
}

.btn.elementor-element a:before,
.btn-menu.elementor-element .the-btn .elementor-widget-container:before,
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container:before,
.btn-article a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 20px;
    bottom: 0;
    left: 0;
    visibility: hidden;
    transform-origin: 0% 50%;
    transition: all 0.9s ease-in-out 0s;
    top: 21px;
}
.btn.elementor-element a,
.btn-menu.elementor-element .the-btn .elementor-widget-container,
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container,
.btn-article a {
    background-image: url('img/underline.svg');
    /*
    background-size: 100%;
    background-position: left bottom;
    */
    background-size: 200px;
    background-position: -250px bottom;

    background-repeat: no-repeat;
    padding-bottom: 10px!important;
}
    .btn.elementor-element a,
    .btn-menu.elementor-element .the-btn .elementor-widget-container,
    .btn-article a {
        background-position: -100px bottom;
    }


        body.home nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container:not(body.home .fixed nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container) {
            background-image: url('img/underline_white.svg');
        }
        
    /*
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link {
        background-size: 200px;
        background-position: -250px bottom;
    }


.btn-menu.elementor-element .the-btn .elementor-widget-container {
    background-size: inherit;
    padding-bottom: 15px!important;
}
.btn.elementor-element a:before,
.btn-menu.elementor-element .the-btn .elementor-widget-container:before,
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
   
}

.btn.elementor-element a:before,
.btn-menu.elementor-element .the-btn .elementor-widget-container:before,
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
    visibility: visible;
    transform: scaleX(1);
}
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:before {
        margin-top: 5px;
    }

/*
.btn.elementor-element a:hover:before,
.btn-menu.elementor-element:hover .the-btn .elementor-widget-container:before,
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-title a.e-link:hover:before {
    visibility: visible;
    transform: scaleX(1) translateX(100%);
}
*/


.btn.elementor-element a:hover,
.btn-menu.elementor-element:hover .the-btn .elementor-widget-container,
nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container:hover,
.btn-article a:hover {
    background-position: right bottom;
}











nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container:hover {
    color: var(--color-black);
    background-position: right bottom;
}

	body.home nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container:hover {
		color: #FFF;
	}
	body.home .fixed nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container:hover {
		color: #000;
	}
    nav.e-n-menu ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a.e-link.e-n-menu-title-container {
        color: var(--color-black);
    }












    

header.elementor-location-header.fixed:not(#separate-mobile-menu div.elementor-location-header.fixed),
body.home header.elementor-location-header.fixed:not(body.home #separate-mobile-menu header.elementor-location-header.fixed) {
    position: fixed;
    left: 0;
    right: 0;
    top: -300px;
    animation-name: re_move_me;
    animation-duration: 1s;
    animation-delay: 0.1s;
    animation-fill-mode: forwards;
    transition: all 0.45s ease-out;
    background-color: #FFF;
    z-index: 50;
}

body header.elementor-location-header #logo-scroll {
    display: none;
}


body header.elementor-location-header.fixed #main-logo {
    display: none;
}
body header.elementor-location-header.fixed #logo-scroll {
    display: block;
}

body header.elementor-location-header.fixed #header-background {
    display: none;
}

body header.elementor-location-header.fixed header.elementor-element {
    padding: calc(var(--spacer) / 2) 0;
}

body header.elementor-location-header.fixed header.elementor-element .e-con-inner {
    padding: 0;
}




body header.elementor-location-header.fixed ul.e-n-menu-heading a.e-n-menu-title-text.e-link, 
body header.elementor-location-header.fixed .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text {
    color: #000;
}




@-webkit-keyframes re_move_me {
    0% {
        top: -300px;
    }

    100% {
        top: 0px;
    }
}
@keyframes re_move_me {
    0% {
        top: -300px;
    }

    100% {
        top: 0px;
    }
}







/* animated text */
.animated-text .elementor-heading-title:not(.elementor-editor-active .animated-text .elementor-heading-title) {
    opacity: 0;
}
.animated-text .wrap-word {
    display: inline-block;
    opacity: 0;
    /*margin-right: 11px;*/
    transform: translateX(-6px);
    transition: all 1.1s ease-out;
}
.animated-text .wrap-word.visible {
    opacity: 1;
    transform: translateX(0px);
}






#contain-menu-mobile {
    position: fixed;
    z-index: 10;
    top: -120vh;
    left: 0;
    right: 0;
    height: 100vh;
    width: 100vw;
    transition: all 0.45s ease-out;
    z-index: 15;
}
    #contain-menu-mobile.open {
        top: 0;
    }


#wrap-color-container {
    height: 100vh;
}
#wrap-white-container {
    height: 100%;
}


#wrap-menu-mobile ul.e-n-menu-heading {
    flex-direction: column;
}
#wrap-menu-mobile ul.e-n-menu-heading li {
    display: flex;
    justify-content: flex-start;
}
#wrap-menu-mobile ul.e-n-menu-heading li a {
    font-size: 2rem;
}

.show-onlayout,
.show-onlayout.e-con {
	display: none;
}




.elementor-field-type-acceptance.elementor-field-group .elementor-field-subgroup label {
    font-size: 0.8rem!important;
}


@media (max-width: 1680px) {
    :root {
        --p: 1.3rem; /* font-size: 25 */
    
        --heading-1: 2.3rem; /* font-size: 45 */
        --heading-2: 2.1rem; /* font-size: 40 */
        --heading-3: 1.8rem; /* font-size: 35 */
        --heading-4-plus: 1.5rem; /* font-size: 30 */
        --heading-4: 1.3rem; /* font-size: 25 */
        --heading-5: 1.2rem; /* font-size: 22 */
        --heading-6: 1.1rem; /* font-size: 20 */
        --heading-7: 0.9rem; /* font-size: 17 */
    }

    .elementor .elementor-element.e-con-boxed,
	.resizer {
        width: calc(100% - 160px);
    }
	.elementor .elementor-element.e-con-boxed .e-con-inner,
	.e-con>.e-con-inner {
		width: 100%;
		max-width: 100%;
	}

}



@media (max-width: 1440px) {
    :root {
        --unit: 0.95px;
        --spacer: 50px;
        --max-width: 1140px;
    }
    .elementor-widget-n-menu nav.e-n-menu .e-n-menu-heading .e-n-menu-title:not(:last-child) {
        margin-inline-end: 35px;
    }
	.elementor-widget-n-menu nav.e-n-menu .e-n-menu-title-text {
		font-size: 1rem;
	}
	.elementor-element.elementor-widget.elementor-widget-theme-site-logo.elementor-widget-image img {
		height: 45px;
	}
}

@media (min-width: 1281px) {
	body.home .elementor-widget-theme-site-logo img {
		filter: brightness(0) invert(1);
	}
}

@media (max-width: 1280px) {
    :root {

        --p: 1.2rem; /* font-size: 25 */
    
        --heading-1: 2.1rem; /* font-size: 45 */
        --heading-2: 1.8rem; /* font-size: 40 */
        --heading-3: 1.6rem; /* font-size: 35 */
        --heading-4-plus: 1.35rem; /* font-size: 30 */
        --heading-4: 1.2rem; /* font-size: 25 */
        --heading-5: 1.1rem; /* font-size: 22 */
        --heading-6: 1rem; /* font-size: 20 */
        --heading-7: 0.95rem; /* font-size: 17 */

        --unit: 0.85px;
        --spacer: 40px;
    }

    #logo-scroll img {
        width: 80px;
    }


    #wrap-footer-content.elementor-element .e-con-inner {
        flex-wrap: wrap;
    }
    #wrap-footer-content.elementor-element .e-con-inner .elementor-element.e-con-full.e-child:not(#wrap-footer-content.elementor-element .e-con-inner .elementor-element.e-con-full.e-child .elementor-element.e-con-full.e-child ) {
        width: 50%;
        margin-bottom: calc(var(--unit) * 150);
    }
	
	
	.hide-onlayout {
		display: none!important;
	}
	.show-onlayout,
	.show-onlayout.e-con {
		display: block;
	}
	 body.stop {
        overflow: hidden;
    }
    .hamburger {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 10px 0 10px 10px;
        transform: translate(-100%, -50%);
        z-index: 35;
        height: 42px;
    }
    .hamburger-inner, 
    .hamburger-inner:after,
    .hamburger-inner:before {
        width: 30px;
        height: 2px;
        border-radius: 0px;
    }
    body.home .hamburger-inner,
    body.home .hamburger-inner:after,
    body.home .hamburger-inner:before {
        background-color: #FFF;
    }

    body.home .elementor-location-header.fixed .hamburger-inner,
    body.home .elementor-location-header.fixed .hamburger-inner:after,
    body.home .elementor-location-header.fixed .hamburger-inner:before {
        background-color: #000;
    }


    .hamburger-box {
        width: 30px;
    }

    #wrap-logo.elementor-element {
        width: auto;
        z-index: 999;
    }

    body.home ul.e-n-menu-heading a.e-n-menu-title-text.e-link, body.home .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text {
        color: #000;
    }

    .elementor-widget-n-menu nav.e-n-menu .e-n-menu-heading .e-n-menu-title:not(:last-child) {
        margin-inline-end: 0;
    }
    
    
}




@media (max-width: 1140px) {
    .elementor .elementor-element.e-con-boxed,
	.resizer {
        width: calc(100% - 120px);
    }
    .elementor-widget-n-menu nav.e-n-menu .e-n-menu-title-text {
		font-size: 0.9rem;
	}
	.elementor-element.elementor-widget.elementor-widget-theme-site-logo.elementor-widget-image img {
		height: 50px;
	}
}





@media (max-width: 1024px) {
    :root {

        --p: 1.1rem; /* font-size: 25 */

        --heading-1: 2rem; /* font-size: 45 */
        --heading-2: 1.7rem; /* font-size: 40 */
        --heading-3: 1.45rem; /* font-size: 35 */
        --heading-4-plus: 1.25rem; /* font-size: 30 */
        --heading-4: 1.1rem; /* font-size: 25 */
        --heading-5: 1rem; /* font-size: 22 */
        --heading-6: 0.9rem; /* font-size: 20 */
        --heading-7: 0.8rem; /* font-size: 17 */

        --unit: 0.75px;
        --spacer: 40px;
    }






}





@media (max-width: 767px) {
    :root {

        --p: 1.0rem; /* font-size: 25 */

        --heading-1: 2rem; /* font-size: 45 */
        --heading-2: 1.6rem; /* font-size: 40 */
        --heading-3: 1.2rem; /* font-size: 35 */
        --heading-4-plus: 1.2rem; /* font-size: 30 */
        --heading-4: 1rem; /* font-size: 25 */
        --heading-5: 0.9rem; /* font-size: 22 */
        --heading-6: 0.9rem; /* font-size: 20 */
        --heading-7: 0.8rem; /* font-size: 17 */

        --unit: 0.6px;
        --spacer: 40px;
    }

    .resizer-small.elementor-element.e-flex {
        width: calc(100% - 100px);
    }
    .elementor .elementor-element.e-con-boxed,
    .resizer,
    article.resizer-small.elementor-element.e-flex {
        width: calc(100% - 50px);
    }

    a.btn-menu.elementor-element {
        display: inline-block;
        width: auto;
    }


    #logo-scroll img {
        width: 60px;
    }

    .elementor-element.elementor-widget.elementor-widget-theme-site-logo.elementor-widget-image img {
        height: 40px;
    }

    #wrap-menu-mobile ul.e-n-menu-heading li a {
        font-size: 1.4rem;
    }


    #wrap-footer-content.elementor-element .e-con-inner .elementor-element.e-con-full.e-child:not(#wrap-footer-content.elementor-element .e-con-inner .elementor-element.e-con-full.e-child .elementor-element.e-con-full.e-child ) {
        width: 100%;
        margin-bottom: calc(var(--unit) * 150);
    }
}





