/*
 * File: style.css
 * Location: <root>/assets/css/
 *
 * Dependencies:
 *	colors.css
 *	globals.css
 *	normalize.css
 *
 */

/* --- Layout --- */

main,
header,
footer {
	min-width: var(--gPage-min-width);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

main {
	max-width: var(--gPage-max-width);
	padding: 1rem 1rem 5rem 1rem;
	text-align: center;
	border: 0px solid blue;
}

.centerH {
	text-align: center;
}


/* --- Articles and Content --- */

article p:last-child.signature {
	text-shadow: 1px 1px 3px var(--gColor-purple-20);
}

article p:last-child.signature::before {
	content: '–';
}

/* Add a little heart at the end of the signature (last) paragraph. */
article p:last-child.signature::after  {
	text-shadow: 1px 1px 3px var(--gColor-purple-30);
	font-family: var(--gFont-symbol-emphasis);
	color: red;
	content: '\f004';
	font-size: var(--gFont-size-xs);
	font-style: normal;
}

article p:last-child.signature {
	text-align: right;
	padding-right: 0.5rem;
	font-family: var(--gFont-base-voice);
	font-style: italic;
}

article p:last-child {
	border-bottom: var(--gImage-border-width) solid var(--gColor-purple-50);
}

p, article {
	font-family: var(--gFont-content);
}

p {
	font-size: var(--gFont-size-content);
	text-align: justify;
	line-height: var(--gLine-height-content);
}

p.page-not-found:first-child {
	padding-top: 3rem;
}

p.page-not-found:last-child {
	padding-bottom: 3rem;
}

p.page-not-found {
	font-family: var(--gFont-content-voice-emphasis);
	font-size: calc(1 * var(--gFont-size-xxxl));
	text-align: center;
}

/*	The first letter of the first two children of an article
	will span two lines, if they are paragraphs. */
/* 
article p:nth-child(-n + 2)::first-letter
 */
p.drop-cap::first-letter {
	padding-right: 0.25rem;
	initial-letter: 2;
}

.announcement {
	font-size: var(--gFont-size-md);	/* scale the font size by this amount. */
}

.emphasis {
	font-family: var(--gFont-base-emphasis);
}


/* --- Headings and Labels --- */

h1, h2, h3, h4, h5, h6 {
	text-align: center;
	font-family: var(--gFont-heading);
	text-shadow: 1px 1px 3px var(--gColor-purple-20);
}

h1.page-title,
h2.page-sub-title {
	border-bottom: var(--gImage-border-width) solid var(--gColor-purple-50);
	box-shadow: 0px 1px 0px var(--gColor-purple-10);
}

h1.page-title {
	padding: 0 0 1rem 0;
}

h2.page-sub-title {
	padding: 0 0 1rem 0;
}

/* Remove the border if the heading is followed by another heading */
h1.page-title:has(+ h2.page-sub-title) {
	padding: 0;
	border-bottom: none;
	box-shadow: none;
}

/* Remove the border if the heading is followed immediately by an image */
h1.page-title:has(+ div > img),
h2.page-title:has(+ div > img) {
	border-bottom: none;
	box-shadow: none;
}

h1 {
	font-size: var(--gFont-size-heading-1);
}

h2 {
	font-size: var(--gFont-size-heading-2);
}

h3 {
	font-size: var(--gFont-size-heading-3);
}

h4 {
	font-size: var(--gFont-size-heading-4);
}

h5 {
	font-size: var(--gFont-size-heading-5);
}

h6 {
	font-size: var(--gFont-size-heading-6);
}


/* --- Header --- */

header {
	padding-top: 1rem;
	width: 100%;
	text-align: center;
}

.logotype,
.identity-column {
	border: 0px solid blue;
	display: inline-block;
}

.site-identity,
.site-description {
	border: 0px solid blue;
	text-align: left;
	display: block;
}

.site-identity {
	font-family: var(--gFont-elegant);
	font-size: var(--gFont-size-identity);
	padding: 0 0 1rem 1rem;
}

.publisher-identity {
	font-family: var(--gFont-elegant);
	font-size: var(--gFont-size-identity);
	padding: 0 0 0.75rem 1rem;
}

.site-description {
	position: relative;
	top: -0.3em;
	left: 0;
	font-family: var(--gFont-identity-description);
	font-size: var(--gFont-size-identity-description);
}

header .site-identity {
	text-shadow: 1px 1px 1px var(--gColor-purple-30);
}

header .site-description {
	text-shadow: 1px 1px 1px var(--gColor-purple-20);
}

@media (max-width: 780px) {

	.site-identity {
		font-size: calc(var(--gFont-size-identity) / 2);
		padding: 0 0 0.75rem 1rem;
	}

	.site-description {
		font-size: calc(var(--gFont-size-identity-description) / 1.9);
	}

}


/* --- Footer --- */

footer {
	display: flex;
	justify-content: space-between;
	align-content: center;
	flex-wrap: wrap;
	background-color: var(--gColor-background);
	position: fixed;
	left: 0;
	bottom: 0;
	text-align: center;
	padding: 0.5rem 1rem;
	border-width: var(--gImage-border-width) 0 0 0;
	border-style: solid;
	border-color: var(--gColor-purple-10);
	box-shadow: 0px 1px 3px var(--gColor-purple-50); /* 50% #270a33*/
}

footer .site-identity::before {
	content: 'Vincent';
}

footer .site-identity {
	position: relative;
	top: 0.1em;
	left: 0;
	font-size: calc(var(--gFont-size-identity) / 4);
	padding: 0 0 0 0.10rem;
}

footer .site-description {
	position: relative;
	top: 0.4em;
	left: 0;
	font-size: var(--gFont-size-xxs);
}

footer .logotype img {
	height: calc(var(--gImage-logo-width) / 6);
	width: auto;
}

footer .publisher-block {
	position: relative;
	top: 0.4em;
	left: 0;
}

footer .identity-block {
	display: inline-block;
	padding: 0;
}

footer .identity-block a {
	color: var(--gColor-text);
}

footer .publisher-block {
	display: inline-block;
	padding: 0;
}

footer .copyright-block {
	font-family: var(--gFont-base);
	font-size: var(--gFont-size-sm);
	display: inline-block;
	padding: 0.5rem 1rem;
}

footer .publisher-identity::before {
	font-size: 75%;
	font-style: italic;
	content: 'powered by: ';
}

footer .publisher-identity {
	border: 0px solid blue;
	font-family: var(--gFont-base-emphasis);
	font-size: calc(var(--gFont-size-identity) / 4);
	padding: 0 0.10rem 0 0;
}

@media (max-width: 920px) {

	footer .identity-block {
		display: none;
	}

	footer .copyright-block {
		font-family: var(--gFont-base-emphasis);
			/* Make the copyright more noticeable when this is the only block. */
	}
}

@media (max-width: 750px) {

	footer {
		justify-content: space-around;
			/* Maintain space to the left and right when this is the only block. */
	}

	footer .publisher-block {
		display: none;
	}
}


/* --- Byline --- */

div.byline {
	text-align: left;
	display: block;
	width: 100%;
	height: var(--gByline-height);
	padding: 0 0 0.5rem 0;
	margin: 0 0 1.5rem 0;
	border-bottom: var(--gImage-border-width) solid var(--gColor-purple-05);
}

.separator {
	padding: 0.75rem 0 0 0;
	margin: auto;
	width: 150px;
	border-top: var(--gImage-border-width) solid var(--gColor-purple-10);
}

article h3 {
	padding: 1.0rem 0 0.5rem 0;
}

article h4 {
	padding: 0 0 0.75rem 0;
	font-family: var(--gFont-title-emphasis);
}

article h5 {
	padding: 0 0 1.0rem 0;
}

div.avatar {
	display: inline-block;
}

img.avatar {
	width: var(--gImage-avatar-width);
	height: auto;
	margin: 0;
	padding: 0;
	border-radius: 50%;
}

div.author {
	padding-left: 0.5rem;
	display: inline-block;
}

.caption span.copyright {
	font-family: var(--gFont-base-emphasis);
}

span.author {
	position: relative;
	top: -0.3rem;
	border: 0px solid blue;
	display: block;
	font-family: var(--gFont-base-emphasis);
	font-size: var(--gFont-size-md);
}

span.author-tagline {
	position: relative;
	top: -0.4rem;
	display: block;
	font-family: var(--gFont-base-voice);
	font-size: var(--gFont-size-xs);
}

.timestamp {
	line-height: var(--gByline-height);
	float: right;
	display: inline-block;
	font-family: var(--gFont-monspace-emphasis);
	font-size: var(--gFont-size-xs);
}

/* --- Images --- */

main img {
	max-width: var(--gImage-max-width);
	width: 100%;
	height: auto;
	border-radius: var(--gImage-border-radius);
	padding: var(--gImage-border-radius);
	box-shadow: 3px 3px 3px var(--gColor-purple-50); /* 50% #270a33*/
	border: var(--gImage-border-width) solid var(--gColor-purple-10);
}

main span.caption {
	display: block;
	font-family: var(--gFont-base-voice);
	font-size: var(--gFont-size-sm);
	padding-top: 0.7rem
}

.block-image {
	padding-bottom: 2rem;
}

.logotype img {
	height: var(--gImage-logo-width);
	width: auto;
}

@media (max-width: 780px) {

	.logotype img {
	height: calc(var(--gImage-logo-width) / 2);
		width: auto;
	}
	
}

img.logotype-small {
	height: calc(var(--gImage-logo-width) / 4);
	width: auto;
}


/* --- Links --- */

a {
	color: var(--gColor-link);
}

a:hover {
	color: var(--gColor-link-hover);
}

a:visited {
	color: var(--gColor-link-visited);
}

a:focus {
	text-decoration: dotted var(--gColor-primary) 1px;
}


.site-identity > a {
	color: var(--gColor-primary);
}

.site-identity > a:hover {
	color: var(--gColor-primary);
}
