/* HTML5 ✰ Boilerplate
 * ==|== normalize ==========================================================
 */
*	{ outline: none !important; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; background:#fff;  }
body { margin: 0; font-size: 16px; line-height: 1.231; color:#000; }
body, button, input, select, textarea { font-family: sans-serif; color: #000; }
p	{ line-height: 1.3em; }

::-moz-selection { background: #E5D9D0; color: #333; text-shadow: none; }
::selection { background: #E5D9D0; color: #333; text-shadow: none; }

a { color: #000; }
a:hover { color: #000; text-decoration: none; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #666666; margin: 2em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0 !important; padding: 0 !important; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

.wordCountRemaining { color: #999; font-size: .82em; display: block; margin: 2px 0 0; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

html, body, #main, #container 	{ width: 100%; }
.no-screen	{ display: none !important; }
.lowercase	{ text-transform: lowercase !important; }
.uppercase	{ text-transform: uppercase !important; }
p			{ margin: 0 0 15px; }
img			{ max-width: 100%; }
a			{ color: #007ABC; }
.no-top-margin	{ margin-top: 0 !important; }
.right		{ float: right; }
hr			{ border: none; border-top: solid 2px #007ABC; margin: 25px 0; }
.small-screen-only	{ display: none !important; }
.clear		{ clear: both !important; }
.center		{ text-align: center; }
.no-bottom-margin	{ margin-bottom: 0 !important;; }

select.ddclick	{ display: none; }
hr.divider		{ float: left; margin: 15px auto 30px; width: 100%; border: none; clear: both; border-top: solid 2px #007ABC; }


/* ==|== primary styles =====================================================
   Author: Adam Kizer
   ========================================================================== */
html				{ width: 100%; background: #333333; min-height: 100%; }
.html-popup			{ background: transparent; width: 100% !important; }
body				{ color: #333; font-family: 'Ubuntu', sans-serif; width: 100%; position: absolute; top: 0; left: 0; min-height: 100%; height: 100%; }
.html-popup body	{ padding-bottom: 0; height: auto; min-height: 1px; }
#site-wrapper		{ position: relative; width: 100%; margin: 0 auto; background: #fff; z-index: 1; overflow: hidden; min-height: 100%; }
.body-home #site-wrapper	{ height: auto; min-height: 1px; }
footer				{ border: 0; z-index: 2; width: 100%; background: #333333; position: absolute; bottom: 0; }
footer.home-footer	{ position: relative; bottom: auto; }

.body-home #background-wrapper	{ position: absolute; top: 0; }
#background-wrapper		{ width: 101%; position: fixed; top: 0; max-height: 100%; height: 100%; min-width: 100%;  }
#background-content		{ width: 100%; height: 100%; }
#background-content img	{ width: 100%; }

header							{ position: absolute; width: 100%; margin-bottom: 20px; background: transparent;  margin-bottom: 85px; padding:  0 0 5px; z-index: 5; }
header nav.main-nav				{ background: #000; background: rgba(0,0,0,.3); text-align: center; margin: -2px 0 0; padding: 0; border-bottom: solid 9px #fff; }
.body header nav.main-nav		{ background: rgba(0,0,0,.5); }
header nav.main-nav ul			{ padding: 0; margin: 0; }
header nav.main-nav ul li		{ margin: 0; display: inline-block; }
header nav.main-nav a			{ color: #fff; text-decoration: none; padding: 20px 10px; font-family: 'Ubuntu', sans-serif; font-weight: bold; font-size: 15px; display: inline-block; }
header nav.main-nav a:hover		{ background: #333; }
header nav.main-nav .menu-link	{ font-size: 16px; border: none; color: #fff; background: #db3a1b; padding: 20px 12px 8px; color: #fff !important; text-decoration: none; border-radius: 0 0 5px 5px; border: solid 2px #fff; border-top: none; }
header nav.main-nav .menu-link:hover		{ background: #DF4E32; }


.body-home header			{ margin-bottom: 75px; }
header .logo				{ display: block; position: absolute; top: 0; left: 12px; border-top: none; padding-bottom: 8px;  }
header .logo img			{ width: 160px; border-radius: 0 0 15px 15px; }
header nav.top-nav			{ float: right; margin: 0 0px 0 20px; }
header nav.top-nav span.welcome		{ font-size: 14px; padding-right: 10px; }
header nav.top-nav a				{ color: #000; font-weight: bold; font-size: 14px; text-decoration: none; padding: 4px 12px; line-height: 36px;; }
header nav.top-nav a:hover	{ text-decoration: underline; }

header nav.social-links		{ float: right; margin: 0 12px 0 0; }
header nav.social-links a	{ float: left; width: 36px; height: 36px; display: block; background: #f00; text-indent: -10000px; background: transparent url(images/social-links.png?v=1.1.2) no-repeat top left; margin-left: 10px; }
header nav.social-links a:hover				{ background-position: left bottom; }
header nav.social-links a.twitter			{ background-position: -36px top; }
header nav.social-links a.twitter:hover		{ background-position: -36px bottom; }
header nav.social-links a.subscribe				{ background-position: -72px top; }
header nav.social-links a.subscribe:hover		{ background-position: -72px bottom; }

.js-warning					{ background: #f00; color: #fff; width: 100%; padding: 6px 0; text-align: center; font-weight: bold; z-index: 1000 !important; position: relative !important; }
.js-warning p				{ margin: 0; }

.popup-wrapper		{ padding: 15px 25px; }
.popup-wrapper h1	{ background: #007ABC; color: #fff; padding: 10px 25px; margin: 6px -25px 25px; }
.ie9 .popup-wrapper h1	{ margin-right: -90px; }


#header-content-wrapper			{ background: #fff; background: rgba(255,255,255,.6); width: 100%; }
#header-content					{ padding-top: 3px; padding-bottom: 5px; }
#header-content,
#content-wrapper				{ width: 100%; max-width: 1000px; margin: 0 auto; position: relative;}
#content-wrapper				{  padding-top: 190px;  }
.gimmeSomeRoom					{ padding: 0 12px; position: relative; } 
.content-wrapper				{ float: left; margin: 50px 0 20px; min-height: 75px;  width: 100%;  }
.content-wrapper img			{ display: block; margin: 0 auto; } 
.content-wrapper.major			{ width: 67%; margin-right: 3%; }
.html-popup .content-wrapper.major	{ width: 95%; margin: 0; }
.content-wrapper.minor			{ float: right; width: 30% !important; left: auto !important; right: 30px !important; margin-bottom: 50px; }
.payment-form h4,
.content-wrapper.minor h4		{ background: #007ABC; color: #fff; margin: -8px -20px 0; padding: 6px 20px; text-align: center; font-size: 19px; }
.content						{ padding: 20px 30px; background: #fff; background: rgba(255,255,255,.8); border-radius: 15px; border: solid 6px #007ABC; margin-bottom: 50px; }
.content.opaque 				{ background: #fff; }
#iframe_holder { margin: -15px -30px 0 !important; width: auto !important; }
.html-popup .content-wrapper.major .content	{ padding: 0; background: none !important; border: none !important; margin-bottom: 0; }
.content-wrapper.minor .content	{ padding: 20px; margin-bottom: 20px; }

.minor .sign-in-message			{ margin-top: 10px; }
.minor .asap-message			{ font-size: .72em; margin: 5px 0 0; text-align: center; }
.minor .asap-message p			{ margin: 0 !important; }

.content .half			{ float: left; width: 45%; margin-right: 5%; }
.content .half-right	{ width: 50%; margin-right: 0; }

.content .login-screen-section			{ float: left; width: 39%; margin: 0; }
.content .login-screen-section .Error	{ margin: 10px 0 -10px 20px !important;  }
.content .login-screen-section-right h1		{ padding-left: 0 !important; }
.content .login-screen-section-right .Error	{ margin: 5px 0 10px; }
.content .login-screen-section-middle	{ width: 10%; margin: 0 4% 0 4%; }
.content .login-screen-section-right	{ width: 42%; }
.content .login-screen-section-middle span	{ display: block; width: 100%; text-align: center; font-weight: bold; font-size: 50px; padding-top: 115px; }

.content .login-screen-section-left .submit-buttons .submit-button,
.content .login-screen-section-right .submit-buttons .submit-button { margin-left: 15px; }
html.js .content .login-screen-section-left,
html.js .content .login-screen-section-right { width: 100%; }
html.js .login-screen-section-middle,
html.js .login-screen-section-right { display: none; }
.login-screen-action-buttons { padding: 25px 15px ; border-top: solid 1px #ccc; margin: 25px 0 0; clear: both; float: left; width: 100%; }
.login-screen-action-buttons h3 { color: #007ABC; margin: 0 0 5px; }

.content .login-screen-section h1				{ padding-left: 20px !important; margin-bottom: 0; }
.content .login-screen-section form				{ margin-top: 15px; }
.content .login-screen-section fieldset			{ padding: 14px 18px; }
.content .login-screen-section div.contain,
.content .login-screen-section label			{ color: #333;  }
.content .login-screen-section .submit-buttons	{ margin-top: -8px; padding-left: 26px; }

.content:before, .content:after { content: ""; display: table; }
.content:after { clear: both; }
.content { zoom: 1; }

#footer-content		{ max-width: 1000px; padding: 5px 30px 5px; margin: 0 auto; width: 100%; max-width: 1000px; margin: 0 auto; position: relative; }
footer nav 			{ text-align: center; }
footer nav a		{ color: #fff; text-decoration: none; padding: 0 15px; font-family: 'Ubuntu', sans-serif; font-weight: bold; font-size: 16px; }
footer nav a:hover	{ text-decoration: underline; color: #fff; }
footer p			{ font-size: .72em; margin: 12px 0; text-align: center; color: #aaa; }

.home-footer				{ display: none; }
.body-home .subpage-footer	{ display: none; }
.body-home .home-footer		{ display: block; }

h1					{ color: #007ABC; font-family: 'Ubuntu', sans-serif;  font-weight: bold; text-align: center;  font-size: 32px; letter-spacing: 2px; line-height: 1.2em; margin: 15px 0 25px; text-align: left; }
h1.less-bottom-margin	{ margin-bottom: 10px; }
h4					{ font-size: 21px; margin: 0 0 15px; }

.address-form .submit-buttons						{ padding-left: 15px;; }
.profile-form .submit-buttons						{ padding-left: 8px; }
.contact-form .submit-buttons.add-padding			{ padding-left: 26px; }

.contact-form button,
.button				{ display: inline-block; border: none; color: #fff; background: #db3a1b; padding: 8px 12px 8px; color: #fff !important; line-height: 1em; text-decoration: none; border-radius: 5px; }
.contact-form button:hover,
.button:hover		{ background: #DF4E32; }

.restaurant-buttons			{ float: right; margin: 0 0 0 15px !important; }
.restaurant-buttons .button	{ margin-right: 0; }
.back-button				{  }
.back-to-restaurants		{  }

.restaurant-preview .restaurant-info,
.restaurant-info			{ float: left; display: block; background: #007ABC; border-radius: 50%; text-indent: 0; color: #fff; width: 30px; height: 30px; line-height: 30px; font-weight: bold; font-size: 22px; border: solid 2px #007ABC; text-align: center; text-decoration: none !important; margin: 4px 10px 0 0; }
.restaurant-preview .restaurant-info:hover,
.restaurant-info:hover		{ background: #fff; color: #007ABC; }

.print-button			{ float: left; display: block; width: 26px; height: 26px; background: transparent url(images/print.png?v=1.1.1) no-repeat center center; padding: 0; text-indent: -10000px; overflow: hidden; margin: 6px 0 12px 0; padding: 3px 0; border: none; }
.print-button:hover		{ opacity: .9; }

.dd-option			{ padding: 8px 12px; font-size: 14px; color: #333; }
.dd-option:hover	{ background: #E8F4F7 !important;; }


/* HOME
------------------------*/
.home-content		{ padding: 40px 0 20px; }
.body-home h1		{ text-align: center; color: #fff; border: none !important; text-shadow: -2px 2px 3px #000; font-size: 82px; border-bottom: 3px #fff solid !important; max-width: 450px; margin: 0 auto; padding-bottom: 10px; }
.body-home h2		{ margin: 37px; text-align: center; color: #fff; text-shadow: -2px 2px 3px #000; font-size: 48px; margin: 15px auto 25px; }
.body-home .button	{ border: solid 2px #fff; color: #fff; background: #db3a1b; display: inline-block; padding: 16px 24px;  font-size: 26px; font-weight: bold; margin: 0 auto; border-radius: 15px; margin: 0 0 80px; }
.body-home .button:hover	{ background: #DF4E32;  }

#home-banners-outside-wrapper	{ background: #f00; width: 100%; text-align: center; background: #716161; border: solid 9px #fff; border-left: none; border-right: none; z-index: 2; position: relative; }
#home-banners-wrapper			{ max-width: 1024px; width: 100%; margin: 0 auto;  }
#home-banners-border			{ border: solid 9px #fff; border-top: none; border-bottom: none; }
#home-banners					{  max-width: 1006px; width: 100%; height: 0; padding-bottom: 25.248508946322%; overflow: hidden; }
.banner							{ width: 100%; display: block; max-width: 1006px; width: 100%; height: 0; padding-bottom: 25.248508946322%; overflow: visible; }

#hb-arrows			{ position: absolute; bottom: 0; right: 0; z-index: 20; }
#hb-arrows span		{ display: none !important; }
#hb-prev-arrow,
#hb-next-arrow		{ float: left; width: 30px; height:30px; display: block; float: left; background: transparent url(images/slideshow-arrows.png) no-repeat top left; cursor: pointer; }
#hb-next-arrow		{ background-position: top right; }


/* MENU
-------------------------*/
.restaurant-listing h1			{ width: 450px; float: left; }
.cuisine-filter,
.sort-filter					{ clear: both; float: left; margin: 5px 0 25px; }
.sort-filter 					{ clear: none; margin-left: 15px; }
.sort-filter label.contain,
.cuisine-filter label.contain	{ float: left; color: #fff; padding: 0 10px; font-size: 12px; margin: 0 0 0 0; line-height: 27px; border: solid 1px #ccc; border-right: none; background: #007ABC; }
.sort-filter .dd-container,
.cuisine-filter .dd-container	{ float: left; }
.sort-filter .dd-selected,
.cuisine-filter .dd-selected	{ padding: 4px 8px; color: #333; font-weight: normal; }

.restaurant-listing-note		{ text-align: center; background: #ffcc00; padding: 8px 12px; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; font-weight: bold; line-height: 1.2em; clear: both; margin-bottom: 30px; margin-top: 8px; float: left; width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }


.restaurant-preview					{ margin-bottom: 22px; text-align: center; position: relative; width: 33%; float: left; padding: 0 8px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;  border-radius: 15px; }
.restaurant-listing-group { margin: 0 -12px 0 -8px;  }
.restaurant-listing-group.hide-on-load { display: none; }
.restaurant-preview a:first-child		{ display: block; text-decoration: none; min-height: 290px; position: relative; border: 3px solid #007ABC; border-radius: 15px; padding: 12px; transition: ease all .2s; }
.restaurant-preview a:hover			{ background: #fff; }
.restaurant-preview.last			{ margin-right: 0; }
.restaurant-preview-image			{ display: block; line-height: 1em; width: 100%; text-align: center; }
.restaurant-preview-image img		{ margin: 0 auto 10px; max-height: 100px; }
.restaurant-preview-info			{ font-weight: bold; text-align: left; text-transform: uppercase; width: 54.5%; min-width: 54.5%; }
.restaurant-preview-name			{ display: block; text-align: left; text-transform: none; }
.restaurant-preview-info .button-wrapper { position: absolute; bottom: 0; left: 0; width: 100%; padding: 0 12px; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;  }
.restaurant-preview-info .button	{ clear: both; display: block; float: left; background: #67983b; border: solid 1px #67983b; border-radius: 25px; padding: 8px 20px 8px; width: 100%;text-align: center; width: 100%;  box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; transition: ease all .2s; }
.restaurant-preview.closed .restaurant-preview-info .button	{ background: #db3a1b; border-color: #db3a1b; }
.restaurant-preview-cuisines			{ display: none !important; font-weight: normal; text-transform: none; font-size: .85em; display: block; clear: both; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; transition: ease all .2s; }
.restaurant-preview .restaurant-info	{ position: absolute; top: -16px; right: -14px; background: #007ABC; border-radius: 50%; text-indent: 0; color: #fff; text-decoration: none !important; width: 35px; height: 35px; line-height: 35px; font-weight: bold; font-size: 26px; border: solid 2px #007ABC;  }
.restaurant-preview .restaurant-info:hover { background: #fff; color: #007ABC; }

.restaurant-preview-inner:hover .restaurant-preview-cuisines { white-space: normal; }

.restaurant-preview.full-width { width: 100%; min-height: 0; }
.restaurant-preview.full-width .restaurant-preview-inner { display: flex; min-height: 0; } 
.restaurant-preview.full-width a .restaurant-preview-image { 
	display: block;
    float: left;
    line-height: 1em;
    border-right: 2px solid #007ABC;
    padding-right: 2.173913043478%;
    max-width: 34.420289855072%;
    text-align: center;
}
.restaurant-preview.full-width a .restaurant-preview-image img {  }
.restaurant-preview.full-width .restaurant-preview-info { padding-left: 25px; padding-right: 40px;  }
.restaurant-preview.full-width .restaurant-preview-info .restaurant-preview-name { display: block; padding-right: 40px; }
.restaurant-preview.full-width .button-wrapper { position: relative; bottom: 0; left: auto; width: auto; display: block; padding: 5px 0 0; }
.restaurant-preview.full-width .button-wrapper .button { width: auto; }
.restaurant-preview.full-width .restaurant-info { top: 4px; right: 6px; } 

.restaurant-preview .rotm .restaurant-preview-image { position: relative; }
.restaurant-preview .rotm .restaurant-preview-image:after { position: absolute; top: 0; right: 0; z-index: 1; background: transparent url(/images/rotmbanner.png) no-repeat right top; background-size: contain; content: ''; display: block; width: 100%; height: 100%; }
.ninety-nine-cent-promo .restaurant-preview .rotm .restaurant-preview-image:after { background-image: url(/images/ninety-nine-cents.png); }

.restaurant-preview .out-of-network .restaurant-preview-image { position: relative; }
.restaurant-preview .out-of-network .restaurant-preview-image:after { position: absolute; top: 0; right: 0; z-index: 1; background: transparent url(/images/out-of-network-banner.png) no-repeat right top; background-size: contain; content: ''; display: block; width: 100%; height: 100%; }
 
.restaurant-preview .restaurant-preview-basic-info { margin: 2px 0 0; display: block; width: 100%; }
.restaurant-preview .restaurant-preview-basic-info span { display: inline-block; font-size: .85em; font-weight: normal; }
.restaurant-preview .restaurant-preview-basic-info span:after { content: '|'; display: inline-block; margin: 0 0 0 4px; opacity: .5; }
.restaurant-preview .restaurant-preview-basic-info span:last-child:after { display: none; }

.restaurant-overview								{ margin-bottom: 10px; }
.restaurant-overview h1								{ margin-bottom: 8px; }
.restaurant-overview img							{ float: right; margin: 0 0 8px; }
.restaurant-overview p								{ font-weight: bold; }
.restaurant-overview p.address						{ margin-top: 25px; }
.restaurant-overview p.cuisines						{ font-weight: normal; }
.restaurant-overview .description					{ clear: both; border-top: solid 3px #007ABC; border-bottom: solid 3px #007ABC; margin: 18px 0; padding: 10px 0; }
.restaurant-overview .description p					{ margin: 0; font-weight: normal; font-style: italic; }
.restaurant-overview hr								{ clear: both; border: none; border-top: solid 3px #007ABC; margin: 18px 0; }
.restaurant-overview table							{ width: 60%; margin: 0 auto 12px; }
.restaurant-overview table td						{ border: solid 1px #ccc; padding: 4px 8px; text-align: center; }
.restaurant-overview table tr:nth-child(even) td	{ background: rgba(0,0,0,.03); }
.restaurant-overview table th						{ background: #DB3A1B; color: #fff; padding: 6px 8px; text-transform: uppercase; }

.menu-listing table,
table.menu-listing							{ width: 100%; }
.menu-listing .menu-listing-trigger			{ background: #007ABC; color: #fff; line-height: 1em; display: block; padding: 12px 44px 12px 15px; margin: 0; }
.menu-listing .menu-listing-trigger h3		{ margin: 0; padding-bottom: 3px; }
.menu-listing .menu-listing-trigger span	{ font-size: 13px; line-height: 1em; }
.menu-listing td							{ background: #fff; padding: 12px 15px; }
.menu-listing tr.even td					{ background: #f7f7f7; }
.menu-listing td.price						{ text-align: right; padding-top: 8px; }
.menu-listing td.add-to-cart				{ width: 50px; padding-left: 0; padding-right: 0; text-align: center; }
.menu-listing td.add-to-cart a,
.menu-listing td.add-to-cart button			{ display: block; border: none; background: transparent url(images/addtobag.png) no-repeat top left; text-indent: -100000px; overflow: hidden; width: 48px; height: 28px; font-size: 0; }
.menu-listing td.add-to-cart button.loading	{ text-indent: -10000px; overflow: hidden; background: transparent url(images/add-to-cart-loader.gif) no-repeat center center; }


.menu-listing-image { width: 100%; height: 275px; margin-bottom: 0; background-size: cover; background-repeat: no-repeat; background-color: #000; background-position: center center; position: relative; display: flex; align-items: flex-end; }
.menu-listing-image span { width: 100%; text-align: center; background: rgba(0, 122, 188,.8); color: #fff; padding: 8px 20px; margin: 0; }
.menu-listing-image + .menu-listing { margin-top: 40px !important; }

.mi-wrapper .price { margin-top: 3px; display: block; font-size: .88em; }
.mi-wrapper .mi-content { width: 100%; }
.mi-wrapper.has-image { display: flex; align-items: center; }
.mi-wrapper.has-image .mi-content { padding-right: 25px; }
.mi-wrapper.has-image .mi-image { min-width: 75px; padding-right: 25px; padding: 4px 8px 4px 8px; height: 75px; background-size: cover; background-position: center center; }
.mi-wrapper.has-image .mi-image img { width: 75px !important; }

.mi-icons { display: flex; width: 100%; }
.mi-icons > span { width: 26px; height: 26px; margin: 6px 5px 0 0; transition: ease all .2s; display: inline-block; border: solid 1px rgba(0, 122, 188, .35); border-radius: 25px; position: relative; /*background: rgba(0, 122, 188, .05);*/ }
.mi-icons > span .icon { border-radius: 5px; position: absolute; left: 3px; top: 50%; transform: translate(0,-50%); width: 20px; height: 20px; background-size: cover; background-position: center top; background-image: url(images/menu-icons.png?v=1.1.2);  }

.mi-icons > span:hover:not(.is-open) { background: #007ABC; border-color: #007ABC; }
.mi-icons > span:hover:not(.is-open) .icon { background-image: url(images/menu-icons-hover.png?v=1.1.2); }
.mi-icons > .gluten-free .icon { background-position: center 33.33%; }
.mi-icons > .vegetarian .icon { background-position: center 100%; }
.mi-icons > .vegan .icon { background-position: center 66.66%; }
.mi-icons > .spicy .icon {  }

.mi-icons-tiptip #tiptip_holder #tiptip_arrow #tiptip_arrow_inner { border-bottom-color: #007ABC !important; }
.mi-icons-tiptip #tiptip_holder #tiptip_content { border-width: 1px !important; border-radius: 0 !important; background: #007ABC !important; box-shadow: none !important; border: none !important; color: #fff !important; }

.mi-icons > span .label-text { opacity: 0; max-width: 0; margin-left: 0; color: #38c; font-size: 12px; display: inline-block; line-height: 1.2em; transform: translate(0,1px); transition: opacity 150ms ease, max-width 200ms ease, margin-left 200ms ease; white-space: nowrap; }
.mi-icons > span.is-open { width: 90px; justify-content: flex-start; padding: 0 10px; }
.mi-icons > span.is-open .label-text { opacity: 1; max-width: 100px; margin-left: 18px; }

.mi-icons > span.gluten-free.is-open { width: 83px; }
.mi-icons > span.vegetarian.is-open { width: 82px; }
.mi-icons > span.vegan.is-open { width: 56px; }
.mi-icons > span.spicy.is-open { width: 100px; }

 
.add-to-cart-button						{ display: none; }
.add-to-cart .add-to-cart-button		{ display: block; }

.menu-listing.open tr:hover td	{ background: #D7DCE2; cursor: pointer; }

.menu-listing .description						{ font-size: 13px; display: block; color: #999; }

.menuOptionsPopup											{ max-width: 720px; width: 720px; overflow: hidden; }
.menuOptionsPopup h1										{ background: #007ABC; color: #fff; border: none !important; line-height: 1em; margin: 0 !important; padding: 13px 20px 10px; font-size: 26px; }
.menuOptionsPopup h4 span									{ font-weight: normal; font-size: 13px; }
.menuOptionsPopup .menu-listing								{ margin: 0 !important; }
.menuOptionsPopup .loading									{ display: block; width: 100%; height: 100%; }
.fancybox-inner.loading										{ background: transparent url(images/add-to-cart-popup-loader.gif) no-repeat center center; text-indent: -10000px; }
.menuOptionsPopup textarea									{ width: 95%; padding: 8px auto !important; height: 50px; margin-top: 5px; }

.menuOptionsPopup .dd-container								{ margin: 6px 0 15px; }
.menuOptionsPopup .dd-container a							{ padding-bottom: 4px; padding-top: 4px; color: #000; }
.menuOptionsPopup .dd-container label						{ margin-bottom: 0 !important; }

.menuOptionsPopup form										{ margin: 13px 0 0; }
.menuOptionsPopup											{ font-size: 14px; }

.menu-listing tr.menu-item-options	td						{ background: #E0ECEF; padding-top: 0; padding-bottom: 0; }
.menu-listing tr.menu-item-options h4						{ margin: 15px 0 8px; font-size: 18px; clear: both; display: block; }
.menu-listing tr.menu-item-options label					{ width: 47%; margin: 0 3% 6px 0; float: left; clear: none; }	
.menu-listing tr.menu-item-options label:nth-child(even)	{ clear: both; }
.menu-listing tr.menu-item-options label span				{ float: left;	max-width: 300px; width: 100%; }
.menu-listing tr.menu-item-options label.textarea			{ width: 100%; margin-top: 10px; }
.menu-listing tr.menu-item-options label input				{ margin: 0 6px 6px 0; float: left; }
.menu-listing tr.menu-item-options button					{ clear: both; float: left; margin: 8px 0 20px; }
.menu-listing tr.menu-item-options .close					{ position: absolute; top: 8px; right: 0; }
.menu-listing tr.menu-item-options .quantity,
.menu-listing tr.menu-item-options .optionsGroup 				{ width: 100%; margin-bottom: 6px; padding-bottom: 12px; border-bottom: solid 1px rgba(0,122,188,.5); }
.menu-listing tr.menu-item-options .quantity					{ margin-bottom: 16px; }
.menu-listing tr.menu-item-options .optionsGroup label input	{ margin-top: 2px; }


.panel 					{ position: relative; margin-bottom: 5px; }
.panel .viewPanel		{ position: absolute; top: 11px; right: 11px; color: #fff; font-size: 11px; text-decoration: none; background: transparent url(images/panel-expand.png) no-repeat top left; width: 20px; height: 20px; overflow: hidden; text-indent: -10000px; display: block; }
.panel .viewPanel.open	{ background-position: bottom left; }
.panel-content			{ display: none; }


/* MENU
-----------------------*/
.mini-cart							{ font-size: 13px; }
.mini-cart.loading					{ background: transparent url(images/add-to-cart-popup-loader.gif) no-repeat center center; }
.mini-cart table					{ width: 100%; }
.mini-cart table th					{ padding: 5px 0 5px; background: #007ABC; color: #fff; }
.mini-cart table td					{ padding: 5px 0; }
.mini-cart table td.spacer			{ height: 6px; }
.mini-cart table td.delete			{ width: 30px; padding-left: 3px; text-align: center; }
.mini-cart table td.quantity		{ width: auto; padding-left: 3px; padding-right: 3px; text-align: center; color: #999; }
.mini-cart table td.total			{ padding-right: 10px; }
.mini-cart table .odd td			{ background: #f3f3f3; }
.mini-cart table .totaling td		{ padding-top: 1px; padding-bottom: 1px; }
.mini-cart table .totaling strong	{ padding: 1px 10px 1px 10px; display: block; }
.mini-cart .cost-per				{ width: 55px; color: #999; }
.mini-cart .quantity				{ width: 40px; text-align: center; }
.mini-cart .quantity input			{ width: 20px; margin: -4px 0 0;; text-align: center; }
.mini-cart .total					{ font-weight: bold; text-align: right; width: 20px; }
.mini-cart button					{ clear: both; float: left; margin: 12px 0; }
.mini-cart .checkoutButton			{ float: right;  }
.mini-cart .update-quantities-link	{ font-size: .92em; float: left; margin-top: 4px; text-decoration: none; }
.mini-cart .update-quantities-link:hover	{ text-decoration: underline; }
.mini-cart #add-ons-link			{ display: block; text-align: center; margin: 4px 0 8px 0; }
.no-js .mini-cart					{ display: none !important; }

.review-checkout					{ margin: 12px 0; text-align: center; }
.review-checkout p					{ text-align: right; }
.review-checkout #add-ons-link		{ margin: 0 auto 12px; float: none; }

.alert-messsage { background: #db3a1b; color: #fff; text-align: left; padding: 12px 15px; margin: 20px 0 0; }
.alert-messsage a { color: inherit !important; }
.alert-messsage * { margin-bottom: 0 !important; }
.alert-messsage a { color: #fff; }
.rotm-note{ border: solid 2px #db3a1b; padding: 12px 15px; color: #db3a1b; background: #fff; margin: 20px 0; }
.restaurant-note,
.checkout-delivery-time{ border: solid 2px #db3a1b; padding: 12px 15px; color: #db3a1b; background: #fff; margin: 20px 0; }
.restaurant-note p a { color: inherit; }
.restaurant-note p:last-child { margin-bottom: 0; }
.authorization-note { text-align: center !important; font-size: .82em; line-height: 1.4em; }

.removeItem				{ width: 17px; height: 17px; background: transparent url(images/remove-item.png) no-repeat top left; display: block; text-indent: -10000px; overflow: hidden; margin: 0 auto; }
.removeItem:hover		{ background-position: bottom left; }

.cart-table tr td		{ vertical-align: top; }
.cart-table .options	{ font-size: 11px; display: block; padding-left: 7px; font-weight: normal; }

.review-table						{ width: 100%; }
.review-table th					{ padding: 5px 0 5px; background: #007ABC; color: #fff; }
.review-table tr.odd td				{ background: #f7f7f7 !important; }
.review-table td.total				{ padding-right: 10px; }
.review-table td					{ padding: 8px 0; }
.review-table tr.subtotals td		{ padding: 0 0 2px; }
.review-table tr.subtotals.first td	{ padding-top: 14px; }
.review-table td.total				{ text-align: right; width: 80px; }
.review-table td.delete				{ width: 80px; text-align: center; }
.review-table td.delete .removeItem	{ margin-top: 3px; }
.review-checkout .checkoutButton	{ float: right; margin: 0 !important; }
.update-quantities					{ position: absolute; top: 25px; right: 40px; }
.cart-table .totaling td,
.review-table tr.subtotals td 		{ vertical-align: middle; }	
.full-delivery-price 				{ display: block; text-decoration: line-through; color: #db3a1b; font-weight: normal; }

.sms-checkout-field input { display: inline-block; padding: 4px 12px; margin: 0 4px; }

.review-table .subtotals .total		{ padding-right: 10px; }

.body-cart p.address				{ margin-top: -15px; text-align: center; }

.review-table .delete					{ padding-left: 10px; padding-right: 10px; }
.review-table .delete .dd-container		{ float: right !important; width: 55px !important; text-align: left; margin-top: -2px; }
.review-table .delete .dd-container a	{ padding-bottom: 4px; padding-top: 4px; color: #000; }

.delivery-options							{ margin-top: -5px; }
.delivery-options .dd-selected				{ padding: 4px 8px; color: #333; font-weight: normal; }
.delivery-options .dd-container				{ clear: both; margin-top: 2px; }
.delivery-options div.contain				{ width: 100%; display: block; margin-top: 12px; }
.delivery-options div.contain label.contain	{ clear: both; display: block; margin-bottom: 5px; }
.delivery-options .submit-buttons			{ float: none; display: none; clear: both; float: left; width: 100%; }
.delivery-options .submit-buttons button	{ display: block; margin: 10px 0 0; width: 100%; }
.no-js .delivery-options .contain			{ display: none !important; }

.delivery-options label#catering-note		{ display: none; font-size: 11px; margin: 8px 0 0; float: left; }
#catering-note input						{ float: left; margin: 0 8px 5px 0; }

.future-time		{ margin: 8px 0 0; display: none; }

/* BASIC FORM STYLES
------------------------*/
textarea,
input.strength,
input.text				{ border: none; border-top: solid 2px #cbcbcb; border-left: 2px solid #cbcbcb; padding: 5px 12px; width: 150px; }
input.text.placeholder	{ font-family: 'GothamLightItalic';  }
div.contain,
label.contain		{ float: left; color: #000; clear: both; }
label.checkbox		{ color: #333; }

.Message { padding: 10px 20px; margin-bottom: 10px; color: #477F50;
	background: rgb(206, 239, 212);
	background: rgba(206, 239, 212, 0.5);
}
.Error,
.Message.Error,
.CustomError p		{ padding: 10px 20px; margin-bottom: 15px; color: #fff; background: #db3a1b; }
.Message			{ border: 1px solid #477F50; }
.Error				{ border: 1px solid #db3a1b; }
.Message p,
.Error p			{ margin: 0; padding: 0; }
h1 + .Error { margin: -12px 0 -5px !important; }

#map-canvas-messages .Message { margin-top: 10px !important; }
#map-canvas-messages .Error { margin-left: 0 !important; margin-bottom: 15px !important; }
#map-canvas-messages .Error .ui-btn { background: #fff !important; color: #db3a1b !important; border: solid 1px #fff !important; transition: ease all .2s; }
#map-canvas-messages .Error .ui-btn:hover { background: #db3a1b !important; color: #fff !important; }

/* CONTACT
----------------------*/
.column							{ width: 44.597989949749%; float: left; margin-right: 3.768844221106%; }
.contact-form					{ margin-top: 25px; margin-left: -2.5%; position: relative; }
.contact-form div.contain,
.contact-form label				{ width: 100%; margin: 0 2.5% 8px; }
.contact-form .Error			{ margin: 0 2.5% 15px; }
.contact-form label em			{ font-style: normal; color: #999; font-size: 12px; }
.contact-form select,
.contact-form textarea,
.contact-form input.strength,
.contact-form input.text		{ width: 90%;  margin: 3px 0 0; border-radius: 5px; }
.contact-form select			{ width: 100%; max-width: 335px; }
.contact-form label.half select,
.contact-form div.half,
.contact-form label.half				{ width: 45%; clear: none; margin-right: 2.5%; margin-left: 2.5%; }
.contact-form label.half input.strength,
.contact-form label.half input.text		{ width: 90%; }
.contact-form textarea				{ height: 95px; margin-bottom: 5px; }
.contact-form .submit-buttons 		{  padding: 5px 2.5% 0; }

.contact-form .dd-container			{ margin-top: 4px; }
.contact-form .dd-selected			{ padding: 4px 8px; color: #333; font-weight: normal; }

.contact-form label.checkbox.half	{ float: left; }
.contact-form label.checkbox.half input	{ float: left; margin: 1px 4px 1px 0; }

.contact-form .column .newsletter-signup	{ background: none !important; padding: 0 !important; float: left; margin-top: 5px; width: 340px; }
.contact-form .column .newsletter-signup input,
.contact-form .column .newsletter-signup span	{ float: left; }
.contact-form .column .newsletter-signup span	{ width: 310px; margin: -2px 0 0 10px; }

.contact-form .yesNo label.checkbox	{ float: left; width: 60px; }
.contact-form label.full			{ width: 740px; }
.contact-form label.full textarea	{ height: 70px; width: 710px; }

.contact-form div.contain .checkbox	{ margin: 3px 0 0; display: block; }

.checkbox-wrapper { clear: both; float: left; width: 100%; margin: 10px 2.5% 15px; }
.checkbox-wrapper span { font-size: .82em; display: inline-block; margin: 0 0 0 3px; }
.checkbox-options { display: flex; padding: 5px 10px 0 0; width: 120px; }


p.forgot-password							{ font-size: 82%; float: right; margin: 8px 15px 0 0; }
.remember-login								{ margin: 5px 15px 5px 0 !important; float: right !important; width: auto !important; }
p.forgot-password.has-remember-login		{ position: absolute; top: 15px; right: 15px; font-size: 82%; float: right; margin: 0 0 0 0; }
p.forgot-password a				{ text-decoration: none; }
p.forgot-password a:hover		{ text-decoration: underline; color: #007ABC; }
.button,
.contact-form button			{ margin: 6px 8px 12px 0; }

.credit-card-tip-note { background: #db3a1b; color: #fff; padding: 10px 15px; margin: -10px -20px 0; }


/* RECAPTCHA 
--------------------------------*/
/*
#recaptcha_widget 		{ display: block; clear: both; width: 340px; max-width: 340px; }
#recaptcha_image		{ padding: 0; width: 318px !important;  }
#recaptcha_image img	{ margin: 0; width: 240px !important; }
#recaptcha_widget label	{ margin: 10px 0 15px; }
#recaptcha_field		{ position: relative; }
.recaptcha_refresh a	{ position: absolute; top: 8px; right: 6px; display: block; text-indent: -10000px; background: transparent url(images/captcha-refresh.gif) no-repeat top left; width: 15px; height: 16px;  }
*/
.g-recaptcha { margin: 0 2.5% 10px; clear: both; }

/* PAYMENT FORM
---------------------*/
.payment-form-panel		{ position: relative; border: 3px solid #007ABC; border-radius: 15px; padding: 12px 20px; margin-bottom: 15px; text-align: left; }
.payment-form-panel .dd-container a	{ padding-bottom: 4px; padding-top: 4px;  }
.payment-form-panel .dd-container label	{ margin: 0 !important; }

.payment-form .expiration-date-fields div.contain, 
.payment-form .expiration-date-fields label			{ width: 47%; }

.major-credit-cards				{ font-size: .85em; color: #999; background: transparent url(images/major-credit-cards.png) no-repeat right top; padding-right: 166px; position: absolute; top: 19px; right: 12px; min-height: 26px;  width: auto; }
.major-credit-cards p			{ line-height: 26px; color: #fff; margin: 0 !important; }

.payment-tooltip-content		{ display: none !important; }
.payment-form label { position: relative; }
.payment-tooltip-trigger		{ display: inline-block; margin-left: 2px; width: 16px; height: 16px; background: transparent url(images/payment-trigger.png) no-repeat top left;
	position: absolute;
	top: 0;
	right: auto;  
	background: #007ABC;
    border-radius: 50%;
    text-indent: 0;
    margin-left: 6px;
    color: #fff !important;
    text-decoration: none !important;
    width: 14px;
    height: 14px;
    line-height: 14px;
    text-align: center;
    font-weight: bold;
    font-size: 12px;
    border: solid 2px #007ABC;
}

.field-error { font-size: .88em; color: #db3a1b; }

.payment-form					{ margin-left: 0; }
.payment-form h4				{ margin-top: 3px; margin-bottom: 10px; text-align: left; }
.payment-form hr				{ border: none; border-top: solid 1px #007ABC; clear: both; }
.payment-form div.contain,
.payment-form label				{ width: 30%; float: left; margin-right: 1.5%; margin-left: 1.5%; clear: none; text-align: left; }
.payment-form label.full		{ width: 97%; }
.payment-form-panel .dd-container label,
.payment-form .dd-selected label { width: 100%; }
#credit_card_details .dd-options { height: auto !important; }
.payment-form label.full textarea	{ width: 95% !important; padding-left: auto; padding-right: auto; }
.payment-form .submit-buttons	{ text-align: right; }

@media screen and (max-width:750px) {
	#credit_card_details .contain { width: 97% !important; text-align: center; }
}

#credit_card_address_fields		{ padding-top: 12px; }

.payment-details-fields			{ display: none; width: 100%; float: left; background: #D7DCE2; padding: 10px 20px; margin: 8px -20px; border: solid 1px #ccc; border-left: none; border-right: none; clear: both; } 

/* ACCOUNT INFO 
--------------------*/
.account-info					{ margin-bottom: 0; margin-top: 10px; color: #333; }
.account-info h4				{ float: left; }
.account-info .actions			{ float: right; text-align: right; clear: none; }
.account-info .actions span,
.account-info .actions a				{ margin-left: 4px; }
.account-info .actions img				{ margin-bottom: 10px; }
.account-info p							{ clear: both; }
.account-info .payment-option			{ float: left; width: 33%; margin-bottom: 25px; min-height: 155px; }
.account-info .payment-option p			{  }
.account-info .payment-option.last p	{ border-right: none; }
.account-info .payment-option a			{ font-size: 88%; text-decoration: none; }
.account-info .payment-option a:hover	{ text-decoration: none; }
.account-info .payment-option .address	{ margin-bottom: 0; }

.checkout-messages								{ padding-top: 15px; margin: 0 0 -10px; }
.checkout-messages .message-field,
.checkout-messages .message-field-trigger		{ float: right; margin: 0 15px 8px 0;  }
.checkout-messages .message-field				{ width: 100%; margin-right: 0; }
.checkout-messages .message-field-trigger input	{ float: right; margin: 0px 0 0 5px; }
.checkout-messages .message-field textarea		{ max-width: 360px !important; width: 90% !important; height: 60px; float: right; }

form .account-info								{ border-bottom: none; margin: 25px 0; }

form .account-info .payment-option				{ padding: 15px 20px; margin-bottom: 10px; margin-right: 20px; background: #f6f0fa; border-radius: 5px; }
form .payment-option input,
form .payment-option .payment-option-details	{ float: left; }
form .payment-option input						{ margin: 5px 10px 0 0; }
form .payment-option .payment-option-details	{ width: 200px; }

form .account-info button	{ clear: both; float: right; margin: 8px 0 0; }

.contact-form.order-feedback textarea	{ max-width: 100%; width: 95%; }
.contact-form.order-feedback .submit-buttons	{ width: 98%; }

#place-order-button.processing { opacity: .5; background: #db3a1b url(images/place-order-button.gif) no-repeat center center; background-size: 130% auto; text-indent: -1000px; overflow: hidden; width: 32px; }


/* MAP
-------------------*/
#map-canvas img	{ max-width: 100000px; }
#map-canvas-wrapper	{ width: 100%; display: none; }	


/* FAQ
---------------------*/
.body-faq table							{ margin: 10px auto 25px; border: none; }
.body-faq table th						{ background: #DB3A1B; color: #fff; }
.body-faq table th,
.body-faq table td						{ padding: 6px 8px; border: solid 1px #999; }
.body-faq table tr:nth-child(even) td	{ background: rgba(0,0,0,.03); }

.dd-options::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 8px;
}
.dd-options::-webkit-scrollbar-track {
    background-color: rgba(57,57,57, .1);
}
.dd-options::-webkit-scrollbar-thumb {
    background-color: rgba(156, 156, 156, .5);
}

/* PASSWORDs
--------------------*/
.password-strength { position: relative; margin-bottom: 10px; }
#myform{ width: 500px; margin: 0 auto; position: relative; margin-bottom:60px; }
.strength_meter{ position: absolute; right: 0px; bottom: 0px; width: auto !important; z-index:0; border-radius:5px; padding-right:4px;  background: none !important; text-align: right; }
.button_strength { display: none !important; text-decoration: none; font-size: 13px; position: relative; z-index: 1; padding-top: 5px; }
.strength_meter div{ overflow: visible; text-align: right !important; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; width: auto !important; padding-right: 20px !important; padding-top: 0; margin-top: -3px; color: #333; font-size: 13px; font-weight: normal !important;  background: none !important; display: none; }
.veryweak{ display: block !important; color: #FFA0A0 !important; }
.weak{ display: block !important; color: #FFA0A0 !important; }
.medium{ display: block !important; color: #ffb900 !important; }
.strong{ display: block !important; color: #00b938 !important; }

.password-requirements-wrapper { padding: 10px 0 10px 13px; display: block; clear: both; }
.password-requirements p { margin: 0 0 4px; }
.password-requirements p strong { color: #007ABC; }
.password-requirements ul { padding: 0; margin: 0 0 15px; list-style: inside; }


/* @FONT-FACE
------------------------*/
/*
@font-face {
	font-family: 'BoostLightSSI';
	src: url('type/boost-light-ssi-light.eot');
	src: url('type/boost-light-ssi-light.eot?#iefix') format('embedded-opentype'),
	     url('type/boost-light-ssi-light.woff') format('woff'),
	     url('type/boost-light-ssi-light.ttf') format('truetype'),
	     url('type/boost-light-ssi-light.svg#gotham-book') format('svg');
	font-weight: normal;
	font-style: normal;
}
*/

/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.clear	{ clear: both; }

/* ==|== media queries ====================================================== */

@media only screen and (min-width: 480px) {


}

@media only screen and (min-width: 768px) {

}



/* ==|== print styles ======================================================= */
 
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } 
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
