
/* layout.css */

/* ... Framework ...
-----------------------------------------------*/
#wrapper {
	max-width: var(--max-width);
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	gap: var(--divider-space);
}
#container {
	flex-grow: 1;
	display: flex;
}
main {
	flex-grow: 1;
  max-width: 100%;
}
/* ... Framework ... END
-----------------------------------------------*/



/* ... Basics ...
-----------------------------------------------*/
html {
  overflow-y: scroll;
}
body {
	margin: 0;
	background-color: var(--bg-color);
	color: var(--font-color-dark);
	font-family: 'PT Sans', Verdana, sans-serif;
	font-size: var(--font-size);
	line-height: var(--line-height);
  height: 100%;
}
/* ... Basics ... END
-----------------------------------------------*/



/* ... Header ...
-----------------------------------------------*/
header {
  overflow: visible;
	background-image: url(img/globolog-gitternetz.svg);
	background-color: var(--header-bg-color);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
header .header {
	margin-top: var(--logo-space-y-top);
	margin-bottom: 10px;
	padding: 0 1rem;
}
.logo {
  max-width: 100%;
}
.logo a {
	width: max-content;
	margin-bottom: 0;
}
.logo img {
	max-width: 40vw;
}
.logo figcaption {
	font-size: .9em;
	text-transform: uppercase;
	text-indent: 65px;
	padding: 0;
	line-height: inherit;
	margin-top: .5em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* ... Header ... END
-----------------------------------------------*/



/* ... Footer ...
-----------------------------------------------*/
footer {
  --ce-space-bottom: 1.3em;
}
.footer .address {
	display: flex;
	flex-wrap: wrap;
	gap: .25em 0;
}
.footer .address p {
  margin: 0;
}
.footer .address p::after {
	content: "|";
	padding: 0 .5em;
}
.footer .address p:last-child:after {
  content: "";
  padding: 0;
}
.footer .sponsor {
	display: flex;
	flex-wrap: wrap;
	gap: .5em .25em;
	justify-content: space-between;
}
.footer .sponsor p:last-of-type {
	margin: 0;
	max-width: 650px;
}
.footer .sponsor figure {
	margin: 0;
}
/* ... Footer ... END
-----------------------------------------------*/



/* ... Sticky header ...
-----------------------------------------------*/
#wrapper {
  --transition-options: all .25s ease 0s;
  /* padding-top: 216px; */
}
#wrapper,
header .header,
.logo img,
.logo figcaption {
	transition: var(--transition-options);
}
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: var(--max-width);
	z-index: 2;
}
header::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	height: 8px;
	background-image: linear-gradient(to bottom, rgba(0 0 0 / 0), transparent);
}
.is_scrolled header::after {
	background-image: linear-gradient(to bottom, rgba(0 0 0 / .5), transparent);
}
.is_scrolled header .header {
	margin-top: 10px;
}
.is_scrolled .logo img {
	max-width: min(240px, 30vw);
}
.is_scrolled .logo figcaption {
	margin-top: -1.6em;
	transform: translate(193px, 0);
}
/* ... Sticky header ... END
-----------------------------------------------*/

