/*
Theme Name: Cavallaro Place
Description: Recreation of the original Cavallaroplace parchment & wood design, rebuilt for WordPress.
Version: 1.0
Text Domain: cavallaro
*/
 ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, body, html, div.paragraph, blockquote, fieldset, input { margin: 0; padding: 0; }
 ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, body, html, p, blockquote, fieldset, input { margin: 0; padding: 0; }
 ul { list-style: none; }
 fieldset { border: 0; }
 a img { border: 0; }
 .clear { clear: both; font-size: 0; height: 0; }
 a { color: #a64b1f; text-decoration: none; }
 a:hover { color: #813215; text-decoration: none; }
 body { font-family: Georgia, "Times New Roman", Times, serif; font-size: 14px; color: #222222; margin: 0; padding: 0; background: #431108 url(images/body-bg.jpg) bottom center no-repeat; }
 #top-bg { position: absolute; top: 0; background: transparent url(images/top-bg.jpg) top center no-repeat; width: 100%; height: 773px; }
 div.paragraph { line-height: 1.5; padding: .5em 0; }
 p { line-height: 1.5; padding: .5em 0; }
 h1, h2, h3, h4 { font-family: Georgia, "Times New Roman", Times, serif; font-size: 30px; color: #2d1300; font-weight: normal; }
 h1 { font-size: 30px; line-height: 1; color: #fff; }
 h2, h3 { line-height: 1.3; padding-bottom: 22px; color: #2d1300; }
 h2 { padding: .3em 0; }
 h4 { font-size: 14px; line-height: 1.2; margin-bottom: 5px; }
 hr {background:#eddbc4 !important;}
 blockquote { font-style:italic; border-left:4px solid #b58f5f; margin:10px 0 10px 0; padding-left:20px; line-height:1.5; color:#7f6340; }
 #container { width: 960px; margin: 0 auto; }
 #header-top { background: url(images/header-bg.png) bottom no-repeat; padding: 0 40px 0 140px; line-height: 1; padding-bottom: 20px; position: relative; }
 #pen { background: url(images/pen.png) top left no-repeat; position: absolute; left: -50px; top: 0; height: 116px; width: 185px; }
 #header a { color: #6c3715; }
 #header a:hover { color: #fff; }
 #logo, #logo a { text-decoration: none; font-size: 36px; font-weight: normal; color: #2d1300; font-family: Georgia, "Times New Roman", Times, serif; }
 #navigation { padding: 0; font-family: Georgia, "Times New Roman", Times, serif; line-height: 1; background: none; padding: 30px 20px 10px; }
 #navigation ul { }
 #navigation li { float: left; position: relative; padding: 0; margin: 0 12px 0 0; }
 #navigation li a { float: left; display: block; color: #dba963; font-size: 19px; text-decoration: none; padding: 10px 12px; margin: 0; border: 0; outline: 0; }
 #navigation li:hover a, #navigation li#active a { color: #f4cf9f; background: #370804; background-color: rgba(55, 8, 4, 0.55); }
 #wsite-menus .wsite-menu li a { padding: 10px; color: #dba963; background: #390802; border: 0; border-bottom: 1px solid #601d12; }
 #wsite-menus .wsite-menu li a:hover { color: #f4cf9f; background: #581209; }
 #header { width: 100%; height: 150px; }
 #header, #header table { border-collapse: collapse; border-spacing: 0; }
 #header td { vertical-align: middle; text-align: left; }
 #logo { padding: 25px 0; }
 #header-right { padding: 0 0 0 10px; }
 #header-right table { width: 1px; }
 #header-right table, #header-right .search, #header-right .wsite-search { clear: right; float: right; }
 #header-right td { padding: 0; }
 #header-right .phone-number .wsite-text { color: #2d1300; text-align: right; font-family: Georgia, "Times New Roman", Times, serif; font-size: 15px; font-weight: normal; display: block; white-space: nowrap; margin: 5px 0 5px 15px; }
 #header-right .wsite-social { vertical-align: middle; margin: 5px 0 5px 10px; }
 .wsite-social-item { width: 20px; height: 20px; margin: 0 0 0 3px; background-image:url(images/social-brown.png); }
 .wsite-social-facebook {background-position:0 0;}
 .wsite-social-facebook:hover {background-position:0 -20px;}
 .wsite-social-facebook:active {background-position:0 -40px;}
 .wsite-social-pinterest {background-position:-20px 0;}
 .wsite-social-pinterest:hover {background-position:-20px -20px;}
 .wsite-social-pinterest:active {background-position:-20px -40px;}
 .wsite-social-twitter {background-position:-40px 0;}
 .wsite-social-twitter:hover {background-position:-40px -20px;}
 .wsite-social-twitter:active {background-position:-40px -40px;}
 .wsite-social-linkedin {background-position:-60px 0;}
 .wsite-social-linkedin:hover {background-position:-60px -20px;}
 .wsite-social-linkedin:active {background-position:-60px -40px;}
 .wsite-social-mail {background-position:-80px 0;}
 .wsite-social-mail:hover {background-position:-80px -20px;}
 .wsite-social-mail:active {background-position:-80px -40px;}
 .wsite-social-rss {background-position:-100px 0;}
 .wsite-social-rss:hover {background-position:-100px -20px;}
 .wsite-social-rss:active {background-position:-100px -40px;}
 .wsite-social-flickr {background-position:-120px 0;}
 .wsite-social-flickr:hover {background-position:-120px -20px;}
 .wsite-social-flickr:active {background-position:-120px -40px;}
 .wsite-social-plus {background-position:-140px 0;}
 .wsite-social-plus:hover {background-position:-140px -20px;}
 .wsite-social-plus:active {background-position:-140px -40px;}
 .wsite-social-vimeo {background-position:-160px 0;}
 .wsite-social-vimeo:hover {background-position:-160px -20px;}
 .wsite-social-vimeo:active {background-position:-160px -40px;}
 .wsite-social-yahoo {background-position:-180px 0;}
 .wsite-social-yahoo:hover {background-position:-180px -20px;}
 .wsite-social-yahoo:active {background-position:-180px -40px;}
 .wsite-social-youtube {background-position:-200px 0;}
 .wsite-social-youtube:hover {background-position:-200px -20px;}
 .wsite-social-youtube:active {background-position:-200px -40px;}
 #header-right .wsite-search { margin: 5px 0 5px 15px; width: 207px; height: 25px; background: transparent url(images/searchForm-bg.png) no-repeat; }
 #header-right .wsite-search-input { width: 154px; height: 11px; border: 0; padding: 7px 10px !important; background: none; font-family: Arial, Helvetica, sans-serif; color: #2d1300; font-size: 12px; }
 #header-right .wsite-search-button { display: inline-block; width: 33px; height: 25px; border: 0; margin: 0; padding: 0; cursor: pointer; font-size: 0; background: none; }
 #footer { padding: 25px 30px; margin: 0 25px; font-family: Georgia, "Times New Roman", Times, serif; color: #dba963; font-size: 14px; text-align: right; }
 #footer h2 { color: #dba963; }
 #footer a { color: #f8dab3; }
 #footer a:hover { color: #fff; }
 #footer-right { float: right; width: 240px; text-align: right; display: none; }
 #footer blockquote { border-left:4px solid #5b281f; color:#995f39; }
 .rights { line-height: 19px; vertical-align: middle; }
 .wsite-footer { margin-bottom: 15px; }
 #footer h2 { font-size:18px; border-bottom:1px solid #b78948; }
 #footer hr {background:#B78948 !important;}
 .wsite-form-container { margin-top:0px !important; text-align:left !important; }
 .wsite-footer .wsite-form-label { font-size: 1em !important; padding: 5px 0 2px 0 !important; color:#b78948; }
 .wsite-footer .wsite-form-field { width:315px !important; }
 .wsite-footer .form-radio-container { font-size:1em !important; }
 .wsite-footer .wsite-form-input { font-size: 1em !important; width: 100% !important; background-color:#fff; }
 .wsite-footer .form-select { width: 100% !important; background-color:#fff; }
 #main-top { background: url(images/main-top.png) center top no-repeat; position: relative; }
 #main-bot { background: url(images/main-bot.png) center bottom no-repeat; padding: 30px 0 131px; zoom: 1; position: relative; }
 #main-bg { position: absolute; top: 510px; bottom: 150px; left: 0; right: 0; background: url(images/main.png) repeat-y; }
 #main { padding: 0 73px; position: relative; zoom: 1; }
 #frame-wrapper { margin: 24px 10px 10px 10px; position: relative; }
 #wsite-header-wrapper { padding: 20px; }
 .wsite-header { overflow: hidden; }
 #content { min-height: 400px; padding: 15px 20px; }
 .tall-header-page .wsite-header { width: 760px; height: 235px; background: url(images/banner-tall.jpg) center center no-repeat; }
 .tall-header-page #frame-wrapper { height: 275px; width: 800px; background: url(images/frame-tall.png) center center no-repeat; }
 .short-header-page .wsite-header { width: 760px; height: 160px; background: url(images/banner-short.jpg) center center no-repeat; }
 .short-header-page #frame-wrapper { height: 200px; width: 800px; background: url(images/frame-short.png) center center no-repeat; }
 .no-header-page .wsite-header { }
 .landing-page #main { }
 .landing-page .wsite-header { height: 260px; width: 410px; background: url(images/banner-landing.jpg) center center no-repeat; }
 .landing-page #frame-wrapper { height: 300px; width: 450px; background: url(images/frame-landing.png) center center no-repeat; }
 #banner-left { float: left; width: 450px; }
 .landing-banner-outer { display: table; #position: relative; overflow: hidden; }
 .landing-banner-mid { #position: absolute; #top: 50%; display: table-cell; vertical-align: middle; }
 .landing-banner-inner { #position: relative; #top: -50%; }
 #bannerright { float: left; width: 315px; height: 320px; padding: 0 0 0 35px; margin-top: 9px; }
 #bannerright h2 { font-size: 30px; color: #2d1300; padding: 0px; line-height: 30px; }
 #bannerright div.paragraph { padding: 20px 0px; line-height: 140%; }
 #bannerright p { padding: 20px 0px; line-height: 140%; }
 .splash-page .wsite-header { height: 142px; background: url(images/banner-splash.jpg) no-repeat; }
 .splash-page #container { width: 628px; }
 .splash-page #header { background: url(images/header-splash.png) no-repeat; }
 .splash-page #banner-bot { background: url(images/banner-bot-splash.jpg) left bottom no-repeat; padding-bottom: 19px; }
 .splash-page #banner-top { background: url(images/banner-top-splash.jpg) no-repeat; padding-top: 15px; }
 .splash-page #bannr-mid { background: url(images/banner-mid-splash.jpg) repeat-y; }
 .splash-page #banner { width: 454px; }
 .splash-page #main-top { background: #d6a86d url(images/main-top-splash.jpg) no-repeat; }
 .splash-page #main-bot { background: url(images/main-bot-splash.jpg) left bottom no-repeat; padding-bottom: 133px; }
 .splash-page .search { display: none; }
 .splash-page .phone-number { }
 .splash-page #header-right { display: none; }
 .splash-page #navigation { display: none; }
 .splash-page #content { height: auto !important; min-height: 300px; }
 .splash-page #footer .wsite-social { display: none; }
 .splash-page #footer { text-align: center; }
 .wsite-form-label { display: inline-block; color: #2d1300; font-family: Georgia, "Times New Roman", Times, serif; font-size: 15px; font-weight: normal; padding: 12px 0 5px 0; }
 .form-radio-container { }
 .wsite-form-input, .wsite-search-element-input { font-family: Georgia, "Times New Roman", Times, serif; font-size: 13px; background: #fff url(images/field.png) repeat-x; color: #222222; border: 1px solid #d2d2d2; padding: 8px 4px 5px 4px !important; line-height: 1; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
 .form-select { font-family: Georgia, "Times New Roman", Times, serif; font-size: 13px; background: #fff url(images/field.png) repeat-x; color: #222222; border: 1px solid #dcd0bc; padding: 3px; height: 25px; line-height: 25px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
 .wsite-button { color: #fff !important; height: 34px; display: inline-block; font-size: 14px; border: none; font-weight: bold; text-decoration: none; padding: 0 10px 0 0; background: url(images/button.png) no-repeat 100% -105px; font-family: Helvetica, Arial, san-serif; text-shadow:0 -1px 0 rgba(0,0,0,0.9); }
 .wsite-button:hover { background-position: 100% -140px; }
 .wsite-button:active { background-position: 100% -175px; }
 .wsite-button-inner { height: 34px; line-height: 34px; display: block; font-size: 14px; font-weight: bold; border: none; text-decoration: none; padding: 0 10px 0 20px; background: url(images/button.png) no-repeat 0 0; font-family: Helvetica, Arial, san-serif; text-transform: uppercase; }
 .wsite-button:hover .wsite-button-inner { background-position: 0 -35px; }
 .wsite-button:active .wsite-button-inner { background-position: 0 -70px; }
 .wsite-button-large { height: 41px; background: url(images/button_large.png) no-repeat 100% -126px; padding: 0 10px 0 0; }
 .wsite-button-large:hover { background-position: 100% -168px; }
 .wsite-button-large:active { background-position: 100% -210px; }
 .wsite-button-large .wsite-button-inner { height: 41px; line-height: 41px; padding: 0 10px 0 20px; background: url(images/button_large.png) no-repeat 0 0; font-family: Helvetica, Arial, san-serif; text-transform: uppercase; }
 .wsite-button-large:hover .wsite-button-inner { background-position: 0 -42px; }
 .wsite-button-large:active .wsite-button-inner { background-position: 0 -84px; }
 .wsite-button-large.wsite-button-highlight { background-image: url(images/button_large_highlight.png); }
 .wsite-button-large.wsite-button-highlight .wsite-button-inner { background-image: url(images/button_large_highlight.png); }
 .wsite-button-highlight { background-image: url(images/button_highlight.png); color: #fff !important; }
 .wsite-button-highlight .wsite-button-inner { background-image: url(images/button_highlight.png); }
 #content .blog-post .blog-header h2.blog-title a { font-family: Georgia, "Times New Roman", Times, serif; font-size: 30px; line-height: 1.5em; color: #2D1300; }
 #content .blog-post .blog-header h2.blog-title a:hover { font-family: Georgia, "Times New Roman", Times, serif; font-size: 30px; line-height: 1.5em; color: #2D1300; }

div.paragraph ul, div.paragraph ol { padding-left: 3em !important; margin: 5px 0 !important; overflow:hidden; }
div.paragraph li { padding-left: 5px !important; margin: 3px 0 0 !important; }
div.paragraph ul, div.paragraph ul li { list-style: disc outside !important; }
div.paragraph ol, div.paragraph ol li { list-style: decimal outside !important; }


/* ===== WordPress additions ===== */
#wsite-content img{max-width:100%;height:auto;}
#wsite-content .wp-block-image{margin:0 0 10px;}
#wsite-content .wp-block-image figcaption,#wsite-content .wp-element-caption{font-size:90%;text-align:center;margin:4px 0 0;color:inherit;}
#wsite-content .wp-block-columns{gap:15px;margin-bottom:10px;}
#wsite-content .wp-block-gallery{margin:10px 0 20px;}
#wsite-content .wp-block-gallery figure.wp-block-image{margin:0;}
#wsite-content .wp-block-gallery .wp-element-caption{position:static;background:none;color:inherit;text-shadow:none;font-size:85%;padding:3px 0 0;}
#wsite-content .wp-block-gallery.has-nested-images figure.wp-block-image{flex-direction:column;justify-content:flex-start;}
#wsite-content .wp-block-gallery.has-nested-images figure.wp-block-image img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain;flex:none;border:0;padding:0;}
#wsite-content .wp-block-gallery.has-nested-images figure.wp-block-image > a{display:block;width:100%;}
#wsite-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{position:static;background:none;color:inherit;text-shadow:none;max-height:none;overflow:visible;font-size:85%;padding:3px 0 0;margin:0;text-align:center;}
#wsite-content hr,#wsite-content .wp-block-separator{border:0;border-top:1px solid rgba(0,0,0,.25);margin:15px 0;}
#wsite-content .wp-block-embed{margin:10px 0;}
#wsite-content h2.wsite-content-title{margin-bottom:10px;}
#wsite-content ul.wp-block-list,#wsite-content ol.wp-block-list{margin:0 0 10px 25px;}
#wsite-content ul.wp-block-list li{list-style:disc;}
#wsite-content ol.wp-block-list li{list-style:decimal;}
.cav-ad{text-align:center;margin:10px 0 15px;}
.screen-reader-text{position:absolute;left:-9999px;}
#footer .wcustomhtml{width:100%;overflow-y:hidden;text-align:center;}

#wsite-content .wsite-image-border-thin img{border:1px solid rgba(0,0,0,.13);padding:1px;}
#wsite-content .wsite-image-border-medium img{border:1px solid rgba(0,0,0,.13);padding:3px;}
#wsite-content .wp-block-image.aligncenter{text-align:center;}

.cav-tree-link{clear:both;text-align:center;margin:25px 0 5px;padding-top:15px;border-top:1px solid rgba(0,0,0,.15);}
.cav-tree-link .wsite-button{float:none;display:inline-block;vertical-align:middle;}
.cav-tree-help{margin-left:12px;font-size:90%;}

#wsite-content .wp-block-buttons{margin:10px 0 20px;}
#wsite-content .wp-block-button__link{background:linear-gradient(#a52a1c,#6d140c);color:#fff;border-radius:4px;border:1px solid #5a0f08;box-shadow:0 2px 3px rgba(0,0,0,.35);font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:14px;text-transform:uppercase;padding:9px 20px;text-decoration:none;}
#wsite-content .wp-block-button__link:hover{background:linear-gradient(#b8382a,#7d1a10);color:#fff;}
#wsite-content h3{font-size:24px;margin:15px 0 8px;}

/* nav spacing */
#navigation li a{padding-left:8px !important;padding-right:8px !important;}
.cav-count{font-size:70%;opacity:.7;}
.cav-living-note{opacity:.8;}

/* contact form */
.cav-form{background:rgba(255,248,230,.55);border:1px solid rgba(90,50,20,.3);border-radius:6px;padding:14px 16px 6px;margin:8px 0 18px;}
.cav-form p{margin:0 0 12px !important;}
.cav-form label{font-weight:bold;display:block;}
.cav-form input[type=text],.cav-form input[type=email],.cav-form select,.cav-form textarea{width:100%;box-sizing:border-box;margin-top:4px;padding:7px 9px;font:inherit;font-weight:normal;border:1px solid #8a5a2b;border-radius:4px;background:#fffaf0;color:#3b1f0e;}
.cav-form textarea{min-height:140px;}
.cav-form input[type=file]{margin-top:4px;font-weight:normal;}
.cav-form .cav-files-note{font-weight:bold;margin-bottom:4px !important;}
.cav-form .cav-file label{font-weight:normal;font-size:90%;}
.cav-form .wpcf7-quiz-label{display:none;}
.cav-form input[type=submit]{background:linear-gradient(#a52a1c,#6d140c);color:#fff;border:1px solid #5a0f08;border-radius:4px;box-shadow:0 2px 3px rgba(0,0,0,.35);font-family:Arial,Helvetica,sans-serif;font-weight:bold;font-size:14px;text-transform:uppercase;padding:10px 22px;cursor:pointer;}
.cav-form input[type=submit]:hover{background:linear-gradient(#b8382a,#7d1a10);}
.cav-form .wpcf7-not-valid-tip{font-weight:normal;font-size:90%;}
.wpcf7 form .wpcf7-response-output{margin:8px 0 16px;border-radius:4px;background:rgba(255,248,230,.7);}

/* ===== Responsive (phones & tablets) ===== */
img, iframe, video, embed, object { max-width: 100%; }
.cav-ad { max-width: 728px; margin-left: auto; margin-right: auto; }
@media (max-width: 980px) {
	html, body { overflow-x: hidden; }
	#container { width: 100%; }
	#header-top { background-size: 100% auto; padding: 0 4% 3% 15%; }
	#header { height: auto; }
	#logo { padding: 4% 0; }
	#logo img { max-width: 100%; height: auto; }
	#header-right { display: none; }
	#pen { width: 19.3vw; height: 12.1vw; max-width: 185px; max-height: 116px; background-size: contain; left: -2vw; }
	#navigation { padding: 18px 12px 8px; }
	#navigation ul { display: flex; flex-wrap: wrap; justify-content: center; }
	#navigation li { float: none; margin: 0; }
	#navigation li a { float: none; font-size: 16px; padding: 8px 9px !important; }
	#main-top { background-size: 100% auto; }
	#main-bg { background-size: 100% auto; top: 53vw; bottom: 15.6vw; }
	#main-bot { background-size: 100% auto; padding: 3vw 0 14vw; }
	#main { padding: 0 7.6%; }
	#content { padding: 10px 4px; min-height: 0; }
	#banner-bot, #banner-top, #bannr-mid, #banner { max-width: 100%; }
	#banner-left { float: none; width: 100%; max-width: 450px; margin: 0 auto; }
	.landing-page #frame-wrapper { width: 100%; height: auto; aspect-ratio: 450 / 300; background-size: 100% 100%; margin: 15px 0 10px; }
	.landing-page #wsite-header-wrapper { padding: 4.45%; }
	.landing-page .wsite-header { width: 100%; height: auto; aspect-ratio: 410 / 260; background-size: cover !important; }
	.landing-banner-outer, .landing-banner-mid, .landing-banner-inner { display: block; width: auto !important; height: auto !important; float: none !important; position: static !important; }
	.landing-banner-inner { padding: 5px 10px 15px !important; text-align: center; }
	.landing-banner-inner p, .landing-banner-inner font { font-size: 16px !important; }
	.landing-banner-inner font[size="5"] { font-size: 20px !important; }
	#footer { margin: 0 4%; padding: 20px 10px; }
	.cav-tree-link .wsite-button { margin-bottom: 8px; }
	.cav-tree-help { display: inline-block; margin: 4px 8px; }
	#wsite-content .wp-block-columns { flex-wrap: wrap !important; }
	#wsite-content .wp-block-column { flex-basis: 100% !important; }
	#wsite-content .wp-block-gallery.columns-5 figure.wp-block-image, #wsite-content .wp-block-gallery.columns-4 figure.wp-block-image { width: calc(33.33% - var(--wp--style--gallery-gap-default, 16px) * .667) !important; }
	#wsite-content h2.wsite-content-title { font-size: 26px !important; }
	#wsite-content [style*="font-size:48px"] { font-size: 30px !important; }
	#wsite-content [style*="font-size:32px"] { font-size: 24px !important; }
}
@media (max-width: 600px) {
	body { font-size: 15px; }
	#navigation li a { font-size: 15px; padding: 7px 7px !important; }
	#main { padding: 0 6%; }
	#wsite-content .wp-block-gallery figure.wp-block-image { width: calc(50% - var(--wp--style--gallery-gap-default, 16px) * .5) !important; }
	.cav-form { padding: 12px 10px 4px; }
}

/* family map */
.cav-map-wrap { margin: 10px 0 25px; }
.cav-family-map { height: 520px; border: 4px solid #fffaf0; box-shadow: 0 2px 8px rgba(0,0,0,.35); border-radius: 4px; background: #e9dcc0; }
.cav-map-count { font-weight: bold; margin: 0 0 6px !important; }
.cav-map-note { font-size: 90%; font-style: italic; margin-top: 8px !important; }
.cav-pop ul { margin: 6px 0 0 16px !important; padding: 0; }
.cav-pop li { list-style: disc !important; margin: 1px 0; font-size: 13px; }
.cav-pop li span { opacity: .7; }
#wsite-content .leaflet-container img { max-width: none !important; }
#wsite-content .leaflet-container a { color: #8a2414; }
@media (max-width: 600px) { .cav-family-map { height: 380px; } }

/* on this day */
.cav-otd { background: rgba(255,248,230,.6); border: 1px solid rgba(90,50,20,.3); border-left: 5px solid #8a2414; border-radius: 6px; padding: 12px 16px 6px; margin: 0 0 20px; }
.cav-otd::after { content: ""; display: block; clear: both; }
.cav-otd-title { margin: 0 0 8px !important; font-size: 22px; }
.cav-otd ul { margin: 0 0 8px 18px !important; }
.cav-otd li { list-style: disc !important; margin: 3px 0; }
.cav-otd-ago { opacity: .7; font-size: 90%; }
.cav-otd-date { font-weight: bold; }
.cav-otd-photo { float: right; margin: 0 0 8px 12px; }
.cav-otd-photo img { width: 90px; height: 90px; object-fit: cover; object-position: center 25%; border-radius: 50%; border: 3px solid #fffaf0; box-shadow: 0 1px 4px rgba(0,0,0,.35); }
.cav-otd-more { margin: 0 0 6px !important; font-size: 90%; }

/* family stories */
.cav-story-list { display: grid; gap: 18px; margin: 15px 0; }
.cav-story-card { background: rgba(255,248,230,.55); border: 1px solid rgba(90,50,20,.3); border-radius: 6px; padding: 14px 16px 6px; }
.cav-story-card::after { content: ""; display: block; clear: both; }
.cav-story-thumb { float: right; margin: 0 0 8px 14px; }
.cav-story-thumb img { width: 150px; height: 110px; object-fit: cover; border: 3px solid #fffaf0; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.cav-story-title { margin: 0 0 4px !important; font-size: 24px; }
.cav-story-title a { text-decoration: none; }
.cav-story-meta { font-size: 90%; opacity: .75; margin: 0 0 8px !important; }
.cav-story-more { font-weight: bold; }
.cav-story-back { font-size: 90%; margin-bottom: 4px !important; }
.cav-story-people, .cav-story-share, .cav-related-stories { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(90,50,20,.25); }
.cav-related-stories ul { margin-left: 20px !important; }
.cav-related-stories li { list-style: disc !important; }
.cav-pager .nav-links { display: flex; gap: 10px; justify-content: center; }
@media (max-width: 600px) { .cav-story-thumb { float: none; margin: 0 0 8px; } .cav-story-thumb img { width: 100%; height: auto; } }
