:root{
	--color1: #f2ebd8;
	--color2: #D8B685;
	--color3: #9b5304;
	--color4: #002255; /* #151e50 */
	--color5: #aa0000;

	--background1: #fff;
	--background2: #f5f2eb;
	--background3: #F2EBD8;
	--text1: inherit;
	--text2: #002255;
	--headertext: #f9f4e3;
	--border: 1px solid #ccc;
	
	--text: #222222;
	--link: #002255;
	--linkhover: #aa0000;
	--heading1: #002255;
	--heading2: #b10b0b;
	--textshadow: 0 0 .6px currentColor;
	--boxshadow: 0 0 1px #5555558;
	--boxshadowhover: 0 0 1px #555555, 0 0 3px #444;
	--imgborder: #ffffff;
	
	--textfont: Times New Roman, Times, serif;
	--headingfont: Times New Roman, Times, serif;
	--buttonfont: Georgia, serif;
	--cartfont: Trebuchet MS,sans-serif;

	--button: #9b5304;
	--buttonhover: #002255;
	--cartcolor: #002255;
	--cartcolor2: #f2ebd8;
	--carthover: #9b5304;
	--storebutton: #9b5304;
	--storebuttonhover: #002255;
	--cartImage: url(/books/shopfiles/shopping-cart-light3.png);
	--loadingImage: url(/books/shopfiles/wait.gif);
	
}

/* RESET */
body,div,p,a,img,blockquote,table,h1,h2,h3,h4,h5,h6{margin:0;padding:0}
ul{list-style:none}

/* MAIN LAYOUT */
body {
	background: url('/images/bkgd.gif') #f2ebd8 repeat;
	font-family: Times New Roman, Times, serif;
	font-size: 1.05em;
	color: #222222;
	padding:0;
	margin:0;
	min-width: 335px;
}
#page_wrap { 
	max-width:1400px; 
	display:flex; 
	align-items: flex-start; 
	justify-content: center; 
	gap: 20px; 
	margin:0 auto;
} 
#column_left { 
	flex: 0 0 auto;
	position:relative;
	background-color:#D8B685;
	width: 235px; 
	border-radius: 0 0 12px 0;
	border-width: 0 1px 1px 0;
	padding:0 25px;
	padding-top:60px;
	box-sizing:border-box;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.4);
	text-align: center;
}
#column_right { flex: 0 1 800px } 

#column3 {flex: 1 20 0px; max-width:235px}

#banner { padding: 0 10px; margin-top: 20px; text-align: center}

#footer { clear:both; padding: 40px 10px 5px }

/************** content **************/

/* ELEMENTS */

a { color: var(--link); text-decoration: none; cursor: pointer;}
a:hover { color: var(--linkhover); }
p a { text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 2px;font-size: inherit;}
p a:hover { text-decoration-style: solid; }
.biglink, .pagelink {text-shadow: var(--textshadow);font-size:1.2em;}
.biglink:before, .biglink:after, .pagelink:before, .pagelink:after {content:"\2014"; display:inline-block;padding:10px}
.biglink:hover, .pagelink:hover {text-decoration: none;}
.pagelink+.pagelink {margin-top:3px}

/* headings */
h1, h2,  .h { font: italic normal 28px var(--headingfont);color: var(--heading1);text-shadow: var(--textshadow); position:relative;margin:0 0 3px; text-align:center }
h1.hidden { margin: 0; padding: 0; text-align: center; position: absolute; text-indent: -9999px }
h1.archive { position: relative; text-indent: 0; font: italic 32px Georgia, Serif }

.pagetitle, .heading { font-size: 38px; margin:0 auto 30px}
.storytitle { color: var(--heading2); font-size: 28px; font-style: italic; margin-top: 36px; margin-bottom: 48px;}
.archives { font: italic normal 28px var(--headingfont); color: #333; text-shadow: 0 0 1px #777; display:table; margin: 3px auto; }


.logofont {font: italic normal 42px Georgia, Serif;text-shadow: 0 0 2px #555;color: #1a1d46;margin-bottom: 3px;letter-spacing:2px;filter:blur(.5px)}
.logofont:hover {text-decoration:none;}
.bannertext {font-size: 14px; line-height:1.3; font-style: italic; margin: 6px 0px -3px 0px}

p, blockquote { text-align: justify; line-height: 1.35em; margin-bottom: 1.2em; font-size: 20px; }
blockquote, .block { font-style: italic; margin: 0 2em 1.3em 1.5em }
.preface { font-style: italic; text-align: right; margin-bottom: 1.85em; margin-left: 1.5em }
.preface + .preface { margin-top: -1em }

.indent { margin-left: 140px }
.textright { display: block; text-align: right }

small { font-size: .9em }
big { font-size: 1.1em }

table {border-collapse:collapse;}
td {padding:3px 8px;border:1px solid #777;text-align:center}
thead td {font-weight:bold;background:#FAF5EA;padding-top:2px}

figure {display:table;position:relative;box-sizing:border-box;max-width:100%;margin:0}
figure img {display:block;max-width:100%;height:auto;}
figcaption {width:0; min-width:100%;box-sizing:border-box;padding:6px 10px;color:#6a6a6a;font-size:16px;text-align:center;background:#fff;}
figure.border {background:#fff;padding:8px;box-shadow:0 0 1px #888}
figure.border figcaption {padding:6px 0 0;}
.story-content figure.center{margin-bottom:1.2em}

.center { display: table; margin-left: auto; margin-right:auto; text-align: center; clear: both }
.left { float: left; margin-right: 20px; margin-top: 8px}
.right { float: right; margin-left: 20px; margin-top: 8px }
.clearfloats { clear: both }

.somespace { height: 10px }

#content { padding: 30px 15px 0px 15px; max-width:560px; margin:0 auto;}

#content .read {max-width:560px;margin:0 auto 0}

#content .niceread { text-align: justify; line-height: 1.35em }
#content .bookname { font-style: italic; }

#content .signature { text-align: right; font-weight: bold }
#content .byline { font-size:1.1em; color: #666; text-shadow: 0 0 1px #eee; }
#content .date { font-size:.95em; margin-bottom: 40px; font-style: italic; color: #666; text-shadow: 0 0 1px #eee; }

#content .reviews { text-align: center; padding-top: 5px; margin-bottom: 5px; font-weight: bold }
#content .reviewers { text-align: center; line-height: 1.5em; font-weight: bold; font-size: .95em; color: #002255 }

#content .recipeingredients { padding: 30px 30px 36px 30px; font-weight: bold; font-size: .95em; line-height: 1.3em }
#content .recipenote { font-style: italic; font-size: 1em; padding: 0 8px; margin: 10px 0 25px 0 }
#content .recipenote img { margin: 0 0 -7px 0 }
 

#content .hline { margin: 24px 0 20px 0; border-top: 1px solid #333333 }

#menu_book { text-align: center; margin: 0 -15px 30px -15px; padding: 10px 0; border: 1px solid #000; border-width: 1px 0px }
#menu_book #line1, #menu_book #line2 { display: inline; width: 1px; height: 1em; border-left: 1px solid #000; margin: 0 20px }

#bookpages div.foreground { display: block }
#bookpages div.background { display: none }

#bookpages a.foreground { color: #999999; outline: none }
#bookpages a.foreground:hover { color: #999999; text-decoration: none; cursor: default }
#bookpages a.background { color: #002255 }
#bookpages a.background:hover { color: #990000 }

#bookremarks_a { display: none }
#booksummary_a { display: none }

#bookpages .bookpagetop { margin: 24px 0 26px 0; border-top: 1px solid #888888 }

#cookbook_toc ul { font-weight: bold; line-height: 1.3em }
#cookbook_toc li { font-weight: normal; list-style-type: none }
#cookbook_toc ol li { list-style-type: decimal; font-size: .9em; line-height: 1.2em; margin-left: 20px}
#cookbook_toc li ol { padding-top: 10px }
#cookbook_toc ul { padding-bottom: 2px }
#cookbook_toc ul.sub { margin-left: 40px }

ul.archive { list-style: none; margin: 0; padding: 0 }
ul.archive li { margin-bottom: 22px }
div.archive { margin-top: 3px; font-style: italic; font-size: 26px; font-family: Georgia, Serif;text-shadow: 0 0 1px #777;color: #333;}
ul.archive span { text-transform: lowercase }

p.repeat { font-size: 14px; font-style: italic; }

/* old buttons */
.XXbutton {color: #fff; font-size: 15px; line-height: 13px; padding: 8px 20px; border-radius: 6px; font-family: Georgia, serif; font-weight: normal; background-image: linear-gradient(rgb(226, 127, 12) 0%, rgb(155, 83, 4) 50%, rgb(96, 36, 15) 100%); box-shadow: 0 0 1px #000, 2px 2px 4px 0px #606060; border: none; display: inline-block;cursor:pointer}
.XXbutton:hover {background: rgb(155, 83, 4); }
.XXbutton:active {background: rgb(226, 127, 12); }
.XXbutton.viewcart {padding-left:50px;position:relative}
.XXbutton.viewcart:before {content:" "; background:url(/images/shopcart.png);width:24px;height:19px;position:absolute;left:18px;top:5px}

.fplinks {display:flex;flex-wrap:wrap;justify-content:center;gap: 30px 20px;margin:30px auto;}
.linkbox {flex:0 1 400px; display:flex;align-items:center;position:relative;box-sizing:border-box;background:#fff;border-radius: 8px;padding:10px}
.linkbox:before {content: " "; position: absolute; top: 0;left:0;right: 0;bottom:0;text-decoration: none;border:10px solid #fff;border-radius: 8px;box-shadow:0 0 4px 0px #aaa;transition:all .15s ease-out;z-index:1}
.linkbox:hover{box-shadow:1px 1px 5px #222,2px 2px 5px #444;text-decoration:none;border:none;}
.linkbox:hover:before {box-shadow:0 0 15px 0px #777;transform:scale(1.02);}

.linktext {padding:0 0 10px 20px}
.linkimage {flex:0 1 100px;box-sizing:border-box;}
.linkimage img {display:block;box-sizing:border-box;border:none;margin:0 auto;height:auto;width:100%}

.linktext {font: 18px Times New Roman, Serif;text-shadow: 0 0 1px #777;color: #999;}
.linktitle {font-style: italic; font-size: 2rem; color: #666;padding-top:3px;}

/************** menu **************/

ul{padding: 0;list-style:none;}

#menu .mlink {display:none;}
#m_menu{padding:0;list-style:none;}

ul.submenu {list-style:none;width:auto}
#menu .submenu li a, #menu .imgmenu {display:block;width:100%;box-sizing:border-box;padding:16px 0;margin: 20px 0;text-align:center;}

.menubutton {
	display: inline-block;
	box-sizing:border-box;
	padding:9px 20px;
	margin: 5px 10px;
	border:none;
	border-radius:3px;
	line-height:1; 
	text-decoration: none;
	font-size:18px; 
	font-weight:bold;
	/* font-style:italic; */
	letter-spacing:.5px;
	box-shadow:0 0 1px #888;
	background:rgba(255,255,255,.40);
	/* background: #f4edda; */
	color:#002255;
	position:relative;
}
.menubutton:hover {text-decoration: none;color: #fff; box-shadow: 0 0 2px #555, 0 0 5px #444;transition:all .1s}
.menubutton span {font-size:95%}

.imgmenu img {display:block;margin:0 auto 10px !important;background:#e8d3b6;}
.imgmenu:after {content:"Home"; }

.m_menu.menubutton {
	margin-left:-15px; 
	padding-right:15px;
	color:#fff;
	font-size:18px; 
	font-weight:bold;
	/* font-style:italic; */
	letter-spacing:.5px;
}
.m_menu.menubutton:after{content:'  \25BC\ ';display:inline-block;margin:0 0 0 8px;}


/****** BUTTON COLORS ******/

.m_menu.menubutton, #carttoggle, .cartbutton, .storebutton, .addtocart-button, .viewcart-button {color:#fff; cursor:pointer; border-radius: 3px;box-shadow:var(--boxshadow);}

.m_menu.menubutton, #carttoggle, .viewcart-button {background:var(--button);}
.menubutton:hover, #carttoggle:hover, .viewcart-button:hover {background-color:var(--buttonhover); box-shadow: var(--boxshadowhover);}
.cartbutton {background:var(--cartcolor);}
.cartbutton:hover:not([disabled]) {background:var(--carthover);}
.storebutton, input.storebutton, a.storebutton {background:var(--storebutton);}
.storebutton:hover:not([disabled]), .dialogclose:hover:before {background: var(--storebuttonhover); box-shadow: var(--boxshadowhover);}
.XXaddtocart-button {background-image: linear-gradient(rgb(226, 127, 12) 0%, rgb(155, 83, 4) 50%, rgb(96, 36, 15) 100%);}
.addtocart-button {background: var(--storebutton);}
.addtocart-button:hover:not([disabled]) {color:#fff;background: var(--storebuttonhover); box-shadow: var(--boxshadowhover);}


/****** STORE ******/

/*** CART ICON **/
#cart, #paypaltop {display:block; position:absolute; left:0; right:0; top:10px;text-align:center;}
#carttoggle, .viewcart-button {display: inline-block;box-sizing:border-box;margin: 5px 0;border:none;border-radius:3px;text-decoration: none;font: normal 15px Georgia, Serif; line-height:18px; letter-spacing:.5px;box-shadow:0 0 1px #888;color:#fff;text-shadow: 0 0 1px #ddd;background-image:url(/books/shopfiles/shopping-cart-light3.png);background-repeat:no-repeat;background-position: 10px 45%; padding: 9px 12px 9px 44px;cursor:pointer;}
#carttoggle:before {content: "Cart"; display:inline-block; padding-right:6px;}
#carttoggle:hover {text-decoration: none;color: #fff; box-shadow: 0 0 2px #555, 0 0 5px #444;transition:all .1s}
.cart-count {font-family: Times New Roman, Times, serif;}
.showcart {display:block !important}

.viewcart-button {padding: 9px 12px 10px 44px;}
.paypalform {display:inline-block;}

/*** MINICART **/
#minicart {position:absolute;width:340px;margin-top: 42px;}
#minicart .shopbox {font-size:.95rem;box-shadow: 2px 2px 8px #555;border: none;}
#minicart .itemtotal {flex: 0 0 60px;}
#minicart .itemrow1, #minicart .itemname {flex:1;}
#minicart .itemrow2 {flex:0 0 100px;}
.cartitem.subtotal {background:#f2ebd8}
.subtotal .itemrow {justify-content: flex-end;flex: 1;}
.cartheader{background:var(--cartcolor);color:#fff;}
.cartfooter{background:#f5f2eb;}
#minicart .cartheader, #minicart .cartfooter {text-align:center;font-weight:bold;display:block;padding:10px}
#minicart .cartfooter {padding:5px 10px}
.mini-cart {opacity:0;transform:scaleY(0);transform-origin:top;transition:transform .05s ease, opacity .4s;}
.cart-open .mini-cart {opacity:1;transform:scaleY(1);}

/*** CART **/
.shopbox {background:var(--background1);border:var(--border);position:relative}
.box-padding {padding:10px}
.cartheader > div, .cartitem > div, .cartfooter {display:flex;flex-wrap:wrap;align-items:center;padding:0 10px}
.cartheader{padding:5px 0 5px 7px;color:#fff;border-bottom:var(--border);}
.cartbody {text-align:left}
.cartitem {padding:10px 0;border-bottom:var(--border);}
.cartitem p {text-align:center; font-size:18px; line-height:70px;margin:0;}
.cartfooter{padding:5px 10px 10px;}
.cartfooter .itemname {text-align:right}
.updatecart {display:none;background:var(--background3);text-align:right}
.cart-total {font-weight:bold;margin-top:14px;position: relative;}
.cart-total:before {content:" ";position:absolute;border:var(--border);right:-2px;top:-7px;width:172px;border-width:1px 0;height:2px;}
.cartbutton{color:#fff;border:var(--border);margin:5px 30px;padding:12px 15px;line-height:1;}

.itemrow {display:flex;align-items:center;}
.itemrow1, .itemname {flex:1 0 220px;}
.itemrow2 {flex:0 0 190px;justify-content:flex-end}
.itemtotal {flex:0 0 90px;text-align:right;}
.itemprice {color:#777;}
.amount {font-weight:bold; padding-right: 3px;}
.itempic {flex:0 0 60px;height:60px;float:left;margin-right:6px;background-repeat:no-repeat;background-size:contain;background-position:center}

.cartbody .itemname {line-height: 1.2;max-height: 52px;overflow: hidden;}
.cartfooter .itemrow2 {padding-top:0}
.itemrow2 .itemrow {padding-top:5px}

.shopbox .cartbox {min-height:20px;box-sizing:border-box;text-align:center;border:var(--border);border-radius:2px;vertical-align:middle;margin:0 2px;}
.q-num {width:30px;height:26px;background:#fff;line-height:26px;border-width:1px 0}
.cartitem button.q-change {padding: 0 5px 2px;cursor:pointer;}
.cartitem a {display:inline-block;color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.cartitem a:hover {color:var(--text2);text-decoration:none;border-bottom:1px solid var(--text2);}
.st_center {text-align:center;margin-left:auto;margin-right:auto}
.st_hidden {display:none}

@media screen and (max-width: 899px){
	#cart, #paypaltop {right: 10px;left:auto; z-index:20;top:0;}
	#minicart {right:-1px;left:auto;}
}

@media screen and (max-width: 360px){
	#cart.cart-open {text-align:right;width:100%;max-width:95%;}
	#cart.cart-open #minicart {right:0;left:auto;max-width:100%;}
}

@media screen and (max-width: 600px){
	.itempic {flex:0 0 45px;height:45px;}
	.shopcart, .shopbox .q-num {font-size:14px}
	#shopform .cartcontents {padding:15px 20px}
}

@media screen and (max-width: 520px){
	.itemname {flex:1 1 auto;}
	.itemtotal {flex:0 0 75px;}
	.cart-total::before {width:150px}
}

@media screen and (max-width: 470px){
	.itemrow2 {flex:0 0 100%;}
}

/* booklist */
#booklist {min-height:100vh}
#booklist .booktitle {font-size:1.3em;font-style:normal;padding:3px 0 4px}
#booklist .booksubtitle {font-size:1em;font-style:italic;color:#888;height:auto}
.shop-item {display:block;position:relative;box-sizing:border-box;background:#fff;text-align:center;border-radius: 8px;}
.shop-item:before {content: " "; position: absolute; top: 0;left:0;right: 0;bottom:0;text-decoration: none;border:10px solid #fff;border-radius: 8px;box-shadow:0 0 4px 0px #aaa;transition:all .15s ease-out;z-index:1}
.shop-item:hover{box-shadow:1px 1px 5px #222,2px 2px 5px #444;text-decoration:none;border:none;}
.shop-item:hover:before {box-shadow:0 0 15px 0px #777;transform:scale(1.02);}

.item-content {padding:10px;overflow: hidden;text-align: center;}

.shop-item img {display:block;box-sizing:border-box;border:1px solid #ccc;margin:0 auto;height:auto;width:100%}
.item-image {padding:13px;}
.item-price {color:#900;font-weight:bold;font-size:1.6em;padding-top:12px}
	
.overlay {position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:10;transition:all .15s ease-out}
.item-status {position: absolute;top:0;left: -33px;width:260px;height: 40px;font-size: 18px;line-height: 40px;color:#fff;background:#5f5f5f;transform: rotate(-33deg);padding-right:85px;box-sizing: border-box;text-align:center;box-shadow: 0 0 1px #222;z-index: 1;}
.item-status-small {position: absolute;top:0;left: -40px;width:160px;height: 20px;font-size: 12px;font-weight:bold;line-height: 20px;color:#fff;background:#a00;transform: rotate(-37deg);padding-right:31px;box-sizing: border-box;text-align:center;box-shadow: 0 0 1px #222;z-index: 1;}
.st_hidden {display:none}
.item-status.promo {background:#a00;}
.shop-item:hover .overlay {transform:scale(1.02);}

.shop-wrapper {
	margin:20px auto;
}
.shop {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,220px));
  grid-gap: 30px;
  justify-content: center;
  grid-auto-rows: 420px;
 }

.flex .shop {display:flex; flex-wrap: wrap;}
.flex .shop-item {flex:0 1 240px}

.flex .titleblock {height:110px; display:flex;flex-direction: column;justify-content:space-around;}
.flex .item-title{display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;overflow: hidden;}
.flex .item-description{display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;overflow: hidden;}

#booklist.bookmenu {min-height:0}
#booklist.bookmenu .booktitle {font-size: 19px;padding:0;}
.bookmenu .shop-item {flex:0 0 240px}
.bookmenu .shop-item:before {border:5px solid #fff;border-radius: 6px;}
.bookmenu .item-content {display: flex; flex-wrap: nowrap;justify-content: flex-start;align-items: center;padding:5px 0 5px 5px}
.bookmenu img {height:50px;width:auto}
.bookmenu .item-image {padding:0 3px 0 0;}
.bookmenu .booktitle {flex: 0 0 185px;}

/*** MODAL POPUP **/
#dialog {display:none;position:fixed;align-items:center;justify-content:center;z-index:1000;top:0;left:0;width:100vw;height:100vh;background-color:rgba(155,155,155,.9);}
.dialog {display:none}
#dialog.dialog {display:flex}
#dialog:not(.no-close-button) .dialogclose:before {content: "\274C";position:absolute;z-index:1003;width:40px;height:41px;padding-left:1px;text-align:center;line-height:40px;font-size:20px;background:#800;color:#fff;border-radius:50%;cursor:pointer;top:-20px;right:-20px}
#dialog > div {position:relative;border:var(--border);background:#fff;padding:30px 40px;text-align:center}

#dialog.dialogwait {display:flex;background: rgba(155,155,155,.9) var(--loadingImage) no-repeat center / 160px;}
#dialog.dialogwait > div {display:none}

.popup-modal {display:none;position:absolute;z-index:1000;height:100%;}
.popup-modal:before {content: " ";position:fixed;z-index:1001;top:0;left:0;right:0;bottom:0;}
.popup-modal.popup-show {display:inline-block;}
.popup-modal > div {position:relative;z-index:1001;}

html.overlay {overflow-y:hidden;padding-right:18px}
html.overlay #XXpage {filter:blur(2px)}

:disabled, .disabled {cursor:not-allowed;}
.noclick .disabled > * {pointer-events: none;}

@media screen and (max-width: 899px){
	#page_wrap{display:block}
	#menu{margin:0 auto}
	#column_left{width:100%;border-radius:0px;border-width:0 0 1px 0;text-align:left;padding-top:0;}
	#column_right {width:100%;max-width:none;}
	#column3 {display:none;}
	#menu #m_menu{margin:0}
	#menu .mlink{display:inline-block}
	#menu ul.m_menu{position:absolute;margin:0;border-radius: 0 0 12px 0;box-shadow: 0px 0px 7px 0px #0006;border-width: 0px 1px 1px 0;margin-left:-27px;padding:0 30px;width:248px;box-sizing:border-box;background:#D8B685;display:none;z-index:30}
	#menu .menu-open ul.m_menu{display:block}
	#menuXX a{padding: 6px 6px 10px 0;}
	#menu li.m_menu {display:inline-block}
	#XXmenu li.m_menu:hover ul.m_menu{display:block}
}

@media screen and (max-width: 599px){
	#content img, #banner img { box-sizing:border-box; max-width:100%; height:auto !important;}
	#content .bookmenu img {height:50px !important;width:auto}
	#content .bblink {padding-top: 40px;}
	blockquote {margin: .5em 1em 1.85em .5em;padding-left:10px !important}
}

@media screen and (max-width: 355px){
	.left:not(.no-center), .right {float:none;margin-left:auto;margin-right:auto; text-align:center}
	#content .date { margin-bottom:25px;}
}


@media print{
	body {
		background: #fff;
		color: #000;
		min-width: 100%;
	}

	#column_right { margin:0 auto; float:none; }

	#banner { margin-top: 0 }

	#content { padding: 40px 30px 0px 30px }

	#menu_book { text-align: center; margin: 0 -15px 26px -15px; padding: 10px 0; border: 1px solid #000; border-width: 1px 0px }

	#menu, #menu_bottom { display: none }

	.button {color: transparent; text-shadow: 0 0 0px #fff;}
	
	img { page-break-inside: avoid }
}