/*

	Theme Name: FloZo-DIMCustom
	Author: Flyerzone restyled by James Spadaro, Graphics by Zach Telthorst, additional input by Connor Telthorst
	Version: 1.0
	Description: A theme to help your business on its way!

	

*/

html,body,div,p,span,object,iframe,h1,h2,h3,h4,h5,h6,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;vertical-align: baseline;background:transparent}

article,aside,dialog,figure,footer,header,hgroup,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{margin:0;padding:0;border:0;vertical-align:baseline;background:transparent}ins,mark{background:#333;color:#fff;text-decoration:none}mark{padding:0 3px;}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}::-moz-selection,::-webkit-selection,::selection {text-shadow:none;background:#ee4952;color:#fff;}

/* Get rid of weird grey background on adsense ads */
ins.adsbygoogle {
	background: white;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
small {
	font-size: smaller;
}

.wp-caption .wp-caption-text,
.gallery-caption,
.entry-caption {
	font-style: italic;
	font-size: 12px;
	line-height: 2;
	color: #666666;
}

/* Initial Setup */

html {
	font-size: 90.5%;
}
body {
	font-size: 14px;
	font-family: "Ubuntu", Helvetica, Arial, sans-serif;
	text-rendering: optimizeLegibility;
	color: #444;
	font-weight: normal;
}

html, input {
	font: 100%/1.5 sans-serif;
}

body {
	background: #fff; /* url('../images/sub-background.png') repeat-x left top;
 */
}

p{
	/*font-style: italic;*/
}

.clear {
	clear: both;
	display: block;
	font-size: 0;
	height: 0;
	line-height: 0;
	width:100%;
}
a{
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}

p,
pre,
ul,
ol,
dl,
dd,
blockquote,
address,
table,
fieldset,
form,
.gallery-row,
.post-thumb,
.author-bio { margin-bottom: 20px; }

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #2a2d32;
    font-family: BebasNeueRegular, Helvetica, Arial, sans-serif;
	font-weight: bold;
	padding: 0;
}


h1 {
	font-size: 32px;
	line-height: 32px;
}

h2 {
	font-size: 22px;
	line-height: 22px;
}

h3 {
	font-size: 16px;
	line-height: 20px;
}

h4 {
	font-size: 14px;
	line-height: 18px;
}

h5 {
	font-size: 12px;
	line-height: 18px;
}

h6 {
	font-size: 10px;
	line-height: 16px;
}


blockquote { }
	
blockquote cite { }	




img, 
a img {
	max-width: 		100%;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=submit],
select { }

figure { }

figcaption { }

.alignleft {
	float: left;
	margin: 0px 24px 12px 0px;
}

aligncenter {
	margin-top: 12px;
	margin-bottom: 12px;
}

.alignright {
	float: right;
	margin: 0px 0 12px 24px;
}

/* Specifics */

header{

	padding: 0px;
	position: relative;
	overflow: auto;
	height: auto;
	background: #ffffff;
	
}
	header a.logo{
		float: left;
		display: block;	
	} 
		header p.tagline{
			float: left;
			margin: 40px 0 0 20px;
		}
		
ul.social{
	position: relative;
	z-index: 1;
	float: right;
	width: 88px;
	height: 30px;
	margin-bottom: 0 !important;
	list-style: none;
}
	ul.social li {
		height: 26px;
		float: right;
	}
		ul.social li a{
			background: url('../images/social.png') no-repeat left top;
			width: 26px;
			height: 26px;
			display: block;
			margin-left: 5px;
		}
			ul.social li:last-child a{
				margin-left: 0;
			}
			ul.social li a.rss{
				background-position: left top;
			}
			ul.social li a.twitter{
				background-position: center top;
			}
			ul.social li a.facebook{
				background-position: right top;
			}
				ul.social li a.rss:hover{
					background-position: left bottom;
				}
				ul.social li a.twitter:hover{
					background-position: center bottom;
				}
				ul.social li a.facebook:hover{
					background-position: right bottom;
				}	
			
.contact{
	position: absolute;
	top: 65px;
	right: 20px;
	font-family: BebasNeueRegular, Helvetica, Arial, sans-serif;
	font-size: 18px;
	z-index: 2;
}
	.contact p {
		font-style: normal;
		line-height: 35px;
		margin-bottom: 0;
	}
	.contact span {
		display: block;
		float: right;
	}
		.contact span.tel-number {
			font-size: 32px;
			line-height: 28px;
			padding-left: 5px;
			color: #ee4952;
		}		


ul.menu {
	display: block;
	margin: 8px 0 0 0;
	clear: both;
	padding: 0 0 0 20px;
	background: #006AFF;
	list-style: none;
	height: 60px;
	font-family: BebasNeueRegular, Helvetica, Arial, sans-serif;
	font-size: 18px;
}
	ul.menu li.current-menu-item a{
		color: #333333;
	}
	 ul.menu li.menu-item {
		float: left;
		line-height: 60px;
		z-index: 40;
	}
		 ul.menu li.menu-item a{
			padding: 0 20px;
			color: #fff;
			text-decoration: none;
		}
			ul.menu li.menu-item a:hover{
				color: #333333;
			}


#container{
	width: 960px;
	margin: 0 auto;
	background: #ffffff;
	overflow: auto;
}

/** Slider **/

.feature{
	height: 410px;
	overflow: hidden;
}
.gallery{
	height: 410px;
	display: block;
	width: 604px;
	float: right;
	margin: 0 0 20px 20px;
}
	.feature ul li p,
	.gallery ul li p{
		width: 100%;
		margin: 0;
		text-align: center;
		background: #000;
		background: rgba(0, 0, 0, .75);
		position: absolute;
		color: white;
		height: 50px;
		line-height: 50px;
		bottom: 0;
	}
		.gallery ul li img {
			width:100%;
		}
		#content ul.bjqs li, #content ul.bjqs{
			list-style: none;
		}
	
ul.bjqs-controls, ul.bjqs-controls li{
	list-style: none;
}	

	li.bjqs-prev a, li.bjqs-next a{
		background: #ee4952 url('../images/backforward.png') no-repeat;
		width: 22px;
		height: 36px;
		text-indent: -9999px;
		color: white;
		margin-top: -18px;
	}
	
		li.bjqs-prev a{
			background-position: left center;
		}
			li.bjqs-prev a:hover{
				background: #000 url('../images/backforward.png') no-repeat;
			}
		li.bjqs-next a{
			background-position: right center;
		}
			li.bjqs-next a:hover{
				background: #000 url('../images/backforward.png') no-repeat right center;
			}
		
		
/** End Slider **/		

.MAA {
	clear: both;
}

#content{
	width: 960px;
	
}
.blog #content{
		width: 660px;
		float: left;
	}

.the-content {
	width: 660px;
	float: left;
}

.the-content h2 {
	clear: both;
	margin-top: 20px;
	margin-bottom: 20px;
}
.secondary-content h3 {
	border-bottom: 3px solid #ebebeb;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.secondary-content a {
	color: #555;
}

.secondary-content aside{
		margin-bottom: 30px;
	}

.secondary-content {
	width: 198px;
	float: left;
	margin: 20px;
	margin-left: 40px;
	margin-right: 0px;
	padding-left: 10px;
	border-left: 3px solid #ebebeb;
	/*width: 960px;
	clear: both;
	margin: 0px;
	padding: 0px;
	border-left: 0px;*/
}

	.secondary-content ul{
		list-style: none;
list-style: disc;
			list-style-position: inside;
	}
		

	.blog #sidebar{
		margin-top: 53px;
	}
		.blog #sidebar ul li{
			list-style: disc;
			list-style-position: inside;
		}
#sidebar{
	width: 240px;
	float: left;
	margin: 20px;
	display: none; /* Hiding the sidebar doesn't get rid of it on blog posts, only other pages such as 404 */
}
	#sidebar h3{
		border-bottom: 3px solid #ebebeb;
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	#sidebar aside{
		margin-bottom: 30px;
	}
	#sidebar ul{
		list-style: none;
	}
		#sidebar ul li, #sidebar ul p{
			font-style: italic;
		}
		

	.blog #sidebar{
		margin-top: 53px;
	}
		.blog #sidebar ul li{
			list-style: disc;
			list-style-position: inside;
		}


.navigation{
	clear: both;
	width: 100%;	
}
	.navigation .older{
		float: left;
	}
	.navigation .newer{
		float: right;
	}

	#content ul{
		list-style: disc;
		list-style-position: inside;
	}


	#content .info{
		padding: 22px 10px;
		overflow:hidden;
	}	
		#content .info header{
			padding: 0;
			height: auto;
		}
			#content .info h1, h1.result-listing {
				padding-bottom: 20px;
				border-bottom: 3px solid black;
				margin-bottom: 20px;
				margin-top: 10px;
			}
			h1.result-listing {
				margin-top: 30px;
			}
			
				.home #content .info h1, .home #content .entry-summary p, .home-summary p{
					text-align: center;
				}

		#content .columns{
			margin-top: 15px;
			column-count:2;
			column-gap:30px;
			-webkit-column-count:2;
			-webkit-column-gap:30px;
			-moz-column-count:2;
			-moz-column-gap:30px;
			-o-column-count:2;
			-o-column-gap:30px;
		}
			#content .columns img{
				margin-bottom: 15px;
			}
		
		
#content .work{
		overflow: auto;
		text-align: center;
		width: 915px;
		margin: 20px auto 40px auto;
		background: #fff;
	}
		#content .work ul{
			overflow: auto;
		}
		#content .work li > a {
			display: block;
		}	
			#content .work ul li a:hover{
				text-decoration:none;
			}
	
	#content .work h1{
		text-align: left;
		padding-bottom: 20px;
		border-bottom: 3px solid #ebebeb;
	}
	#content .work h2{
		text-align: center;
		margin: 0 auto 30px auto;
		color: white;
		height: 35px;
		line-height: 35px;
		padding-bottom: 20px;
		background: url('../images/split.png') repeat-x;
	}
		#content .work h2 span{
			background: #ee4952 url('../images/arrow-block.png') no-repeat left top;
			width: 150px;
			display: block;
			margin: 0 auto;
		}
		
		#content .work ul{
				margin: 0;
				padding: 0;
				list-style: none;
			}
			
				#content .work ul li{
					width: 285px;
					float: left;
					text-align: center;
					margin: 0 0 30px 30px;
					overflow: hidden;
					position: relative;
				
				}
				#content .work li .overlay{
					position: absolute;
					display: block;
					top: 0px;
					left: 285px;
					width: 141px;
					height: 200px;
					background: url('../images/arrow.png') no-repeat center center;
				}
				#content .work ul li:first-child,
				#content .work ul li.first {
					margin-left: 0;
					
				}
			
				#content .work ul li img{
					margin-bottom: 15px;
				}
						
				
				#content .work ul li .gallery {
					display:none;
				}
		
				#content .work ul li h3, #content .work ul li h2{
					border-bottom: 2px solid #ee4952;
					padding-bottom: 12px;
					margin-bottom: 12px;
					background: none;
					
					
				}
				
					#content .work ul li h3 a{
						text-decoration: none;
						
					}
				
		
			#content .work ul.category{
				overflow: auto;
				font-family: BebasNeueRegular, Helvetica, Arial, sans-serif;
				padding-bottom: 20px;
				border-bottom: 3px solid #ebebeb;
				margin-bottom: 30px;
			}
				#content .work ul.category li{
					float: left;
					width: auto;
					font-size: 18px;
					margin: 0 10px 0 0;
					
				}
					#content .work ul.category li a{
						text-decoration: none;
					}
						#content .work ul.category li a:hover{
							color: #ee4952;
						}
		

	
	
		


#content .blog{
	overflow: auto;
	text-align: center;
	background: #f1f1f1;
	padding:40px 22px;
}

.home .article-archive{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.home .first-post{
	margin-top: 0;
}
.article-archive{
	margin-bottom: 30px;
	padding-bottom: 35px;
	/*border-bottom: 3px solid #ebebeb;*/
}
.article-archive .entry-summary .wp-post-image, .single .wp-post-image{
	float: left;
	overflow: auto;
	margin: 0 20px 20px 0px;
}
.entry-summary{
	overflow: auto;
}

.entry-summary h2{
	font-size: 22px;
	line-height: 32px;
}



.first-post{
	margin-top: 40px;
}
p.entry-meta{
	font-weight: bold;
}


	#content .blog h2{
		text-align: center;
		margin: 0 auto 20px auto;
		color: white;
		height: 35px;
		line-height: 35px;
		padding-bottom: 20px;
		background: url('../images/split2.png') repeat-x;
		
	}
		#content .blog h2 span{
			background: #000 url('../images/arrow-block2.png') no-repeat left top;
			width: 150px;
			display: block;
			margin: 0 auto;
		}
	
		#content .blog ul{
			margin: 0;
			padding: 0;
		}
		#content .blog ul li{
			width: 285px;
			float: left;
			text-align: center;
			margin: 0 0 0 30px;
			list-style: none;
			height: 300px;
			
		}
		#content .blog ul li:first-child{
			margin-left: 0;
		}
			
		#content .blog ul li a{
			text-decoration: none;
		}	
			#content .blog ul li a:hover{
				color: #ee4952;
			}
				
			#content .blog ul li h3{
				margin-bottom: 0px;
			}
			#content .blog ul li p.date{
				padding-top: 0px;
				margin-top: 0px;
				color: #ee4952;
				
				border-bottom: 2px solid #333;
				padding-bottom: 10px;
			}

.page-sidebar .primary-content {
	width:700px;
	float:left;
}


.sub-navigation {
	margin-top: 34px;
	border-bottom:0;
	
}
	
	.sub-navigation h2{
		border-bottom: 3px solid #ebebeb;
		padding-bottom: 6px;
		
	}
		.sub-navigation li.current_page_item ul li{
			background: none;
		}
			ul.sub-navigation li.current_page_item a{
				color: white;
			}

		.sub-navigation li a {
			display:block;
			border-bottom:2px solid #ccc;
			font-style: italic;
			padding:4px 12px;
			-webkit-transition:background 0.4s;
			-moz-transition:background 0.4s;
			transition:background 0.4s;
		}
		.sub-navigation li a:hover {
			background:#ddd;
			text-decoration:none;
		}
		#content .sub-navigation ul, .sub-navigation li  {
			margin:0;
			list-style:none;
		}
		.sub-navigation ul a {
			
			padding-left:24px;
		}
		.sub-navigation li a:hover {
			background:#ccc;
		}

.comments{
	background: #ebebeb;
	padding: 20px 15px;
	margin-top: 40px;
	clear: both;
}
	.comments label{
		width: 100px;
		float: left;
	}
		p.comment-form-email, p.comment-form-url, p.comment-form-author{
			margin-bottom: 6px;
		}
	.comments input, .comments textarea{
		width: 300px;
	}
	.comments input#submit{
		width: auto;
		background: #333;
		border: none;
		color: white;
		font-style: italic;
		cursor: pointer;
		padding:10px 15px
	}
		.comments input#submit:hover{
			background: white;
			color:#333;
		}

.comments ol{
	list-style: none;
}
	li.comment{
		border-bottom: 3px solid #ebebeb;
		background: #FFF;
		padding: 15px;
		margin-bottom: 5px;
	}
		.comments .comment-author img{
			border: 3px solid #FFF;
		}


#footer{
	clear: both;
	background: #000;
	overflow: auto;
	padding:10px 20px;
	color: white;
	
}	
	#footer a {
		color: white;
	}
	#footer .col3{
		width: 253px;
		margin: 0 60px 0 0;
		float: left;
		overflow: auto;
	}
		#footer .col3.last{
			margin-right: 0;
		}
		#footer .col3 h3{
			color: white;
			border-bottom: 2px solid #333333;
			padding-bottom: 20px;
			margin-bottom: 10px;
		}
		#footer .col3 p{
			color: #999999;
		}
			#footer .col3 a{
				color: #ffffff;
			}
		
		
	#footer .copyright{
		display: block;
		margin-top:30px;
		border-top: 2px solid #333333;
		clear: both;
	}


#subscribeButton {
	cursor: pointer;
	background: #006AFF;
	margin-bottom: 20px;
	padding: 10px 20px;
	border-radius: 5px;
	text-align: center;
}

#subscribeButton h2 {
	font-size: 18px;
	color: #fff;
	width: 100%;
}

#subscribeButton:hover h2 {
	color: #333333;
}

.menu-header li,
    div.menu li {
    float: left;
    position: relative;
    list-style: none;
}
 
ul.sub-menu {
    padding: 0px;
    margin: 0px;
}

.menu-header ul ul {
    display: none;
    position: absolute;
    top: 50px;
    left: 15px;
    float: left;
    width: 180px;
    z-index: 99999;
    list-style: none;
}

.menu-header ul li:hover > ul {
    display: block;
    border: 1px solid black;
    background: white;
    margin: 0px;
    padding: 0px;
}

ul.menu li.menu-item ul.sub-menu li.menu-item {
    padding: 0px;
    clear: both;
    margin: 0px;
}

ul.menu li.menu-item ul.sub-menu li.menu-item a {
    background: white;
    color: black;
    line-height: 1em;
    padding: 0px;
    padding-left: 20px;
    margin: 0px;
}

/* Hide disqus loader */
#disqus_thread div,
.dsq-brlink {
    display: none!important;
}

.wp-caption {
	padding: 4px;
}


.entry-content img,
.comment-content img,
.widget img {
	max-width: 100%; /* Fluid images for posts, comments, and widgets */
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto; /* This makes sure that images scales properly on all browsers*/
}
img.size-full,
img.size-large,
img.header-image,
img.wp-post-image {
	max-width: 100%;
	height: auto; /* This makes sure that images scales properly on all browsers*/
}

.wp-caption {
	max-width: 100%;
}

/* Make sure videos fit max width of parent container */
embed,
iframe,
object,
video {
	max-width: 100%;
}

#mobilemenu {
	display: none;
	padding-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
	width: 350px;
}

#selectnav {
	width: 100%;
	border: 1px solid #DDDDDD;
	border-radius: 4px;
}

.mobile-feature {
	display: none;
}

.mobile-feature-block {
	background: rgba(0, 0, 0, .75);
	text-align: center;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}

.mobile-feature-text {
	color: white;
	line-height: 40px;
}

#mobilemenuborder {
	display: none;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.2) and (max-device-width: 1280px) {
	.menu-header {
		display: none;
	}
	
	.contact {
		display: none;
	}
	
	#mobilemenu {
		display: block;
		margin-left: 20px;
	}
	
	#mobilemenuborder {
		display: block;
		width: 100%;
		border-bottom: 2px solid #006AFF;
	}
}
@media only screen and (max-width: 1024px) {
	#container {
		width: 100%;
	}
	
	#content {
		width: 100%;
	}

	.the-content {
		clear: both;
	}
	
	.menu-header {
		display: none;
	}

	.contact {
		display: none;
	}

	.secondary-content {
		width: 100%;
		margin: 0px;
		padding: 0px;
		border-left: 0px;
	}
	
	.menu-header {
		display: none;
	}
	
	#mobilemenu {
		display: block;
		margin-left: auto;
	}
	
	#mobilemenuborder {
		display: none;
	}
		
	header a.logo {
		width: 400px;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
	
	.tagline {
		display: none;
	}
		
	.social {
		display: none;
	}

	.blog #content{
		width: 100%;
	}

	.the-content {
		width: 100%;
	}
	.alignleft, .alignright {
		float: none;
		margin: 5px;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}
	
	.info {
		border-top: 2px solid #006AFF;
	}

	.entry-summary a img {
		display: none;
	}
	
	.article-archive {
		margin-bottom: 5px;
		padding-bottom: 5px;
	}
	
	.first-post { 
		margin-top: 5px;
	}
	
	.homepage-content {
		display: none;
	}
	
	.feature {
		display: none;
	}
	
	.mobile-feature {
		display: block;
	}
}

@media only screen and (max-width: 600px) {
	#mobilemenu {
		width: 90%;
	}

	header a.logo {
		width: 100%;
	}
	
	#content .info {
		padding-top: 2px;
	}

	#content .info h1 {
		font-size: 22px;
		margin-top: 0px;
		margin-bottom: 2px;
		padding-bottom: 2px;
	}
	
	.contact {
		display: none;
	}
	
	.ad_responsive_1 {
		max-height: 100px;
	}
}

/* ---------------------------------------------------------------------
 * Flask port additions (2026-08-03)
 *
 * The `work` tile arrow overlay used to be animated by jQuery in
 * common.js (animate left: 285 -> 144 over 150ms). jQuery is gone, so the
 * slide is a CSS transition driven by :hover and by an .is-active class
 * that site.js toggles on keyboard focus too.
 *
 * Font paths are rewritten below because fonts/ moved from the theme root
 * to /static/fonts/.
 * ------------------------------------------------------------------- */
#content .work li .overlay {
	transition: left 150ms ease;
}
#content .work li:hover .overlay,
#content .work li.is-active .overlay {
	left: 144px;
}

/* ---------------------------------------------------------------------
 * Code blocks (added 2026-08-05)
 *
 * The WordPress theme never styled <pre>/<code> -- the only rule touching
 * them was the global margin reset -- so code samples rendered as plain
 * body text. A handful of posts publish real, useful programs (the u-blox
 * GPS 10Hz script, for one), so they get proper treatment here: monospace,
 * distinguishable background, and horizontal scrolling rather than wrapped
 * or clipped lines, which matters for code you might copy and run.
 *
 * Applies to migrated <pre><code> and to markdown ``` fences alike.
 * ------------------------------------------------------------------- */
.the-content pre {
	background: #f6f8fa;
	border: 1px solid #e1e4e8;
	border-left: 3px solid #006AFF;
	border-radius: 3px;
	padding: 12px 14px;
	margin: 0 0 20px;
	overflow-x: auto;          /* never wrap code; scroll instead */
	line-height: 1.45;
	-webkit-overflow-scrolling: touch;
}
.the-content pre code {
	display: block;
	background: none;
	border: 0;
	padding: 0;
	white-space: pre;          /* preserve author's exact spacing */
	font-size: 13px;
}
.the-content code,
.the-content kbd,
.the-content samp {
	font-family: Menlo, Consolas, "DejaVu Sans Mono", monospace;
}
/* Inline code, e.g. `ser.write(...)` mid-sentence */
.the-content :not(pre) > code {
	background: #f2f4f6;
	border: 1px solid #e1e4e8;
	border-radius: 3px;
	padding: 1px 5px;
	font-size: 0.92em;
	word-break: break-word;
}
@media (max-width: 600px) {
	.the-content pre code { font-size: 12px; }
}

/* Draft preview banner -- deliberately loud so an unpublished page is
   never mistaken for a live one. */
.preview-banner {
	background: #fff4d6;
	border: 1px solid #e0c060;
	border-left: 4px solid #e0a800;
	padding: 10px 14px;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 3px;
}
.preview-banner code {
	background: #fbe8b0;
	padding: 1px 4px;
	border-radius: 2px;
	font-size: 0.92em;
}

/* Sidebar search + related posts (added with Phase 4) */
.widget-search form { display: flex; gap: 6px; }
.widget-search input[type="search"] {
	flex: 1 1 auto; min-width: 0; padding: 6px 8px;
	border: 1px solid #ccc; border-radius: 3px; font-size: 14px;
}
.widget-search button, .search-form button {
	padding: 6px 12px; border: 0; border-radius: 3px;
	background: #006AFF; color: #fff; cursor: pointer; font-size: 14px;
}
.search-form { display: flex; gap: 8px; max-width: 480px; margin: 0 0 24px; }
.search-form input[type="search"] {
	flex: 1 1 auto; min-width: 0; padding: 8px 10px;
	border: 1px solid #ccc; border-radius: 3px; font-size: 15px;
}
.related-posts { clear: both; margin: 30px 0 10px; }
.related-posts h2 { margin-bottom: 12px; }
.related-posts ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px; }
.related-posts li { flex: 1 1 30%; min-width: 180px; }
.related-posts img { width: 100%; height: auto; display: block; margin-bottom: 6px; }
.related-posts a { display: block; font-size: 14px; line-height: 1.35; }

/* Admin (stauth-gated; never seen by readers) */
.admin-bar { background: #f2f4f6; padding: 8px 12px; border-radius: 3px; font-size: 14px; }
.admin-who { color: #666; float: right; }
.admin-note { color: #555; font-size: 14px; }
.admin-table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 14px; }
.admin-table th, .admin-table td { border-bottom: 1px solid #e1e4e8; padding: 8px 6px; text-align: left; vertical-align: top; }
.admin-table th { background: #f6f8fa; }
.status { padding: 2px 6px; border-radius: 3px; font-size: 12px; }
.status-gone { background: #ffdede; color: #8a1f1f; }
.status-unavailable { background: #fff0d6; color: #8a5a00; }
.flash { padding: 10px 12px; border-radius: 3px; }
.flash-ok { background: #e3f7e3; border: 1px solid #9ad39a; }
.flash-error { background: #ffe6e6; border: 1px solid #e0a0a0; }

/* Publish control inside the draft preview banner */
.publish-form { margin: 10px 0 0; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.publish-form label { font-size: 13px; color: #5a4a20; }
.publish-form button {
	padding: 6px 14px; border: 0; border-radius: 3px;
	background: #006AFF; color: #fff; cursor: pointer; font-size: 14px;
}
.flash-area { margin: 12px 0; }

.scan-box { background: #f6f8fa; border: 1px solid #e1e4e8; border-radius: 3px; padding: 12px 14px; margin: 16px 0; }
.scan-box form { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.scan-box button { padding: 6px 14px; border: 0; border-radius: 3px; background: #006AFF; color: #fff; cursor: pointer; }
.scan-box label { font-size: 13px; color: #555; }

/* Comments archive.
 *
 * MUST clear. The article body and the sidebar both float left, so a
 * following block with no clear starts at the top of the container and its
 * text flows around them -- which put the "30 Comments" heading up beside
 * the first paragraph and squeezed every comment into the sidebar gutter.
 * .related-posts already cleared; this did not. */
.comments-archive {
	clear: both;
	margin: 30px 0 10px;
}
.comments-archive .comments-note { color: #666; font-size: 13px; margin-bottom: 14px; }
.comments-archive .commentlist { list-style: none; margin: 0; padding: 0; }
.comments-archive li.comment { padding: 10px 0 12px; margin: 0 0 12px; }
.comments-archive .comment-reply { margin-left: 28px; }
.comments-archive .comment-author { margin: 0 0 4px; font-size: 14px; }
.comments-archive .comment-date { color: #888; font-size: 12px; margin-left: 8px; }
.comments-archive .comment-content p { margin: 0 0 8px; }

/* Archive listing thumbnails.
 *
 * loop.php used the_post_thumbnail('medium') -- 275px -- which is why the
 * theme floats .wp-post-image without setting a width. 26 posts have no
 * 275px variant on disk and fall back to their full-size original, so cap
 * it here rather than letting a 1200px photo span the column. */
.article-archive .entry-summary .wp-post-image {
	max-width: 275px;
	height: auto;
}

/* Work tile hover overlay.
 *
 * The theme hardcoded height:200px to match add_image_size('flozo-thumb',
 * 284, 200) -- but the source photos are 4:3, so WordPress produced 284x160
 * and the overlay never lined up with anything: 40px past the photo, 28px
 * short of the blue bar.
 *
 * Anchor it to the <a>, not the <li>. The <a> wraps exactly the photo and
 * the heading, so it ends precisely on the heading's blue bottom border;
 * the <li> runs 12px further because of the heading's margin. Anchoring to
 * the right box means no magic number to keep in sync with a thumbnail
 * size or a margin. */
#content .work li > a {
	position: relative;
}
#content .work li .overlay {
	top: 0;
	bottom: 0;
	height: auto;
}
