/*
Theme Name: Üllői úti Bécsiszelet Vendéglő
Theme URI: https://ulloibecsiszelet.hu
Description: Az Üllői úti Bécsiszelet Vendéglő weboldalának alapértelmezett sablonja
Author: Digitalform
Author URI: https://digitalform.hu/
*/


*{
margin: 0;
padding: 0;
border: 0;
text-decoration: none; 
}

*, *:after, *::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body { font-family: 'Roboto', serif; font-size: 15px; font-weight: 400; background-color: #f4f4f2; background-image: url(images/bgr_body_2.png), url(images/bgr_body.png); background-repeat: no-repeat, repeat; background-position: center bottom, left top; }

li { list-style-type: square; }
hr { margin-bottom: 30px; border-top: 1px solid #ddddda; }
h1, h2, h3, h4, h5 { font-weight: normal; }

img.alignleft, img.alignright, img.aligncenter { border: 5px solid #eee; }
img.alignleft { margin: 0 20px 5px 0; float: left; }
img.alignright { margin: 0 0 5px 20px; float: right; }

select, input, textarea, button { font-family: 'Roboto', serif; font-size: 14px; font-weight: 400; outline: none; }

fieldset { padding: 20px; background-image: url(images/line_h.png), url(images/line_v.png), url(images/line_h.png), url(images/line_v.png); background-position: left top, right top, left bottom, left top; background-repeat: repeat-x, repeat-y, repeat-x, repeat-y; }
fieldset legend { font-size: 20px; }

form h3 { margin-bottom: 20px; font-size: 25px; }


/*
-----------------
	CLASSES
-----------------
*/
.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.inner { width: 1000px; margin: auto; position: relative; }
.required { color: #bf1313; }
.vertical_middle { top: 50%; position: relative; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.b_r_3 { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.b_r_50p { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }

/* Buttons */
.button, .add_to_cart_button { font-size: 16px; text-transform: uppercase; text-decoration: none !important; color: #fff !important; background: #e31717; background: -moz-linear-gradient(top,  #e31717 0%, #bf1313 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e31717), color-stop(100%,#bf1313)); background: -webkit-linear-gradient(top,  #e31717 0%,#bf1313 100%); background: -o-linear-gradient(top,  #e31717 0%,#bf1313 100%); background: -ms-linear-gradient(top,  #e31717 0%,#bf1313 100%); background: linear-gradient(to bottom,  #e31717 0%,#bf1313 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e31717', endColorstr='#bf1313',GradientType=0 ); display: inline-block; cursor: pointer; }
.button:hover, .add_to_cart_button:hover { background: #47413c; background: -moz-linear-gradient(top,  #47413c 0%, #312e2b 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#47413c), color-stop(100%,#312e2b)); background: -webkit-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: -o-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: -ms-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: linear-gradient(to bottom,  #47413c 0%,#312e2b 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#47413c', endColorstr='#312e2b',GradientType=0 ); }
.button_c2 { background: #9d958f; background: -moz-linear-gradient(top,  #9d958f 0%, #8a817a 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9d958f), color-stop(100%,#8a817a)); background: -webkit-linear-gradient(top,  #9d958f 0%,#8a817a 100%); background: -o-linear-gradient(top,  #9d958f 0%,#8a817a 100%); background: -ms-linear-gradient(top,  #9d958f 0%,#8a817a 100%); background: linear-gradient(to bottom,  #9d958f 0%,#8a817a 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d958f', endColorstr='#8a817a',GradientType=0 ); }
.button_c2:hover { background: #47413c; background: -moz-linear-gradient(top,  #47413c 0%, #312e2b 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#47413c), color-stop(100%,#312e2b)); background: -webkit-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: -o-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: -ms-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: linear-gradient(to bottom,  #47413c 0%,#312e2b 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#47413c', endColorstr='#312e2b',GradientType=0 ); }
.button_c3 { color: #222 !important; background: white; }
.button_c3:hover { text-decoration: underline !important; background: none; }
.button_default { height: 40px; padding: 0 15px; line-height: 40px; }

/* Font */
.roboto_condensed, .sec_font { font-family: 'Lora', serif; }
.t_a_c, .center { text-align: center; }

/* Animation */
.anim { -webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; transition: all 0.2s ease-out; }


/*
----------------------
	NOTIFICATIONS
----------------------
*/
.overlay { width: 100%; height: 100%; left: 0; top: 0; background: rgba(71, 65, 60, 0.7); position: fixed; z-index: 1000; visibility: hidden; opacity: 0; }

.overlay .notification { width: 600px; left: 50%; top: 80px; padding: 20px; margin-left: -300px; background: #f4f4f2; position: relative; }
.overlay .notification .info { min-height: 300px; padding-top: 40px; padding-left: 30px; background: #fff url(images/bgr_notification.png) no-repeat right bottom; -moz-box-shadow: 0 3px 4px rgba(138,129,122,0.3); -webkit-box-shadow: 0 3px 4px rgba(138,129,122,0.3); box-shadow: 0 3px 4px rgba(138,129,122,0.3); }
.overlay .notification .info h3 { width: 80%; margin-bottom: 20px; padding-left: 50px; font-size: 25px; color: #46a74e; line-height: 25px; position: relative; }
.overlay .notification .info h3:before { left: 0; top: 0; font-size: 30px; position: absolute; }
.overlay .notification .info .thumbnail { width: 150px; height: 150px; margin-right: 20px; padding: 4px; border: 1px solid #ddddda; }
.overlay .notification .info .datas { width: 50%; padding-top: 10px; }
.overlay .notification .info .datas h4 { margin-bottom: 15px; font-size: 18px; font-weight: 700; color: #222; }
.overlay .notification .info .datas .price { margin-bottom: 15px; font-size: 16px; color: #8a817a; }
.overlay .notification .info .datas a.button { height: 35px; padding: 0 15px; font-size: 14px; line-height: 35px; }

.overlay .close_overlay { width: 30px; height: 30px; right: 35px; top: 35px; text-align: center; color: #ddddda; border: 2px solid #ddddda; position: absolute; cursor: pointer; }
.overlay .close_overlay:before { margin: 0; line-height: 26px; }
.overlay .close_overlay:hover { color: #666; border-color: #666; }

body.open-notification .overlay { visibility: visible; opacity: 1; }
body.open-notification .notification { top: 100px; }


/*
-----------------
	TOP BAR
-----------------
*/
#top_bar { height: 40px; margin-bottom: 20px; color: white; background: url(images/bgr_topbar.png) repeat-x left top; }
#top_bar .sep { width: 45px; height: 100%; background: url(images/circle_white.png) no-repeat center; display: inline-block; position: relative; }
#top_bar a { vertical-align: top; text-decoration: underline; color: white; line-height: 40px; display: inline-block; }
#top_bar a:hover { text-decoration: none; }

/* Social */
#top_bar .right a { padding-right: 50px;  position: relative; }
#top_bar .right a:after { width: 40px; height: 40px; margin: 0; right: 0; top: 0; background: rgba(0,0,0,0.2) url(images/icon_facebook_white.svg) no-repeat center; background-size: auto 20px; position: absolute; content: ''; }


/*
---------------
	HEADER
---------------
*/
#header { height: 120px; }
#header .box { height: 120px; float: left; }

/* Booking */
#header .box.booking { width: 340px; }
#header .box.booking > div { height: 30px; padding-left: 40px; font-size: 16px; color: #666; line-height: 17px; position: relative; }
#header .box.booking > div:before { left: 0; top: 5px; margin: 0; font-size: 30px; color: #8a817a; position: absolute; }
#header .box.booking > div strong { font-size: 16px; font-weight: 700; color: #333; }

/* Logo */
#header .box.logo { width: 320px; text-align: center; border-left: 1px solid #ddddda; border-right: 1px solid #ddddda; }
#header .box.logo a { display: block; }

/* Cart */
#header .box.cart { width: 340px; text-align: right; }
#header .box.cart a { height: 30px; padding-right: 40px; font-size: 15px; color: #666; line-height: 30px; display: inline-block; position: relative; }
#header .box.cart a:before { right: 0; top: 0; margin: 0; font-size: 30px; color: #8a817a; position: absolute; }
#header .box.cart a:hover { text-decoration: underline; color: #222; }
#header .box.cart a:hover:before { text-decoration: none; }
#header .box.cart a.information { height: auto !important; padding-right: 0; font-size: 15px; font-weight: 700; text-decoration: underline; color: #bf1313; line-height: normal; }
#header .box.cart a.information:hover { color: #000; }


/*
-------------
	MENU
-------------
*/
#menu { height: 50px; border-top: 1px solid #ddddda; position: relative; z-index: 10; }
#menu ul { padding-top: 5px; text-align: center; }
#menu ul li { height: 40px; padding-right: 8px; background: url(images/circle_silver.png) no-repeat center right; display: inline-block; position: relative; }
#menu ul li:last-child { margin-right: 0; padding-right: 0; background: none; }
#menu ul li a { height: 40px; padding: 0 15px; font-size: 17px; font-weight: 700; text-transform: uppercase; color: #36312d; line-height: 40px; display: inline-block; }
#menu ul li a:hover { text-decoration: underline; }

#menu ul li ul { width: 210px; left: 0; top: 40px; padding-top: 55px; padding-bottom: 5px; text-align: left !important; background: #bf1313 url(images/bgr_menu_ul_ul.png) no-repeat left -40px; position: absolute; visibility: hidden; }
#menu ul li ul li { height: auto !important; margin: 0 !important; background: none; display: block; }
#menu ul li ul li a { height: auto !important; padding: 2px 15px !important; font-family: 'Roboto', sans-serif; font-size: 15px; font-weight: normal; text-transform: none; text-decoration: none !important; line-height: normal; background: none !important; }
#menu ul li ul li a:hover { text-decoration: underline !important; }

#menu ul li.current_page_item a, #menu ul li.current-menu-item a { text-decoration: underline; color: #bf1313 !important; }
#menu ul li.menu-item-has-children:hover a { color: #fff !important; background: url(images/bgr_menu_ul_ul.png) no-repeat left top; }
#menu ul li.menu-item-has-children:hover ul { visibility: visible; }


/*
--------------
	SLIDER
--------------
*/
#slider_wrapper { margin-bottom: 50px; position: relative; }
#slider_wrapper .decor { width: 40px; height: 40px; left: 50%; bottom: -20px; margin-left: -20px; text-align: center; background: url(images/bgr_body.png) no-repeat center bottom; position: absolute; z-index: 3; }
#slider_wrapper .slick-slide { max-height: 400px; background-repeat: no-repeat; background-position: center; background-size: cover; position: relative; }
#slider_wrapper .slick-slide:after { padding-top: 30%; display: block; content: ''; }
#slider_wrapper .slick-slide .entry { width: 100%; height: 100%; left: 0; top: 0; color: white; background: url(images/slider_mask.png) no-repeat left top; position: absolute; z-index: 2; }

#slider_wrapper .slick-slide .entry h2 { max-width: 640px; margin: 0 auto 25px; padding-bottom: 25px; font-size: 40px !important; font-weight: 700; text-transform: uppercase; text-shadow: 3px 3px 0 rgba(0,0,0,0.3); line-height: 50px; position: relative; }
#slider_wrapper .slick-slide .entry h2:after { width: 400px; height: 2px; left: 50%; bottom: 0; margin-left: -200px; background: white; position: absolute; content: ''; }
#slider_wrapper .slick-slide .entry h3 { padding: 0 200px; font-size: 18px !important; text-shadow: 2px 2px 0 rgba(0,0,0,0.5); line-height: 25px; }
#slider_wrapper .slick-slide .entry a.read_more { height: 50px; margin-top: 25px; padding: 0 20px; font-size: 16px; text-transform: uppercase; color: white; line-height: 50px; background: #e31717; background: -moz-linear-gradient(top,  #e31717 0%, #bf1313 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e31717), color-stop(100%,#bf1313)); background: -webkit-linear-gradient(top,  #e31717 0%,#bf1313 100%); background: -o-linear-gradient(top,  #e31717 0%,#bf1313 100%); background: -ms-linear-gradient(top,  #e31717 0%,#bf1313 100%); background: linear-gradient(to bottom,  #e31717 0%,#bf1313 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e31717', endColorstr='#bf1313',GradientType=0 ); display: inline-block; }
#slider_wrapper .slick-slide .entry a.read_more:hover { background: #47413c; background: -moz-linear-gradient(top,  #47413c 0%, #312e2b 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#47413c), color-stop(100%,#312e2b)); background: -webkit-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: -o-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: -ms-linear-gradient(top,  #47413c 0%,#312e2b 100%); background: linear-gradient(to bottom,  #47413c 0%,#312e2b 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#47413c', endColorstr='#312e2b',GradientType=0 ); }

/* Arrows */
#slider_wrapper .slick-arrow { width: 50px; height: 50px; left: 30px; top: 50%; margin-top: -25px; text-indent: -9999px; background: url(images/icon_arrow_left_white.svg) no-repeat center; background-size: auto 50px; position: absolute; z-index: 10; cursor: pointer; opacity: 0.5; }
#slider_wrapper .slick-arrow:hover { opacity: 1; }
#slider_wrapper .slick-arrow.slick-next { left: auto; right: 30px; background-image: url(images/icon_arrow_right_white.svg); }


/*
-------------
	BOXES
-------------
*/
#boxes { margin-left: -40px; margin-right: -40px; margin-bottom: 40px; font-size: 0; }
#boxes .box { width: 33.3333333333%; padding-left: 40px; padding-right: 40px; vertical-align: top; display: inline-block; }
#boxes .box .wrapper { min-height: 330px; padding-top: 40px; color: #18180d; border-top: 1px solid #ddddda; border-bottom: 1px solid #ddddda; }
#boxes .box .wrapper h3 { height: 20px; margin-bottom: 20px; padding: 0 20px; font-size: 18px; font-weight: 700; text-transform: uppercase; line-height: 20px; background: url(images/circle_dark.png), url(images/circle_dark.png); background-repeat: no-repeat; background-position: left center, right center; display: inline-block; }
#boxes .box .wrapper p { min-height: 140px; font-size: 15px; line-height: 25px; }
#boxes .box .wrapper .icon { width: auto; height: 80px; margin: auto; display: block; }

/* Frontpage products */
#frontpage_products { margin-bottom: 50px; }
#frontpage_products h2 { margin-bottom: 5px; font-size: 40px; text-align: center; text-transform: uppercase; line-height: 40px; color: #222; }
#frontpage_products a.view_all { margin-bottom: 30px; font-size: 17px; font-weight: 700; text-align: center; text-decoration: underline; color: #bf1313; display: block; }
#frontpage_products a.view_all:hover { color: #000; }

/* Contact */
#contact { margin-bottom: 50px; }
#contact .box { width: 350px; height: 200px; margin-right: 50px; padding-top: 50px; padding-left: 50px; font-size: 15px; color: white; line-height: 25px; background: #bf1313; float: left; }
#contact .box.empty { color: #bf1313; background: none; border: 2px solid #bf1313; }
#contact .box h3 { height: 35px; margin-bottom: 10px; font-size: 20px; position: relative; }
#contact .box h3:after { width: 130px; height: 1px; left: 0; bottom: 0; background: white; position: absolute; content: ''; }
#contact .box a { text-decoration: underline; color: white; }
#contact .box a:hover { text-decoration: none; }
#contact .box.empty h3:after { background: #bf1313; }


/*
----------------
	CONTENT
----------------
*/
.container { background: white; border: 1px solid #ddddda; border-top: none; position: relative; }
.container:before { width: 100%; height: 5px; left: 0; top: 0; background: #bf1313; position: absolute; content: ''; }
.container.page { margin-bottom: 50px; padding: 23px; }

#content { font-size: 15px; line-height: 25px; }
#content p { margin-bottom: 20px; }
#content a { color: #000; text-decoration: underline; }
#content ul { margin-left: 20px; margin-bottom: 20px; }
#content p ~ ul { margin-top: -20px; }
#content ol { margin-left: 20px; margin-bottom: 20px; }
#content ol li { list-style-type: decimal !important; }
#content iframe { width: 620px; height: 400; }
#content blockquote { font-size: 30px; font-weight: 300; color: #c55031; line-height: 35px; }
#content h1.title, #content h2.title { margin-bottom: 30px; padding-top: 65px; font-size: 50px; font-weight: 700; text-align: center; color: #222; line-height: 50px; background: url(images/bgr_title.png) no-repeat center top; }
#content h3 { margin-bottom: 10px; font-weight: 700; color: #000; }

.full #content { width: 100%; float: none; }


/*
----------------
	ABOUT US
----------------
*/
#aboutus_page { padding: 20px; background: url(images/bgr_body.png) repeat left top; }
#aboutus_page .aboutus_page_wrapper { height: 630px; background: white; -moz-box-shadow: 0 3px 4px rgba(138,129,122,0.3); -webkit-box-shadow: 0 3px 4px rgba(138,129,122,0.3); box-shadow: 0 3px 4px rgba(138,129,122,0.3); }
#aboutus_page .aboutus_page_left { width: 420px; height: 630px; background-repeat: no-repeat; background-position: center; background-size: cover; float: left; position: relative; overflow: hidden; }
#aboutus_page .aboutus_page_left .cover { width: 70px; height: 630px; right: 0; top: 0; background: url(images/aboutus_cover.png) no-repeat right top; position: absolute; z-index: 10; }
#aboutus_page .aboutus_page_right { width: calc(100% - 420px); height: 630px; padding: 50px 80px 50px 30px; text-align: center; background: url(images/bgr_notification.png) no-repeat right bottom; float: right; }

/* Contact */
#contact_page { font-size: 15px; text-align: center; }
#contact_page #contact_left { width: 35%; float: left; }
#contact_page #contact_left h2 { padding-bottom: 30px; font-size: 30px; font-weight: 700; text-transform: uppercase; color: #000; line-height: 30px; border-bottom: 1px solid #dbd1c3; }
#contact_page #contact_left .contact_part { padding: 30px 0; border-bottom: 1px dotted #dbd1c3; }
#contact_page #contact_left .contact_part.contact_part_2 { font-size: 16px; font-weight: 700; }
#contact_page #contact_left .contact_part.contact_part_3 { border-bottom: none; }
#contact_page #contact_right { width: 60%; float: right; }
#contact_page #contact_right iframe { width: 100% !important; }


/*
------------------
	PAGENAVI
------------------	
*/
.pagination { text-align: center; }
.pagination .pages { margin-bottom: 20px; text-align: center; display: block; }
.pagination a, .pagination span.current { width: 30px; height: 30px; margin: 0 1px; text-align: center; text-decoration: none !important; color: #fff !important; line-height: 30px; background: #a2b670; display: inline-block; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
.pagination span.current { background: #778b43; }


/*
-------------
	FAQ
-------------
*/
#faq_question_container { margin-bottom: 30px; padding: 0 0 20px 20px; background: url(images/line_h.png) no-repeat left bottom; }
#faq_question_container li { list-style-type: disc !important; }
#faq_question_container li a { font-size: 15px; font-weight: bold; text-decoration: underline; }
#faq article { margin-bottom: 30px; padding-bottom: 30px; background: url(images/line_h.png) no-repeat left bottom; }
#faq article:last-of-type { margin-bottom: 0; padding-bottom: 0; background: none; }
#faq article p:last-of-type { margin-bottom: 0; }
#faq article h2 { margin-bottom: 5px; font-size: 30px; }


/*
-----------------
	SIDEBAR
-----------------
*/
#sidebar { width: 280px; float: left; }
#sidebar a { color: #000; }
#sidebar .widget { margin-bottom: 27px; }
#sidebar .df_woocommerce_cat_widget { margin-bottom: 10px !important; }
#sidebar .df_woocommerce_cat_widget select { margin-bottom: 0 !important; }
#sidebar h3.widget-title { font-size: 23px; font-weight: 700; line-height: 20px; } 


/* 
---------------
	FOOTER
---------------
*/
#footer { height: 270px; padding-top: 30px; color: #d4ccc6; line-height: 25px; background: url(images/bgr_footer.png) repeat-x left top; }
#footer p { margin-bottom: 15px; }
#footer a { text-decoration: underline; color: #d4ccc6; }
#footer a:hover { color: white; }
#footer ul li { margin-left: 0 !important; list-style: none !important; }
#footer strong { color: #e9e3de; }
#footer img { margin-bottom: 10px; }
#footer .p_l_30 { padding-left: 30px; }
#footer .bordered { border-left: 1px solid #39352f; }

/* Footer top */
#footer #footer_top { height: 180px; }
#footer #footer_top .box { width: 25%; height: 180px; padding-top: 20px; }
#footer #footer_top .box.logo { text-align: center; }
#footer #footer_top .box.logo a { display: inline-block; }

/* Footer bottom */
#footer #footer_bottom { height: 60px; padding: 0 50px; border-top: 1px solid #39352f; line-height: 60px; }
#footer #footer_bottom a { text-decoration: none; }
#footer #footer_bottom u { text-decoration: underline; }