*,
*::before,
*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 15px/22px Georgia, "Times New Roman", serif; color: #212121; background: #fff; --span: 940px; }
body.lmBlog { --span: 1135px; }
a { color: #666; }
a:hover { color: #818181; }
img { max-width: 100%; height: auto; }

.lmFrame { width: 100%; max-width: calc(var(--span) + 24px); margin: 0 auto; padding: 0 12px; }

#prelude { height: 19px; border-bottom: 1px solid #dadada; }
.lmBlog #prelude { height: 31px; }
#banner { min-height: 165px; }
.lmSiteName { margin: 0; padding-top: 41px; font-size: 36px; font-weight: 500; line-height: 1.2; color: #666; overflow-wrap: anywhere; }
.lmSiteName a { color: #666; text-decoration: none; }
.lmLogo { display: block; width: auto; max-width: 100%; height: 100px; object-fit: contain; object-position: left; }

#navbar { border-top: 1px solid #dadada; border-bottom: 2px solid #808080; }
.lmMenu { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.lmMenu a { display: block; padding: 0 15px; font-size: 12px; font-weight: 700; line-height: 39px; color: #808080; text-decoration: none; overflow-wrap: anywhere; }
.lmMenu a:hover,
.lmMenu a.lmNavOn { color: #fff; background: #808080; }
.lmMenu > li { position: relative; }
.lmMenu a.lmNavSec { border-bottom: 2px solid #808080; }
.lmSub { display: none; position: absolute; left: 0; top: 100%; z-index: 20; min-width: 180px; margin: 0; padding: 0; list-style: none; background: #fff; border: 1px solid #dadada; }
.lmMenu > li:hover > .lmSub,
.lmMenu > li:focus-within > .lmSub { display: block; }
.lmMenuBtn { display: none; }

#frame { display: grid; align-items: start; padding-top: 20px; padding-bottom: 10px; }
.lmCabinet #frame { grid-template-columns: minmax(0, 234px) minmax(0, 640px); column-gap: 25px; }
.lmBlog #frame { grid-template-columns: minmax(0, 820px) minmax(0, 300px); column-gap: 15px; }
#content { min-width: 0; grid-row: 1; }
.lmCabinet #content { grid-column: 2; }
.lmBlog #content { grid-column: 1; padding-right: 15px; }
#memberside { grid-row: 1; grid-column: 1; min-width: 0; }
#widgetside { grid-row: 1; grid-column: 2; min-width: 0; }

.lmPageTitle { margin: 0 0 10px; padding: 10px 0 0; font-size: 18px; font-weight: 400; line-height: 21px; color: #808080; overflow-wrap: anywhere; }
.lmNote { margin: 10px 0 15px; }

.lmPost { padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px dashed #ccc; overflow-wrap: anywhere; }
.lmPostTitle { margin: 8px 0; font-size: 22.5px; font-weight: 500; line-height: 26px; color: #1a1a1a; }
.lmPostTitle a { color: #1a1a1a; text-decoration: none; }
.lmPostTitle a:hover { color: #818181; }
.lmBylines { margin: 5px 0 10px; font-size: 11px; line-height: 14px; }
.lmBylines a { color: #212121; text-decoration: underline; }
.lmThumb { float: left; width: 200px; margin: 0 15px 10px 0; }
.lmThumb img { display: block; width: 100%; height: auto; }
.lmExcerpt { margin: 0; }
.lmMoreRow { margin: 10px 0 0; clear: both; }
.lmMore { display: inline-block; padding: 5px 10px; line-height: 18px; color: #212121; text-decoration: none; background: #ccc; }
.lmMore:hover { color: #fff; background: #808080; }
.lmCover { display: block; width: 100%; height: auto; margin: 0 0 10px; }

.lmText { overflow-wrap: anywhere; }
.lmText p { margin: 10px 0; }
.lmText h2 { margin: 20px 0 10px; font-size: 20px; font-weight: 700; line-height: 24px; color: #1a1a1a; }
.lmText h3 { margin: 10px 0; font-size: 17.55px; font-weight: 700; line-height: 22px; }
.lmText ul { margin: 10px 0; padding-left: 30px; list-style: square; }
.lmText ol { margin: 10px 0; padding-left: 30px; list-style: decimal; }
.lmText li { margin-top: 4px; }
.lmText blockquote { position: relative; margin: 10px 0; padding: 10px 20px 10px 50px; color: #444; }
.lmText blockquote::before { content: "\201C"; position: absolute; left: 6px; top: -4px; font-size: 48px; line-height: 1; color: #ccc; }
.lmText blockquote p { margin: 5px 0; }
.lmText strong { font-weight: 700; }
.lmText em { font-style: italic; }
.lmText aside { margin: 16px 0; padding: 10px 16px; background: #f4f4f4; border-left: 4px solid #8a8a8a; }
.lmText aside h2 { margin: 0 0 6px; font-size: 17px; line-height: 22px; color: #444; }
.lmText aside h3 { margin: 0 0 6px; font-size: 15px; line-height: 20px; color: #444; }
.lmText aside p { margin: 0 0 8px; }
.lmText aside p:last-child, .lmText aside ul:last-child { margin-bottom: 0; }
.lmText aside ul { margin: 0 0 6px; padding-left: 24px; list-style: square; }
.lmText aside strong { font-weight: 700; }
.lmText aside em { font-style: italic; }
.lmText a { text-decoration: underline; }
.lmText code { padding: 0 4px; font: 13px/20px Menlo, Consolas, monospace; background: #f1f1f1; }
.lmText pre { margin: 10px 0; padding: 10px 14px; overflow: auto; background: #f1f1f1; }
.lmText pre code { padding: 0; background: none; }
.lmText table { display: block; max-width: 100%; margin: 10px 0; overflow-x: auto; border-collapse: collapse; }
.lmText th,
.lmText td { padding: 6px 10px; text-align: left; border: 1px solid #e3e3e3; }
.lmLn { margin: 16px 0; padding: 8px 0; border-bottom: 1px dashed #ccc; }
.lmGallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 20px; }
.lmGallery img { display: block; width: 100%; height: auto; }

.lmBlockTitle { margin: 0; padding-bottom: 8px; font-size: 17.55px; font-weight: 700; line-height: 18px; color: #808080; border-bottom: 1px solid #e5e5e5; }
.lmBlockText { margin: 10px 0 20px; line-height: 18px; color: #808080; }
.lmBox { margin: 0 0 20px; overflow: hidden; border: 1px solid #e3e3e3; border-radius: 10px; }
.lmBoxTitle { margin: 0; padding: 9px 13px; font-size: 15px; font-weight: 700; line-height: 18px; color: #555; background: #f1f1f1; }
.lmBoxList { margin: 0; padding: 0; list-style: none; }
.lmBoxList a { display: block; padding: 9px 13px; line-height: 19px; color: #555; text-decoration: none; border-top: 1px solid #f1eeee; overflow-wrap: anywhere; }
.lmBoxList a:hover { background: #f5f5f5; }

.lmWidget { margin: 0 0 25px; }
.lmWidgetTitle { margin: 5px 0; padding: 5px 0; font-size: 16px; font-weight: 700; line-height: 19px; color: #808080; border-bottom: 2px solid #ccc; }
.lmWidgetList { margin: 0; padding: 0; list-style: none; }
.lmWidgetList li { padding: 12px 0; line-height: 20px; border-bottom: 1px dashed #ccc; overflow-wrap: anywhere; }
.lmWidgetList a { text-decoration: none; }
.lmWidgetText { margin: 10px 0 0; line-height: 20px; color: #666; }

.lmSeek { display: flex; margin: 0 0 25px; }
.lmSeekField { flex: 1; width: 100%; min-width: 0; height: 35px; padding: 0 10px; font: italic 12px Georgia, serif; color: #9d9d9d; border: 1px solid #ccc; border-right: 0; border-radius: 0; background: #fff; }
.lmSeekGo { height: 35px; padding: 0 12px; font: 700 12px Georgia, serif; color: #fff; border: 0; border-radius: 0; background: #808080; cursor: pointer; }
.lmSeekGo:hover { background: #666; }
#content .lmSeek { max-width: 400px; margin-top: 10px; }

#basebar { margin-top: 20px; }
#basebar p { margin-top: 0; margin-bottom: 0; font-size: 12px; line-height: 40px; color: #666; }

.lmPager { display: flex; justify-content: space-between; gap: 12px; margin: 10px 0 25px; font: italic 13px/20px Georgia, serif; }
.lmPager a { color: #666; border-bottom: 1px dotted #808080; text-decoration: none; }
.lmPager a:hover { color: #333; border-bottom-style: solid; }
.lmPagerOld { margin-left: auto; }
.lmPagerNums { justify-content: center; flex-wrap: wrap; gap: 8px; }
.lmPagerNum, .lmPagerBtn { min-width: 24px; text-align: center; }
.lmPagerCur { color: #333; font-weight: bold; border-bottom: 1px solid #333; }
.lmPagerOff { color: #aaa; }
.lmPagerMid { align-self: center; }

a:not([href]){pointer-events:none}
.lmMenu > li.lmPagesCell { flex: 0 0 100%; border-top: 1px solid #dadada; }
.lmPages { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
#basebar .lmFootPages { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; line-height: 24px; }
#basebar a { color: #444; }
