Skip to content
Snippets Groups Projects
main.css 11.50 KiB
:root {
	--site-width: 90ch;
	--site-lr-margin: 1rem;
	--site-header-height: 6rem;
	--site-breadcrumb-height: 2rem;
	--sitemenu-nav-height: 3rem;
	--card-size: 20ch;
	--text-color: #333333;
	--body-bg-color: #FFFFFF;
	--page-footer-color: #333333;
	--page-footer-link-color: #337AB7;
	--page-footer-bg-color: #EFEFEF;
	--site-footer-color: #FFFFFF;
	--site-footer-link-color: #ADD8E6;
	--site-footer-bg-color: #3B3B3B;
	--text-shawdow-color: rgba(0, 0, 0, 0.004);
	--link-color: #337AB7;
	--hline-color: #EEEEEE;
	--category-contrast-color: #FFFFFF;
	--header-menu-bg-color: rgb(240, 240, 240, 0.8);
	--header-menu-hover-bg-color: #E6E6E6;
}

* {
	background: transparent;
	border: 0;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
	box-sizing: border-box;
}

body {
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 1rem;

	color: var(--text-color);
	background-color: var(--body-bg-color);

	max-width: none;

	letter-spacing: 0.025rem;
	text-shadow: 0 0 1rem transparent, 1px 1px 1.2px var(--text-shawdow-color);

	overflow: visible;

	z-index: 0;
}



body > * {
	display: grid;
	grid-template-columns: [complete-start] minmax(var(--site-lr-margin), 1fr) [content-start] minmax(0px, var(--site-width)) [content-end] minmax(var(--site-lr-margin), 1fr) [complete-end];
	/*column-gap: 3rem;
	padding-left: 3rem;
	padding-right: 3rem;*/
	max-width: none;
}

body > * > * {
	grid-column: content
}

body > header h1 {
	display: inline-block;
	min-height: calc( var(--site-header-height) - 1rem );
	margin: 0.5rem;
	border-bottom: 0 solid transparent;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}
body > header h1 a {
	display: flex;
	line-height: calc( var(--site-header-height) - 1rem );
	text-align: center;
}
body > header h1 a span {
	display: inline-block;
	line-height: calc( var(--site-header-height) - 1rem );
	text-align: center;
}
body > header h1 img {
	display: inline-block;
	height: calc(var(--site-header-height) - 1rem);
}

#sitemenu-container {
	/*background-color: #7ac;*/

}
#sitemenu-container nav {
	/*font-size: 0.875rem;*/
	border-top: 0.3rem solid var(--hline-color);
}
#sitemenu-container nav > ul {
	width: 100%;
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	/*flex-wrap: wrap;*/
	flex-direction: row;
}
#sitemenu-container nav > ul > li {
	list-style: none;
	display: block;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 50%;
}
#sitemenu-container nav > ul > li > a {
	width: 100%;
	height: 100%;
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	min-height: var(--sitemenu-nav-height);
	/*border: 0.1rem solid var(--hline-color);*/
	border-bottom: 0.3rem solid var(--category-color);
	color: var(--link-color);
	padding-left: 0.3rem;
	padding-right: 0.3rem;
	transition: all 0.2s;
}
#sitemenu-container nav > ul > li > a:hover {
	color: var(--category-contrast-color);
	background-color: var(--category-color);
}


#sitemenu-container .show-header-menu {
	display: none;
	background-color: var(--header-menu-bg-color);
	-webkit-user-select: none; /* Safari */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* IE10+/Edge */
	user-select: none; /* Standard */
	cursor: pointer;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11;
}
#sitemenu-container .show-header-menu:hover {
	background-color: var(--header-menu-hover-bg-color);
	/*border-bottom: 0.2rem solid #536;*/
}
#sitemenu-container .show-header-menu-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	background-color: rgba(120,120, 120, 0.5);
	-webkit-user-select: none; /* Safari */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* IE10+/Edge */
	user-select: none; /* Standard */
	cursor: pointer;
	z-index: 5;
}

#sitemenu-container input[type=checkbox] {
	display: none;
}

@media only screen and (max-width: 94ch) {
	body > header h1{
		/*width: 100%;*/
	}
	body > header h1 a {
		justify-content: center;
		flex-wrap: wrap;
	}
	#sitemenu-container {
		margin-bottom: 0.2rem;
		font-size: 1.2rem;
	}
	#sitemenu-container nav {
		display: none;
		border-top: 0;
		position: fixed;
		top: 3.2rem;
		left: 0;
		z-index: 10;
		width: 100%;
	}
	#sitemenu-container nav > ul {
		flex-direction: column;
	}
	#sitemenu-container nav > ul > li {
		width: 100%;
		background-color: var(--category-contrast-color);
	}
	#sitemenu-container .show-header-menu {
		display: inline-block;
		font-style: normal;
		padding: 1rem;
	}
	#sitemenu-container a {
		width: 100%;
		/*! margin-top: 0.2rem; */
		/* padding-bottom: 0.2rem;*/
		box-sizing: border-box;
		display: block;
		line-height: 2rem;
		/* border-top: 0.1rem solid #333; */
	}
	/*#sitemenu-container a:hover {
		border-bottom: 0.1rem solid #536;
	}*/
	#sitemenu-container input[type=checkbox]:checked ~ .show-header-menu-bg {
		display: block;
	}
	#sitemenu-container input[type=checkbox]:checked ~ nav {
		display: block;
	}
	:root {
		--site-header-height: 3rem;
		/* --sitemenu-nav-height: 3rem; */
	}
}





footer.page-footer {
	padding-top: 1rem;
	padding-bottom: 1rem;
	background-color: var(--page-footer-bg-color);
	color: var(--page-footer-color);
}
footer.page-footer a {
	color: var(--page-footer-link-color);
}

footer#site-footer {
	/*margin-top: 50vh;*/
	padding-top: 1rem;
	padding-bottom: 1rem;
	background-color: var(--site-footer-bg-color);
	color: var(--site-footer-color);
}
footer#site-footer a {
	color: var(--site-footer-link-color);
}




nav.breadcrumb {
	color: var(--category-contrast-color);
	background-color: var(--category-color);
	line-height: var(--site-breadcrumb-height);
	margin-top: 0.5rem;
}
nav.breadcrumb ul li {
	display: inline-block;
}
nav.breadcrumb ul li::after {
	content: ' > ';
	white-space: pre-wrap;
}
nav.breadcrumb ul li:last-child::after {
	content: '';
	display: none;
}
nav.breadcrumb a {
	color: var(--category-contrast-color);
	background-color: var(--category-color);
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
/*
nav.breadcrumb a::before {
	content: '';
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-left: 0.5em solid #fff;
	position: absolute;
	left: 0;
	top: 0;
}
nav.breadcrumb a::after {
	content: '';
	border-top: 0.5em solid transparent;
	border-bottom: 0.5em solid transparent;
	border-left: 0.5em solid #E7E9EB;
	position: absolute;
	right: -0.5em;
	top: 0;
	z-index: 1;
}

nav.breadcrumb ul li:first-child a::before {
	content: '';
	display: none;
}
*/






























a {
	color: var(--link-color);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a.external::after {
	/* content: '↪'; */
	content: '🡕';
	/*background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20.092'%3E%3Cpath d='m12 0 2.561 2.537-6.975 6.976 2.828 2.828 6.988-6.988L20 7.927 19.998 0H12z'/%3E%3Cpath d='M9 4.092v-2H0v18h18v-9h-2v7H2v-14h7z'/%3E%3C/svg%3E");
	background-repeat: no-repeat no-repeat;
	background-position: center center;
	background-size: cover;*/
}
a.external[href^="mailto:"]::after {
	content: '';
}
a.external[href^="mailto:"]::before {
	content: '📧';
}


a.tag-link,
footer.page-footer a.tag-link {
	border-radius: 0.5rem;
	padding-left: 0.3rem;
	padding-right: 0.3rem;
	color: var(--category-contrast-color);
	background-color: var(--category-color);
}







hr {
	height: 0.25rem;
	margin: 1rem 0;
	background-color: var(--hline-color);
	border: 0;
	width: 100%;
}

sub {
	vertical-align: -25%;
}
sup {
	vertical-align: 50%;
}



.content .underline {
	text-decoration: underline;
}
.content .smallcaps {
	 font-variant: small-caps;
}

.content iframe {
	width: 100%;
	min-height: var(--site-width);
}

.content p,
.content blockquote,
.content ul,
.content ol,
.content dl,
.content table,
.content pre {
	margin: 0 0 1em 0;
}

.content ul,
.content ol {
	padding-left: 2em;
}

.content h1 {
	padding-bottom: 0.3em;
	font-size: 2em;
	border-bottom: 0.1em solid var(--hline-color);
}

.content h2 {
	padding-bottom: 0.3em;
	font-size: 1.5em;
	border-bottom: 0.1em solid var(--hline-color);
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
	margin-top: 1.5em;
	margin-bottom: 1em;
	font-weight: 600;
	line-height: 1.25;
}

.content .codeinline,
.content .codeblock {
	white-space: pre-wrap;
	overflow-wrap: break-word;
	word-break: keep-all;
}
.content .codeinline {
	background-color: rgba(0, 0, 0, 0.04);
	color: inherit;
	padding: 0.5em 0.2em;
}
.content .codeblock {
	background-color: #272822;
	color: #f8f8f2;
	padding: 0.5em 1em;
}


.content blockquote {
	border-left: 0.25em solid #ddd;
	padding: 0 1em;
	color: #777;
}

.content img {
	width: 100%;
	max-width: 100%;
}













ul.cards {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	padding: 0;
}

ul.cards li {
	display: inline-block;
	list-style: none;
	width: var(--card-size);
	height: var(--card-size);
	/* font-size: 125%; */
	overflow-wrap: break-word;
	flex-grow: 1;
	flex-shrink: 1;
	/*flex-basis: 30%;*/
	flex-basis: minmax(var(--card-size), 30%);
}
ul.cards li a {
	display: inline-block;
	width:  calc(100% - 1.3rem );
	height: calc(100% - 1.3rem );
	padding: 0.5rem;
	transition: all 0.2s;
	/* padding: 1rem; */
	/*width:  var(--card-size);
	height: var(--card-size);*/
	color: var(--category-contrast-color);
	background-color: var(--category-color);
	/* text-align: center; */
	border: 0.2rem solid var(--category-color);
}
ul.cards li a:hover {
	background-color: var(--category-contrast-color);
	color: var(--category-color);
}








.info, .success, .warning, .danger, .alert {
	padding:1rem;
	margin-bottom:1.2rem;
	border:0.1rem solid transparent;
	border-radius:0.25rem;
	/*padding:15px;
	margin-bottom:20px;
	border:1px solid transparent;
	border-radius:4px;*/
}

.info a,
.success a,
.warning a,
.danger a,
.alert a{
	text-decoration: underline;
}

.info a:hover,
.success a:hover,
.warning a:hover,
.danger a:hover,
.alert a:hover {
	background-color: var(--body-bg-color);
}

.info    h4 { margin-top:0; color:inherit; }
.success h4 { margin-top:0; color:inherit; }
.warning h4 { margin-top:0; color:inherit; }
.danger  h4 { margin-top:0; color:inherit; }
.alert   h4 {
	margin-top:0;
	color:inherit;
}

.alert .alert-link {
	font-weight:700;
}

.alert > p, .alert > ul { margin-bottom:0; }
.info      > p, .info      > ul { margin-bottom:0; }
.success   > p, .success   > ul { margin-bottom:0; }
.warning   > p, .warning   > ul { margin-bottom:0; }
.danger    > p, .danger    > ul { margin-bottom:0; }

.alert > p+p { margin-top:0.33rem; }
.info     > p+p { margin-top:0.33rem; }
.success  > p+p { margin-top:0.33rem; }
.warning  > p+p { margin-top:0.33rem; }
.danger   > p+p { margin-top:0.33rem; }

.alert-dismissable, .alert-dismissible {
	padding-right:2rem;
}

.alert-dismissable .close,.alert-dismissible .close{
	position:relative;
	top:-0.1rem;
	right:-1.4rem;
	color:inherit;
}

.success {
	color:#3c763d;
	background-color:#dff0d8;
	border-color:#d6e9c6;
}

.success hr {
	border-top-color:#c9e2b3;
}


.success .alert-link {
	color:#2b542c;
}

.info {
	color:#31708f;
	background-color:#d9edf7;
	border-color:#bce8f1;
}

.info hr {
	border-top-color:#a6e1ec;
}

.info .alert-link {
	color:#245269;
}

.warning {
	color:#8a6d3b;
	background-color:#fcf8e3;
	border-color:#faebcc;

}

.warning hr {
	border-top-color:#f7e1b5;
}

.warning .alert-link {
	color:#66512c;
}

.danger {
	color:#a94442;
	background-color:#f2dede;
	border-color:#ebccd1;
}

.danger hr {
	border-top-color:#e4b9c0;
}

.danger .alert-link {
	color:#843534;
}