/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~ Product and property of Titan Informatics LLC ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
html,
body {
	min-height: 100%;
}
body {
	color: var(--text-color);
	background: var(--background-2);
}


header,
nav,
main,
footer,
section {
	position: relative; float: left;
}

header,
nav,
main,
footer {
	width: 100%;
	max-width: 1366px;
	padding: 0 15px;
	left: 50%;
	transform: translateX(-50%);
	clear: left;
	z-index: 1;
}

main,
[data-name="main-columns"] {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	/*background: rgba(174, 75, 117, 0.1);*/
}

[data-name="main-columns"] {
	width: calc(100% - 350px);
	/*background: rgba(67, 99, 173, 0.2);*/
}

[data-name="center-column"] {
	width: calc(100% - 350px - 58px);
	margin: 0 29px;
	order: 2;
}
[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="left-column"],
[data-name="right-column"] {
	width: 350px;
	position: sticky; top: 0;
}
[data-name="left-column"] {
	order: 1;
	/*background: rgba(174, 75, 117, 0.2);*/
}
[data-name="left-column"] > section,
[data-name="right-column"] > section {
	width: 100%;
}

[data-name="right-column"] {
	/*background: rgba(174, 75, 117, 0.3);*/
}

[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 {
	height: 130px;
}



[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"].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);
	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-1);
	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: 2;
}

[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;
}

nav {
	margin: 15px 0 15px 0;
	display: flex;
	flex-flow: row;
	align-items: center;
	background: inherit;
	z-index: 3;
}
nav::before {
	content: "";
	width: calc(100% - 30px);
	position: absolute;
	bottom: 0; left: 15px;
	border-bottom: var(--border);
	pointer-events: none;
	z-index: 3;
}


@media (min-width: 1366px) {
}
@media (max-width: 1366px) {
	header,
	nav,
	main,
	footer {
		left: unset;
		transform: unset;
	}
}
@media (max-width: 1280px) {
	article,
	[data-name="main-columns"],
	[data-name="right-column"] {
		width: 100%;
	}
	[data-name="left-column"] {
		order: 2;
	}
	[data-name="center-column"] {
		width: calc(100% - 350px - 29px);
		margin: 0 29px 0 0;
		order: 1;
	}
	[data-name="center-column"]::before {
		left: unset;
		border-left: unset;
	}
}
@media (max-width: 950px) {
	[data-name="center-column"] {
		width: 100%;
		margin: unset;
	}
	[data-name="left-column"] {
		width: 100%;
	}
	[data-name="center-column"]::after {
		left: unset;
		border-left: unset;
	}
}