/*
Skin Name:Ultra Ristorante
Version:1.0.0
Demo URI:https://themify.me/demo/themes/ultra-ristorante/
Required Plugins:builder-contact
*/

/************************************************************************************
GENERAL
*************************************************************************************/
:root{
	--theme_accent:#ef2753;
	--theme_accent_semi:rgba(239,39,83,.8);
}
body{
	font:1em/1.625em 'Lato',Arial,sans-serif;
	color:#999
}
a{
	color:#333
}
a:hover{
	color:var(--theme_accent)
}

/* FORMS
================================================ */
textarea,input, input[type=text], input[type=password], input[type=search], input[type=email], input[type=url], input[type=number], input[type=tel], input[type=date], input[type=datetime], input[type=datetime-local], input[type=month], input[type=time], input[type=week]{
	font-weight:400;
	font-size:.875em;
	padding:1.1em 1.3em;
}
input[type=reset], input[type=submit], button[type=submit], button{
	font-size:.875em;
	font-weight:700;
	padding:1.13em 2.6em;
	letter-spacing:0.05em
}
#commentform .form-submit{
	text-align:center
}
#commentform p label{
	text-transform:none;
	transform:translate(20px, 39px);
	display:inline-block;
	font-size:.875em
}
#review_form p label{
	transform:none
}

/* HEADINGS
================================================ */
h1,h2,h3,h4,h5,h6{
	font-family:'Lato',Arial,sans-serif;
	font-weight:700
}
h3{
	font-size:2.3em
}

/************************************************************************************
HEADER
*************************************************************************************/
#headerwrap{
	border:none;
	box-shadow:0 0 0 1px rgba(0, 0, 0, 0.05)
}

/* SITE LOGO
================================================ */
#site-logo{
	font-size:1.5em;
	font-weight:700;
	letter-spacing:.035em
}

/* MAIN NAVIGATION
================================================ */
#main-nav a{
	font-weight:400
}

/* mega menu */
#main-nav .has-mega-column .widgettitle,
#main-nav .has-mega-column > .sub-menu > .columns-sub-item > a{
	font-weight:400
}
#main-nav .mega-menu-posts .post,
#main-nav .mega-menu-posts .post-title{
	text-align:left
}

/* CART ICON
================================================ */
.cart-icon-link{
	position:relative;
	margin-left:0;
	margin-right:0
}
.cart-icon-link:before,
.header-overlay .cart-icon-link:before,
.header-slide-down .cart-icon-link:before{
	content:"";
	position:absolute;
	border-left:1px solid;
	left:0;
	top:0;
	bottom:0;
	opacity:.6
}
.cart-wrap a span{
	min-width:10px;
	min-height:10px;
	padding:2px;
	vertical-align:top;
	line-height:10px
}
.cart-wrap a{
	padding:4px .6em
}

/* SEARCH BUTTON
================================================ */
.search-button{
	padding:7px .51em
}

/* SEARCH OPTIONS
================================================ */
.search-option-tab li:hover a,
.search-option-tab li.active a{
	box-shadow:inset 0 -3px 0 0 var(--theme_accent)
}
.search-results-wrap .view-all-button{
	color:var(--theme_accent)
}
.view-all-button:after{
	border-color:var(--theme_accent)
}

/* SOCIAL WIDGETS
================================================ */
.social-widget .social-links.horizontal li:last-child{
	margin-right:0;
	padding-right:0
}

/* HEADER HORIZONTAL/TOP WIDGETS/BOXED COMPACT
================================================ */
.boxed-compact #searchform-wrap,
.boxed-compact .search-button,
.boxed-compact .social-widget{
	order:1
}
.header-top-widgets.slide-cart .search-button,
.boxed-compact.slide-cart .search-button,
.header-horizontal.slide-cart .search-button{
	margin-right:69px
}
.header-top-widgets.slide-cart .cart-icon,
.boxed-compact.slide-cart .cart-icon,
.header-horizontal.slide-cart .cart-icon{
	position:absolute;
	right:0
}
.header-top-widgets.slide-cart.search-off .cart-icon,
.boxed-compact.slide-cart.search-off .cart-icon,
.header-horizontal.slide-cart.search-off .cart-icon{
	position:static
}
.header-horizontal #site-logo{
	margin-top:9px
}

/* HEADER BLOCK
================================================ */
.header-block .cart-icon{
	border-right:none;
	padding-right:0;
	margin-right:0
}

/* HEADER BOXED CONTENT
================================================ */
.boxed-content #footerwrap{
	color:inherit
}
.boxed-content .cart-icon{
	border-right:none
}

/* HEADER BOXED LAYOUT
================================================ */
.boxed-layout .cart-icon{
	border-right:none;
	padding-right:0;
	margin-right:0
}


/* HEADER MINBAR
================================================ */
.header-minbar .cart-wrap .icon-shopping-cart + span{
	min-width:1em;
	min-height:1em;
	bottom:auto;
	padding:4px 7px
}
.header-minbar .cart-wrap .cart-icon-link:before{
	border:none
}

/* HEADER TOPBAR
================================================ */
.header-top-bar:not(.mobile_menu_active) #main-nav-wrap{
	order:-1
}
.header-top-bar:not(.mobile_menu_active) .cart-icon{
	position:absolute;
	right:0
}
.header-top-bar:not(.mobile_menu_active) #header .social-widget{
	margin-left:.6em
}
.header-top-bar.slide-cart:not(.mobile_menu_active) .search-button{
	margin-left:0;
	margin-right:44px
}
.header-top-bar:not(.mobile_menu_active) .pull-down{
	margin-left:.25em
}

/* HEADER OVERLAY
================================================ */
.header-overlay .cart-wrap{
	font-size:initial
}
.header-overlay .cart-icon-link{
	position:relative;
	margin-left:0;
	margin-right:.6em
}
body.header-overlay .cart-icon-link:before{
	left:auto;
	right:0
}
/* HEADER STRIPE
================================================ */
.header-stripe #site-logo{
	padding-top:.8em;
	background-color:var(--theme_accent)
}
.header-stripe .navbar-wrapper .cart-icon-link{
	padding:4px .6em
}
.header-stripe:not(.mobile_menu_active) .navbar-wrapper .cart-icon-link:before{
	border-left:1px solid #e5e5e5
}

/* HEADER MAGAZINE
================================================ */
.header-magazine:not(.mobile_menu_active) .navbar-wrapper .cart-icon-link{
	border:none
}
.header-magazine:not(.mobile_menu_active) .navbar-wrapper .cart-icon-link:before{
	opacity:.07
}
.header-magazine:not(.mobile_menu_active):not(.fixed-header-on) #header .navbar-wrapper{
	position:absolute
}

/* HEADER CLASSIC
================================================ */
.header-classic .navbar-wrapper .cart-icon-link{
	border-left-color:rgba(255,255,255,.2)
}
.header-classic .search-button{
	padding:18px 19px
}
.header-classic:not(.mobile_menu_active) #header .navbar-wrapper{
	position:absolute
}

/* HEADER SLIDEOUT
================================================ */
.header-slide-out .cart-icon-link{
	border-left:1px solid rgba(180,180,180,.2);
	margin-left:.8em
}

/* HEADER SLIDEDOWN
================================================ */
.header-slide-down .cart-icon-link{
	margin-right:.6em
}
body.header-slide-down .cart-icon-link:before{
	left:auto;
	right:0
}

/************************************************************************************
POST
*************************************************************************************/
.loops-wrapper .post-image img,
.related-posts .post-image img{
	border-radius:8px
}

/************************************************************************************
PAGE NAVIGATION
*************************************************************************************/
.pagenav .current,
.pagenav a{
	border:none
}
.pagenav a:hover,
.pagenav .current{
	background-color:var(--theme_accent);
	color:#fff;
	text-decoration:none
}

/************************************************************************************
WIDGETS
*************************************************************************************/
.widgettitle{
	text-transform:none;
	font-size:1.1em;
	font-weight:700;
	letter-spacing:0
}

/************************************************************************************
FOOTER
*************************************************************************************/
#footerwrap{
	background-color:#000;
	color:#c1c1c1;
	border:none
}
#footerwrap a{
	color:var(--theme_accent)
}
#footerwrap a:hover{
	color:#fff
}
#footer{
	font-size:100%
}

/* FOOTER LOGO
================================================ */
#footer-logo a{
	color:#fff
}

/* FOOTER WIDGETS
================================================ */
.footer-widgets{
	text-align:left
}
.footer-widgets .widget-title,
.footer-widgets .module-title{
	color:#fff
}

/* FOOTER TEXT
================================================ */
.section-col + .footer-text{
	padding:2em 0 .6em;
	font-size:1em;
	text-align:center
}
.section-col + .footer-text .one{
	margin-right:10px
}
.footer-text .one{
    margin-bottom:15px
}
.section-col + .footer-text .one,
.section-col + .footer-text .two{
	display:inline-block
}

/* FOOTER FORM
================================================ */
.footer-widgets input[type=email]{
	padding:.55em 1.4em
}
.footer-widgets button{
	padding:.6em 1.4em;
	margin:0 0 .4em
}
.footer-widgets button:hover{
	background-color:#f56080
}

/************************************************************************************
WOOCOMMERCE
*************************************************************************************/
/* ARCHIVE PRODUCTS
================================================ */
.woocommerce ul.products li.product a img{
	margin:0 0 1.35em
}
.woocommerce #respond input#submit.loading::after, 
.woocommerce a.button.loading::after, 
.woocommerce button.button.loading::after, 
.woocommerce input.button.loading::after{
	top:auto
}

/* SINGLE PRODUCTS
================================================ */
/* BUTTON */
#slide-cart .button,.woocommerce ul.products li.product .button,.woocommerce a.button.disabled,.woocommerce button.button.disabled,
.woocommerce button.button.alt.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce input.button.disabled,.woocommerce input.button:disabled,.woocommerce input.button:disabled[disabled],.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
	font-size:.9em;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.05em;
	padding:1.13em 2.6em
}
.woocommerce ul.products li.product .button{
	font-size:.75em;
	padding:.98em 1.6em
}
#slide-cart .button:hover,.woocommerce ul.products li.product .button:hover,.woocommerce a.button.alt.disabled:hover,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled]:hover,.woocommerce input.button.alt.disabled:hover,.woocommerce input.button.alt:disabled:hover,.woocommerce input.button.alt:disabled[disabled]:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
	background-color:#000;
	color:#fff
}

/* Title */
.woocommerce div.product .product_title{
	color:rgb(54,54,54);
	font-size:1.625em;
	font-weight:700;
	letter-spacing:0;
	margin:0 0 .33em
}

/* price */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
	color:var(--theme_accent);
	font-size:1em;
	font-weight:700;
	margin:0 0 .75em;
	transform:none
}
.woocommerce div.product p.price{
	font-size:1.5em
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del{
	color:#363636
}

/* quantity */
.woocommerce .quantity .qty{
	padding:.775em;
	width:5em
}

/* breadcrumb */
.woocommerce .woocommerce-breadcrumb{
	color:var(--theme_accent);
	font-weight:700
}
.woocommerce .woocommerce-breadcrumb a{
	color:#000
}

/* tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	color:#999;
	padding:1.05em 1.45em
}

/* CART
================================================ */
.woocommerce #content table.cart td.actions .coupon .input-text,
#content .woocommerce .woocommerce-cart-form table.cart td.actions .coupon .input-text{
	padding:.8em .7em;
	width:8em
}
#slide-cart .button{
	padding:.8em 1.2em
}

/* CHECKOUT
================================================ */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single .select2-selection__arrow{
	height:40px;
	border-radius:3px;
	border-color:#ddd
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height:40px
}
.select2-results__option{
	margin:0
}

/************************************************************************************
BUILDER STYLES
*************************************************************************************/
/* TESTIMONIAL SLIDER
================================================ */
.themify_builder_slider_wrap .testimonial-content,
.module-slider.themify_builder_slider_vertical .slide-content{
	width:80% !important;
	margin:0 auto;
	position:relative
}
.module-testimonial-slider:not(.image-bubble) .testimonial-entry-content{
	margin:20px auto;
	position:relative;
	background-color:#fff;
	padding:60px 45px;
	box-sizing:border-box;
	box-shadow:0 0 50px 0 rgba(0, 0, 0, 0.05)
}
.module-testimonial-slider .testimonial-entry-content:before{
	content:"\201C";
	color:var(--theme_accent);
	display:inline-block;
	font-size:10em;
	position:absolute;
	left:45px;
	top:-20px;
	padding-top:.3em;
	font-family:serif
}
.module-testimonial-slider .testimonial-image img{
	border-radius:8px;
	padding:0 !important
}
.testimonial-author .person-name{
	color:#222;
	font-size:1.13em;
	line-height:1em
}
.testimonial-author .person-position{
	font-size:.82em
}
.module-testimonial-slider .carousel-prev:before, 
.module-testimonial-slider .carousel-next:before{
	width:7px;
	height:7px;
	border-width:1px
}
.themify_builder_slider_wrap.themify_builder_slider_vertical .carousel-prev, 
.themify_builder_slider_wrap.themify_builder_slider_vertical .carousel-next{
	padding:5px 7px;
	background-color:#fff;
	color:#a1a1a1;
	box-shadow:0 5px 10px 0 rgba(0, 0, 0, 0.02);
	width:40px !important;
	height:40px !important;
	box-sizing:border-box
}
.themify_builder_slider_wrap.themify_builder_slider_vertical .carousel-prev{
	left:5px
}
.themify_builder_slider_wrap.themify_builder_slider_vertical .carousel-next{
	right:5px
}
/* image bottom style */
.module-testimonial-slider.image-bottom .testimonial-image{
	order:0;
	margin-top:0
}
.module-testimonial-slider.image-bottom .testimonial-author{
	margin-top:.8em
}
.module.module-testimonial-slider.image-bottom.themify_builder_slider_vertical .carousel-prev, 
.module.module-testimonial-slider.image-bottom.themify_builder_slider_vertical .carousel-next{
	top:36%
}

/* SLIDER
================================================ */
.module-slider:not(.themify_builder_slider_vertical) .carousel-nav-wrap{
	justify-content:inherit;
	padding:0 3%
}
.themify_builder_slider_wrap .carousel-pager a{
	color:#222;
	background-color:#222;
	margin:0 5px
}
.themify_builder_slider_wrap .carousel-pager a:hover, 
.themify_builder_slider_wrap .carousel-pager a.selected{
	color:var(--theme_accent)
}
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-prev,
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-next{
	position:relative;
	padding:0;
	margin:0 5px;
	width:30px;
	height:20px
}
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-prev:before, 
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-next:before{
	content:'';
	display:inline-block;
	width:10px;
	height:10px;
	transform:rotateZ(45deg) translateY(-50%);
	position:absolute;
	left:0;
	top:50%;
	margin:0;
	border:none
}
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-prev:before{
	border-left:2px solid #222;
	border-bottom:2px solid #222;
	margin-bottom:7px
}
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-next:before{
	border-right:2px solid #222;
	border-top:2px solid #222;
	left:auto;
	right:0;
	margin-right:7px
}
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-prev:after, 
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-next:after{
	content:'';
	display:inline-block;
	border-bottom:2px solid #222;
	width:23px;
	height:1px;
	position:absolute;
	left:3px;
	top:50%
}
.themify_builder_slider_wrap:not(.themify_builder_slider_vertical) .carousel-next:after{
	left:auto;
	right:3px
}

/* SERVICE MENU
================================================ */
.module-service-menu{
	border-bottom:1px dashed #f1f1f1;
	padding:.2em 0
}
.module-service-menu .tb-image-content{
	color:#222
}
.module-service-menu .tb-menu-title{
	font-size:1em;
	font-weight:700;
	margin:2px 0 .55em
}
.module-service-menu .tb-menu-description{
	color:	#999;
	font-size:.875em;
	line-height:1.625em
}
.module-service-menu.image-horizontal .tb-image-content .tb-menu-price{
    border:2px solid var(--theme_accent);
    border-radius:8px;
    font-size:.875em;
    padding:.7em 1.8em;
    margin:0 auto 1em
}
.module-service-menu.image-horizontal .tb-image-wrap{
	margin-right:2.4em;
	margin-bottom:1.4em
}
.module-service-menu.image-horizontal .tb-image-content{
	display:flex;
	align-items:flex-start
}

/* IMAGE MODULE LIGHT BOX
================================================ */
.module-image .image-wrap{
  overflow:hidden
}
.module-image .image-wrap .themify_lightbox{
  position:relative;
  display:block  
}
.module-image .image-wrap .themify_lightbox:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:var(--theme_accent);
	opacity:0;
	transition:opacity .3s
}
.module-image .image-wrap:hover .themify_lightbox:before{
	opacity:.3
}
.module-image .image-wrap .themify_lightbox .zoom{
	background-color:#fff;
	color:var(--theme_accent);
	text-align:center;
	width:75px;
	height:75px;
	margin:0;
	transform:translate(-50%, -50%) scale(0);
	transition:transform .4s
}
.module-image .image-wrap:hover .zoom{
	transform:translate(-50%, -50%) scale(1)
}
.module-image .image-title{
	font-size:.9em;
	letter-spacing:0.02em;
	text-transform:uppercase
}

/* BUILDER BUTTON
================================================ */
.ui.builder_button{
	font-size:.875em;
	letter-spacing:.07em;
	text-transform:uppercase;
	padding:1.15em 2.4em
}
.module-buttons i{
	margin-right:.3em
}
.ui.red,
.module.module-buttons a.red.builder_button{
	background-color:var(--theme_accent);
	color:#fff
}
.module.module-buttons a.red.builder_button:hover{
	background-color:var(--theme_accent_semi);
	color:#fff
}
.module_column .module-buttons a{
	display:inline-flex
}

/* BUILDER CONTACT FORM
================================================ */
.module-contact .builder-contact-field{
	margin:0 0 .9em
}

/************************************************************************************
MEDIA QUERIES
*************************************************************************************/
@media screen and (min-width:681px) and (max-width:1200px){
	.footer-widgets .tb_optin_horizontal .tb_optin_email:nth-of-type(1),
	.footer-widgets .tb_optin_horizontal .tb_optin_submit{
		grid-column:1
	}
}
@media screen and (max-width:1024px){
	.module-service-menu.image-horizontal .tb-image-content{
		flex-wrap:wrap;
		width:100%
	}
	.module-service-menu.image-horizontal .tb-menu-title-wrap{
		width:100%
	}
	.module-service-menu.image-horizontal .tb-image-content .tb-menu-price{
		margin-left:0
	}
}