/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~ Product and property of Titan Informatics LLC ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
html,
body {
	min-height: 100%;
}
body {
	font-size: clamp(1rem, 1vw + 0.5rem, 1.063rem);
}

header,
nav,
main,
footer {
	width: calc(100% - 20px);
	max-width: 1366px;
	left: 50%; transform: translateX(-50%);
	clear: left;
}

header {
	width: auto;
}
nav {
	margin: 15px 0 15px 0;
	display: flex;
	flex-flow: row;
	align-items: center;
	background: inherit;
	z-index: 2;
}
nav::before {
	content: "";
	width: 100%;
	position: absolute;
	bottom: 0; left: 0;
	border-bottom: var(--border);
	pointer-events: none;
	z-index: 3;
}

main,
[data-name="main-columns"] {
	display: flex;
	gap: 30px;
	flex-flow: row wrap;
	align-items: flex-start;
}
article,
[data-name="main-columns"] {
	width: calc(100% - 350px - 31px);
}
[data-name="left-column"],
[data-name="center-column"],
[data-name="right-column"] {
	display: flex;
	flex-direction: column;
	gap: 30px 32px;
}
[data-name="center-column"] {
	width: calc(100% - 350px - 31px);
	display: flex;
	gap: 30px 32px;
	flex-flow: column wrap;
	order: 2;
}
[data-name="left-column"],
[data-name="right-column"] {
	width: 350px;
	position: sticky; top: 0;
}
[data-name="left-column"] {
	order: 1;
}
[data-name="center-column"]::before,
[data-name="center-column"]::after {
	content: "";
	height: 100%;
	position: absolute; top: 0;
	pointer-events: none;
}
[data-name="center-column"]::before {
	left: -15px;
	border-left: var(--border);
}
[data-name="center-column"]::after {
	right: -15px;
	border-right: var(--border);
}
/*[data-name="right-column"]::after {
	content: "";
	height: 100%;
	position: absolute; top: 0; left: -15px;
	border-left: var(--border);
	pointer-events: none;
}*/
[data-name="center-column"] > section::after,
[data-name="right-column"] > section::after {
	content: "";
	width: 100%;
	position: absolute; bottom: -15px; left: 0;
	border-bottom: var(--border);
}
[data-name="center-column"] > section:last-of-type::after,
[data-name="right-column"] > section:last-of-type::after {
	content: unset;
}
[data-name="left-column"] > ul::before {
	content: attr(data-name);
	margin: 0 0 -15px 0;
	position: relative; float: left;
	border-bottom: var(--border);
}
[data-name="right-column"] > section > iframe {
	min-height: 100px;
	height: 140px;
	/*border: var(--border);*/
}

[data-name="website"],
[data-name="slogan"] {
	position: relative;
	float: left;
	left: 50%;
	transform: translateX(-50%);
	cursor: pointer;
}
[data-name="website"] {
	margin: 10px 0 0 0;
}
[data-name="slogan"] {
	margin: -3px 0 0 0;
	clear: both;
}
[data-name="website"]:hover,
[data-name="slogan"]:hover {
	color: #0a68ce;
}
[data-name="website"]::before,
[data-name="slogan"]::before {
	content: attr(title);
	position: relative;
	float: left;
}
[data-name="website"]::before {
	font-family: "Canterbury";
	font-size: 3.438rem;
	line-height: 2.938rem;
	word-spacing: -0.625rem;
}
[data-name="slogan"]::before {
	font-family: "Simplifica";
	font-size: 2.375rem;
	line-height: 2.375rem;
}

[data-type="slider"] {
	height: 400px;
}

/*[data-name="search"] {
	position: unset; float: unset;
}*/
[data-name="search"].active {
	width: 100%; height: 100%;
	position: absolute; float: unset;
	top: 0; left: 0;
}
[data-name="search"]::before {
    font-family: "Font Awesome 6 Sharp";
    font-size: 1.375rem;
    line-height: 1.25rem;
    font-weight: 300;
    content: "\f002";
    padding: 14px;
    position: relative; float: left;
	border: var(--border);
	background: var(--background-2);
	cursor: pointer;
}
[data-name="search"] input {
	/*width: calc(100% + 1px);*/
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0; left: 0;
	/*display: none;*/
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 2;
}
[data-name="search"].active input {
	/*display: block;*/
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
[data-name="search"] [data-name="serp"] {
	width: 100%;
	min-height: 100%;
	padding: 15px;
	position: absolute;
	top: 100%; left: 0;
	background: var(--background-2);
	border: var(--border);
	border-top: unset;
	display: flex;
	flex-flow: row wrap;
	gap: 15px;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
[data-name="search"] [data-name="serp"] [data-name="post"] {
	border: var(--border);
}
[data-name="search"] [data-name="serp"] [data-name="post"]::before {
	content: unset;
}

[data-name="screen"] {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0; left: 0;
	background: var(--screen);
	z-index: 1;
}

[data-name="account"] {
	display: flex;
	flex-flow: row;
	/*padding: 5px;*/
	margin: 0 10px 0 auto;
	/*background: red;*/
	z-index: 1;
}
[data-name="profile"] {
	font-size: 1rem;
	margin: 0 5px 0 0;
	position: relative; float: left;
	cursor: pointer;
}
[data-name="login"],
[data-name="logout"] {
	position: relative; float: left;
}
[data-name="login"]::before,
[data-name="logout"]::before {
    font-family: "Font Awesome 6 Sharp";
    font-size: 1.375rem;
    line-height: 1.375rem;
    font-weight: 300;
	position: relative; float: left;
	cursor: pointer;
}
[data-name="login"]::before {content: "\f2bd";}
[data-name="logout"]::before {content: "\f0a9";}

[data-name="latest-articles"] > ul,
[data-name="left-column"] > ul {
	display: flex;
	gap: 30px;
	flex-flow: column wrap;
}
[data-name="latest-articles"] [data-type="pagination"] {
	width: 100%;
	margin: 15px 0 0 0;
	flex-flow: row wrap;
	gap: 5px;
}
/*
[data-type="advertisement"][data-target] {
	min-height: 200px;
}
*/
[data-type="advertisement"] figure figcaption p {
	font-family: "IBMPlexSerif-Regular";
}
[data-type="advertisement"] figure figcaption p:first-of-type {
	font-family: "IBMPlexSerif-Medium";
}
[data-type="advertisement"] figure figcaption p:last-of-type {
	font-family: "IBMPlexSerif-Light";
}
[data-name="subscriber-access"] {
	position: absolute;
	top: 15px; right: 15px;
	opacity: 0.8;
	display: flex;
	flex-flow: row wrap;
	gap: 10px;
}
[data-name="subscriber-access"] span {
	position: relative; float: left;
	cursor: pointer;
}
[data-name="subscriber-access"] [data-name="subscriber-session"]::before {
    font-family: "Font Awesome 6 Sharp";
    font-size: 1.5rem;
    line-height: 1.375rem;
    font-weight: 300;
    content: "\f2bd";
	position: relative; float: left;
	opacity: 0.7;
}

[data-name="writeup"] {
	width: 100%;
}


article header,
article footer {
	width: 100%;
	max-width: 100%;
	left: auto; transform: unset;
	clear: unset;
	padding: 15px 0;
}
article [data-name="slider"] {

}

article footer > ul {
	width: 100%;
}

article footer [data-name="post"] [data-name="headline"] {
	width: calc(100% - 80px);
	max-height: 65px;
	-webkit-line-clamp: 2;
}
article footer [data-name="post"] [data-name="timestamp"] {
}
article footer [data-name="post"] [data-name="categories"] {
	display: flex;
	flex-flow: row wrap;
	gap: 15px;
}
article footer [data-name="post"] [data-name="categories"] span {

}
article footer [data-name="post"] [data-name="headline"] {

}
article footer [data-name="post"] [data-name="description"] {

}
article footer [data-name="post"] [data-name="authors"] {

}




@media (min-width: 1366px) {

}

@media (max-width: 1200px) {
	[data-name="main-columns"] {
		width: 100%;
	}
	[data-name="center-column"],
	[data-name="left-column"] {
		order: unset;
	}
	[data-name="center-column"] {
		width: calc(100% - 350px - 30px);
	}
	[data-name="center-column"]::before {
		content: unset;
	}
	[data-name="right-column"] {
		width: 100%;
	}
	[data-name="right-column"]::after {
		content: unset;
	}
}

@media (max-width: 900px) {
	main {
		flex-direction: column;
	}
	[data-name="center-column"],
	[data-name="left-column"] {
		width: 100%;
	}
	[data-name="center-column"]::after {
		content: unset;
	}
}

@media (max-width: 600px) {
	[data-name="website"] {
		font-size: 2.813rem;
		line-height: 2.813rem;
	}
	[data-name="slogan"] {
		font-size: 1.875rem;
		line-height: 1.875rem;
	}
}
