/*

birdslikewires v1.40 (25th June 2025)

*/

@media {
	:root {
		
		/* Fonts */
		--sans-font: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir, "Nimbus Sans L", Roboto, Noto, "Segoe UI", Arial, Helvetica, "Helvetica Neue", sans-serif;
		--mono-font: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
		
		/* Sizing and Spacing */
		--container-curve: 20px;
		--content-curve: 16px;
		--content-inner-curve: 10px;
		--line-height: 1.618;
		
		/* Colours */
		--bg-gradient: linear-gradient(to bottom,
				rgba(41, 137, 216, 0.57) 0%,
				rgba(41, 137, 216, 0.69) 18%,
				rgba(32, 124, 202, 0.76) 29%,
				rgba(30, 87, 153, 0.91) 52%,
				rgba(8, 60, 93, 1) 66%,
				rgba(0, 51, 71, 1) 71%);
		
		--bg: rgba(255, 255, 255, 0.8);
		--bg-dark: rgba(20, 0, 0, 0.3);
		
		--accent-colour: #2e88cd;
		--accent-darker: #1a5785;
		--accent-highlight: #37a9ff;
		
		--text-colour: #222;
		--code: #333;
		--code-bg: rgba(0, 0, 0, .05);
		
		--white: white;
		--black: black;
		
			
		/* Visibility */
		--sparrows: visible;
		--plane: visible;
		--opacity: 1;
	
	}

}

@media (prefers-color-scheme: dark) {
	:root {

		/* Colours */
		--bg-gradient: linear-gradient(180deg, #093C5D, #003347);
		--bg: rgba(0, 0, 0, 0.3);
		
		--text-colour: #ddd;
		--code: #eee;
		--code-bg: rgba(0, 0, 0, .75);
		
		--white: black;
		--black: white;
		

		/* Visibility */
		--sparrows: hidden;
		--plane: hidden;
		--opacity: 0.8;

	}
	
	img {
		opacity: .9;
	}
	
	#tab 

}


/* Base Styles */
html {
	font-family: var(--sans-font);
	font-size: 71%;
}

body {
	background: var(--bg-gradient);
	background-attachment: fixed;
	margin: 0;
	min-width: 510px;
}

a {
	color: var(--accent-colour);
	text-decoration: none;
}

p a {
	border-bottom: 1px var(--accent-colour) dotted;
}

p a:hover {
	border-bottom: 1px var(--accent-colour) solid;
}

::placeholder {
	color: #ddd;
}


/* Utility Classes */
.imgReplace {
	font-size: 0;
	overflow: hidden;
	text-indent: -99999px;
}

.left {
	float: left;
	margin: 0 3.5% 10px 0;
}

.right {
	float: right;
	margin: 0 15px 10px 3.5%;
}


/* Layout */
#content,
aside,
footer {
	margin-left: 6%;
	margin-right: 6%;
}

.backing {
	background-color: var(--bg);
	border-radius: var(--container-curve);
	padding: 1% 0 .5% 0;
}


/* Header */
header {
	height: 310px;
}

.siteName a {
	font-family: "Buka Bird";
	font-size: 45pt;
	color: var(--white);
	text-shadow: 2px 2px 5px var(--black);
	border-bottom: none;
}

#siteSearch {
	margin-top: 150px;
	float: right;
	padding-right: 12%;
}

.searchZone {
	float: right;
	margin: 8px 44px 0 0;
}

.search_input {
	z-index: 10;
	padding: 4px 0 0 0;
}

.search_input input {
	background-color: var(--white);
	text-align: center;
	font-size: 1.6rem;
	width: 270px;
	height: 30px;
	border: none;
	padding: 18px 12px;
	margin: 3px 10px 0 10px;
	border-radius: 15px;
	-webkit-appearance: none;
}

.search_input input:focus {
	outline: #f0f;
}

header form p {
	text-align: center;
	font-size: 0;
	overflow: hidden;
	text-indent: -99999px;
}


/* Subsearch */
.subsearch {
	position: absolute;
	z-index: -1;
	margin-top: -1.4rem;
}

h2.subsearch {
	width: 270px;
	margin-left: 10px;
	padding: 23px 0 8px 0;
	text-align: center;
	font-size: 1.1rem !important;
	font-weight: 400 !important;
	border: none !important;
	opacity: .7;
	background-image: none !important;
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
	border-bottom-left-radius: 15px !important;
	border-bottom-right-radius: 15px !important;
}

body#default h2.subsearch {
	background-color: #ccc !important;
}

body#search h2.subsearch {
	background-color: #9cff45 !important;
}


/* Controls */
.ctrlleft,
.ctrlright {
	background-size: 18px 20px;
}

.ctrlleft a,
.ctrlright a {
	display: block;
	width: 18px;
	height: 20px;
	border-bottom: none;
}

.ctrlleft {
	position: absolute;
	margin: 16px 0 0 -25px;
	background-image: url(https://birdslikewires.net/images_site/control.svg);
}

.ctrlright {
	position: absolute;
	margin: 16px 0 0 295px;
	background-image: url(https://birdslikewires.net/images_site/control.svg);
	transform: rotate(180deg);
}


/* Aside */
aside {
	margin-top: 0;
	margin-bottom: 50px;
	background-color: rgba(255, 255, 255, .4);
	min-height: 300px;
	border-radius: var(--container-curve);
}

.asidebutton {
	margin: 0 0 20px 0;
}

.asidebutton a {
	height: 35px;
	text-align: center;
	color: #333;
	font-size: 1rem;
	text-decoration: none;
	text-shadow: none;
	padding: 2px 0 0 0;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}

.asidebutton a:hover {
	border-bottom: 3px var(--accent-highlight) solid;
}

.welcome {
	display: inline-block;
	width: 165px;
	height: 49px;
	margin: -5px 0 0 -9px;
	background-size: 165px 49px;
	background-image: url(https://birdslikewires.net/images_site/welcomebird@2x.png);
}

.sideSection {
	float: left;
	background-color: rgba(255, 255, 255, .4);
	border-radius: var(--content-curve);
	margin-top: 10px;
}

.popular {
	text-align: center;
	padding: 15px 10px 3px 10px;
}

.popular h5 {
	font-size: 1.2rem;
	font-family: "Buka Bird";
	margin-bottom: 10px;
}

.popular p a {
	display: block;
	background-color: rgba(45, 136, 204, .1);
	padding: 2px 4px;
	line-height: var(--line-height);
	margin-bottom: 7px;
	font-size: .8rem;
	color: var(--accent-colour);
	border-radius: 6px;
}

.popular p a:hover {
	background-color: rgba(52, 136, 202, .25);
}

.notice {
	padding: 10px 15px;
	font-size: .8rem;
	text-align: justify;
	line-height: var(--line-height);
}

.block {
	float: left;
	margin-top: 15px;
}

.blocktitle {
	color: #333;
	font-size: .8rem;
	text-decoration: none;
	text-align: center;
	padding: 4px 9px 6px 9px;
	margin: 0;
	height: 11px;
	background-color: #9dbfd9;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.blocktitle a {
	display: block;
}

.blocktitle a:hover {
	border-bottom: none;
}

.blockcontent {
	min-height: 30px;
	width: 200px;
	padding: 2px 0 4px 0;
	background-color: var(--bg);
	border-radius: var(--content-curve);
}

.linklisttitle {
	font-family: "Buka Bird";
	font-size: 1rem;
	text-align: left;
	color: #111;
}

.linklist {
	margin: 3px 5px;
}

.linklist a {
	display: block;
	text-align: center;
	color: #111;
	font-size: .8rem;
	text-decoration: none;
	padding: 10px 9px;
	margin-bottom: 3px;
	border: 3px #ccc solid;
	background-color: var(--bg);
	border-radius: 30px;
}

.linklist a:hover {
	border-color: var(--accent-colour);
}

a:hover#paypalseeds {
	border: none;
}


/* Content */
#content h1 {
	font-size: 2.8rem;
}

#content h2 {
	font-size: 2.4rem;
}

#content h3 {
	font-size: 2rem;
}

#content h4 {
	font-size: 1.8rem;
}

#content h5 {
	font-size: 1.6rem;
}

#content h6 {
	font-size: 1.4rem;
}

#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
	margin: 3rem 0 1.6rem 0;
	color: var(--text-colour);
}

#content blockquote,
#content ol,
#content p,
#content table,
#content ul {
	color: var(--text-colour);
	font-size: 1.4rem;
	line-height: var(--line-height);
}

#content p {
	text-align: justify;
}

/* this is probably a bit broken, just like the thing it's trying to style up */
#content p img:empty {
	background-size: 3% !important;
	background: var(--bg) url(/images_site/photo_outline.svg) no-repeat center 40%;
}

#content p img {
	border: 3px solid #ccc;
	border-radius: var(--content-curve);
	display: block;
	margin: 2rem auto 0 auto;
	width: auto;
	max-width: 100%;
	max-height: 600px;
	min-width: 100px;
	min-height: 100px;
}

#content p a img:hover {
	border: 3px solid var(--accent-highlight);
}

#content p:has(span.img-caption) {
	text-align: center;
	line-height: 1.8rem;
}

#content p span.img-caption {
	font-style: italic;
	font-size: 1.2rem;
	line-height: 3rem;
}


/* Article & Section */
article,
section {
	display: inline-block;
	overflow: hidden;
	width: 92%;
	z-index: 10;
	background-color: var(--bg);
	margin: 0 1% .5% 1%;
	padding: 0 3%;
	border-radius: var(--content-curve);
}

article h1,
section h1 {
	margin-top: clamp(0vw, 1.8vw, 2rem);
}

article h1 a,
section h1 a {
	position: relative;
	display: inline-block;
}

article h1 a:hover,
section h1 a:hover {
	color: var(--accent-highlight);
}

article h1 {
	margin-bottom: 3rem;
}

section {
	display: flex;
}

section .titleDate {
	max-width: 40%;
}

section p {
	margin-left: auto;
	float: right;
	margin-top: auto;
	margin-bottom: auto;
	max-width: 53%;
	padding: 1% 1.4%;
	background-color: var(--bg);
	border-radius: var(--content-inner-curve);
	color: var(--text-colour) !important;
}

section .published {
	color: #444;
	font-size: 1.4rem;
	font-weight: 700;
	display: inline-block;
	margin-top: -1rem;
	margin-bottom: 2rem;
}

ul .published {
	float: right;
	margin: -32px 25px 0 0 !important;
	font-size: 1rem;
	font-style: italic;
	list-style-image: none !important;
}

.article_image {
	float: right;
	display: inline-block;
	margin: 0 15px 10px 3.5%;
	padding: 0 !important;
	border: 5px #d3d3d3 solid;
	border-radius: 15px;
	visibility: hidden;
	min-height: 200px;
	min-width: 200px;
	overflow: hidden !important;
}

.article_image img {
	display: block;
	border-radius: 10px;
}


/* Blockquotes */
#content blockquote {
	display: table;
	margin-left: 0;
	background-color: var(--bg);
	padding: 0 20px 14px 20px;
	border-left: #ddd 4px solid;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

#content blockquote>blockquote {
	background-color: rgb(0, 0, 0, .03);
	margin: 0 0 10px 10px;
}

#content blockquote.side {
	width: 220px;
	float: right;
}

#content blockquote p {
	text-align: left;
	margin-left: 0;
}

#content blockquote p:last-child {
	margin-bottom: 0;
}


/* Code Formatting */
p code {
	font-size: 1.2rem;
	display: inline-block;
	background-color: var(--code-bg);
	color: var(--code);
	padding: 1px 7px 0 5px;
	border-radius: 5px;
}

.github {
	background-color: #eee;
	margin: 0 25px 0 5%;
	margin-bottom: 30px;
	min-height: 110px;
}

#content pre,
#content pre.log {
	max-height: 50vh;
	resize: vertical;
	padding: 10px 15px;
	overflow: scroll;
	border-top-left-radius: 10px;
}

#content pre {
	background-color: var(--code-bg);
}

#content pre.log {
	background-color: pink;
}

#content pre code {
	color: var(--code);
	line-height: 6pt;
	margin: 0 !important;
	font-size: 1.2rem;
	line-height: 1.6rem !important;
}

#content pre.log code.log {
	color: purple;
	border-bottom: 2px #ddd solid;
	padding-bottom: 1px;
	line-height: 8pt;
}


/* Lists */
#content article section ol {
	counter-reset: li;
}

#content article section ol,
#content article section ul {
	display: block;
	margin-left: 7.6%;
}

#content article section ol>li,
#content article section ul>li {
	list-style: none;
	position: relative;
}

#content article section ol>li,
#content article section ol>li:before,
#content article section ul>li,
#content article section ul>li:before {
	padding-top: 6px;
	padding-bottom: 6px;
}

#content article section ol>li:before {
	content: counter(li);
	counter-increment: li;
}

#content article section ul>li:before {
	content: "\25cf";
}

#content article section ol>li:before,
#content article section ul>li:before {
	position: absolute;
	top: 0;
	left: -3%;
	width: 3%;
	text-align: center;
}

#content article section li ol,
#content article section li ul {
	margin: 10px 20px;
}


/* Tables */
#content table {
	border-collapse: collapse;
	line-height: var(--line-height);
}

#content>div>article>section>table>thead {
	background-color: #ff0;
}

#content table>thead {
	background-color: #ff0;
	border-top-left-radius: 100px !important;
}

#content table th {
	text-align: left;
	padding: 10px 12px 10px 12px;
	font-weight: 400;
	font-size: 1.4rem;
	border-bottom: 4px #ddd solid;
}

#content table td {
	text-align: left;
	padding: 8px 8px 8px 12px;
	font-size: 1.4rem;
}

#content table tr {
	background-color: var(--white);
}

table th:first-child {
	border-radius: var(--content-curve) 0 0 0;
}

table th:last-child {
	border-radius: 0 var(--content-curve) 0 0;
}

#content tbody tr:nth-child(even) {
	background-color: rgb(0, 0, 0, .03);
}

#content tbody tr:last-child {
	border-bottom: 4px #ddd solid;
}

#content tbody tr:hover {
	background-color: rgba(255, 238, 0, .4);
}


/* Article Bottom Bar */
.article_bottombar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 30px;
	margin: 60px 0 25px 0;
	background-color: #eee;
	border-radius: 5px;
}

.article_bottombar_keepreading a {
	font-size: 1rem;
	height: 22px;
	float: left;
	display: inline-block;
	padding: 8px 12px 0 12px;
	color: #fff;
	background-color: #1a94df;
	border-radius: 5px;
	vertical-align: middle;
}

.article_bottombar_keepreading a:hover {
	text-decoration: none;
	border-bottom: none;
	background-color: #0b79be;
	color: #fff;
}

.article_bottombar_catsanddates {
	display: flex;
	gap: 25px;
	align-items: center;
}

.cats {
}

.cats a {
	color: #333;
	font-size: .8rem;
	text-decoration: none;
	padding: 4px 9px !important;
	background-color: #f2f2f2 !important;
	border: 1px #aaa solid;
	border-radius: 5px;
	line-height: 2rem;
}

.cats a:hover {
	background-color: var(--bg) !important;
	border: 1px #4563ae solid;
}

.posted {
	font-size: 1rem;
	height: 22px;
	float: right;
	padding: 8px 12px 0 12px;
	color: var(--white);
	background-color: grey;
	border-radius: 5px;
	vertical-align: middle;
}

.posteddate {
	font-weight: 700;
}


/* Footer */
footer {
	border-top-color: #395784;
	color: #fff;
	min-height: 170px;
	margin-top: 95px;
	margin-bottom: 95px;
	padding: 0 0 20px 0;
	background-color: var(--bg-dark);
	border-top: 1px #395784 solid;
	border-radius: var(--container-curve);
}

#footer_older_newer {
	float: right;
	margin: -85px 150px 0 0;
}

#footer_older_newer p {
	text-indent: -99999px;
}

.footer_newer,
.footer_older {
	display: inline-block;
	opacity: .5;
	transition: opacity .05s ease-in-out;
	-webkit-transition: opacity .05s ease-in-out;
}

.footer_newer:hover,
.footer_older:hover {
	opacity: 1;
}

.footer_older .triangle {
	transform: rotate(-90deg);
	margin-right: 10px;
}

.footer_newer .triangle {
	transform: rotate(90deg);
}

.triangle svg path {
	fill: var(--accent-highlight);
}

#lastword {
	text-align: center;
	padding: 40px 0 10px 0;
}

#footerbuttons {
	margin-bottom: 20px;
}

#lastword p {
	font-size: .8rem;
	line-height: 10pt;
}

#clientdetails p {
	margin-top: 20px;
	display: inline-block;
	font-size: 1rem;
	background-color: var(--bg-dark);
	color: #eee;
	padding: 2rem;
	border-radius: var(--content-curve);
}


/* Background Elements */
#telegraphy {
	position: fixed;
	z-index: -10;
	width: 100%;
	height: 100%;
	background-size: 1578px 935px;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-image: url(https://birdslikewires.net/images_site/telegraphy@2x.png);
	background-position: -100px -30px;
}

#plane {
	visibility: var(--plane);
	position: fixed;
	z-index: -9;
	top: -30px;
	left: 150px;
	height: 117px;
	width: 55px;
	background-size: 55px 117px;
	background-image: url(https://birdslikewires.net/images_site/tinyplane@2x.png);
}

#tab {
	position: fixed;
	top: 0;
}

#tab a {
	display: block;
	width: auto;
	height: 4rem;
	border-right: 4px var(--white) solid;
	border-bottom: 4px var(--white) solid;
	border-bottom-right-radius: var(--container-curve);
	background-color: transparent;
	overflow: hidden;
	background-image: url(../images_site/pecking_bird.svg);
	background-repeat: no-repeat;
	background-size: 4.6rem;
	background-position: calc(100% - 10px) 15px;
}

#tabText {
	font-family: "Buka Bird";
	font-size: 1.8rem;
	line-height: 4rem;
	color: var(--white);
	margin: 0px 110px 0px 1rem;
}

#giantsparrow {
	width: 289px;
	height: 116px;
	margin: -104px 0 0 -60px;
	background-size: 289px 116px;
	background-image: url(https://birdslikewires.net/images_site/giantsparrow@2x.png);
}


/* Error Page */
.error {
	min-height: 340px;
}

.error_bird {
	float: right;
	width: 185px;
	height: 147px;
	margin: -111px -20px 0 0;
	background-size: 185px 147px;
	background-image: url(../images_site/error_bird@2x.png);
}

.error h3 {
	padding: 25px 55px 20px 35px !important;
	font-family: "Buka Bird";
	font-size: 4rem !important;
	font-weight: 700 !important;
	margin: 5px 0 35px 0 !important;
	line-height: 50px;
	border-bottom: 4px #bf0000 solid !important;
}

.error p {
	display: inline-block;
	width: 60%;
	min-width: 20%;
	margin: 0 100px 0 100px !important;
	padding-bottom: 20px;
	text-align: center;
}

.error p:last-child {
	padding-bottom: 90px !important;
}