/*
	Backgrounds or Font over Dark Backgrounds: #F5EBDF
	Dark Background/Accent Color: #6D120B,
	Primary Text Color: #000000
*/

@font-face {
    font-family: 'Norwester';
    src: url('font/Norwester-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Francois One';
    src: url('font/FrancoisOne-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-ExtraBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Darker Grotesque';
    src: url('font/DarkerGrotesque-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

* {
		padding: 0;
		margin: 0;
}

body {
		background-color: #F5EBDF;
		font-family: "Darker Grotesque", sans-serif !important;
}

body.home {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
		background-position: 0 70px;
		background-repeat: no-repeat;
		background-size: 100%, 900px;
}

body.teambg {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
		background-position: 0 70px;
		background-repeat: no-repeat;

}
body.forkbg {
		background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
		background-size: 100% 1500px;
		background-repeat: no-repeat;
}

header {
		background-color: #6D120B;
		width: 100%;
		height: 75px;
		padding-top: 5px;
		box-shadow: 0px 0px 15px rgba(0,0,0,0.7);
}

header img {
		display: block;
		height: 70px;
		margin: 0 auto;
}

header h1 {
		display: block;
		font-size: 54px;
		margin: 0.2rem auto 0;
		text-align: center;
		font-family: "Norwester", sans-serif !important;
		color: #f5ebdf;
}

/* header nav img {
		height: 60px;
		position: absolute;
		top: 10px;
		right: 15px;
} */

header.subpage {

}

header.subpage > img {
		position: absolute;
		top: 10px;
		left: 15px;
		display: block;
		height: 60px;
}

header nav {
		float: right;
}
header nav img {
		height: 60px;
		position: absolute;
		top: 10px;
		right: 15px;
		display: block;
}

main {
		color: #000000;
		max-width: 800px;
		margin: 0 auto;
}

main.home {
		padding-top: 4rem;
		max-width: 900px;
}
main.home h2 {
		font-family: "Francois One", serif !important;
		font-weight: normal;
		font-style: italic;
		font-size: 2rem;
		margin-bottom: 1rem;
}
main.home h1 {
		font-family: "Norwester", sans-serif !important;
		font-size: 3rem;
		line-height: 2.6rem;
		margin-bottom: 1rem;
		text-transform: uppercase;
}

main.home article {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		gap: 2rem;
}

.home article #twitch-embed {
		display: block;
		width: 500px;
		height: 320px;
		background-color: #999;
		color: #f4f4f4;
		flex: 4;
}

.home article section {
		flex: 3;
}
.home article section p {
		font-size: 1.2rem;
		text-align: justify;
		text-justify: inter-word;
}
.home article section nav {
		margin-top: 0.5rem;
}
.home article section nav a {
		color: #6d120b;
		display: block;
		margin-bottom: 0.5rem;
		font-size: 2rem;
		font-weight: bold;
}

.home article section .linklist {
		display: flex;
		clear: both;
		flex-flow: row nowrap;
		width: 90%;
		margin: 1rem auto 0;
		padding: 0.5rem 1rem;
		justify-content: space-between;
}
.home .linklist .icon {
		display: none;
		position: relative;
		height: 32px;
		width: 32px;
		background-size: 32px 32px;
}
.home .linklist .icon::after {
		content: '';
    position: absolute;
    bottom: 0;
    left: 20%;;
    width: 60%;
    box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.2);
    z-index: -1;
}

.fork {
		background-image: url('img/oi_blank_black.png');
		background-repeat: no-repeat;
		background-position-x: center;
		background-position-y: 4rem;
		padding-top: 15rem;
}
.fork h1 {
		font-family: "Norwester", sans-serif !important;
		font-variant: small-caps;
		font-size: 2.8rem;
		text-align: center;
		/* text-shadow: 0 0 5px rgb(0,0,0, 0.5); */

}
.fork .subtitle {
		display: block;
		text-align: center;
		margin-top: 1rem;
		font-family: "Francois One", serif !important;
		font-style: italic;
		font-size: 2rem;
}

.fork .rsvg {
		margin: 1rem 0 0.5rem;
		border: 1px solid #000000;
		border-radius: 2rem;
		padding: 1rem 2rem;
		overflow: auto;
}
.fork .rsvg h2 {
		font-family: "Francois One", serif !important;
		font-style: italic;
		font-size: 1.8rem;
		margin-bottom: 0.5rem;
}

.fork .rsvg div {
		display: flex;
		flex-direction: row;
		gap: 1.5rem;
		align-items: center;
}
.fork .rsvg div img {
		width: 120px;
		border-radius: 2rem;
}
.fork .rsvg div p {
		font-size: 1.2rem;
		line-height: 1.3rem;
		margin-bottom: 0.3rem;
}
.fork .rsvg div p a {
		color: #6d120b;
		font-weight: bold;
		text-decoration: underline;

}

.fork aside {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
		gap: 3rem;
		margin: 0 10px;
}

.fork aside p {
		font-size: 1.4rem;
		line-height: 1.3rem;
		flex: 1 1 0px;
		text-align: justify;

}

.fork article {
		margin-top: 2rem;
}

.fork article h2 {
		font-family: "Norwester", sans-serif !important;
		font-size: 2.4rem;
		margin-bottom: 1.4rem;
}

.fork article h3 {
		font-size: 1.8rem;
		font-family: "Francois One", serif !important;
		font-style: italic;
		font-weight: normal;
		margin-top: 1rem;
		margin-bottom: 0.8rem;
}

.fork article p {
		font-size: 1.3rem;
		line-height: 1.2rem;
		padding-bottom: 0.7rem;
}

.fork article p.refs {
		font-size: 1rem;
		padding-left: 1.3rem;
		line-height: 1.1rem;
		text-indent: 1.7rem hanging;
}

p.refs a:link, p.refs a:active, p.refs a:hover, p.refs a:visited {
		background-image: url(img/icon/external-link.svg);
		font-weight: bold;
		text-decoration: none;
		color: #6d120b;
		font-size: 1.2rem;
		background-size: 1.2rem;
		background-repeat: no-repeat;
		background-position: 0 0.3rem;
		padding-left: 1.6rem;
}

a.joinbutton {
		color: #f5ebdf;
		font-family: "Francois One", sans-serif !important;
		display: block;
		font-size: 2.1rem;
		padding: 0.5rem 1rem;
		background-color: #6d120b;
		margin: 3rem auto;
		width: 350px;
		text-align: center;
		border-radius: 100vw;
		text-decoration: none;
		box-shadow: rgba(237, 200, 200, 0.8) 0 0 50px;
}

.fork nav {
		margin-top: 2.5rem;
}
.fork nav ul {
		display: flex;
		justify-content: space-around;

}
.fork nav ul li {
		list-style-type: none;
		text-decoration: none;
		color: #6d120b;
		font-weight: bold;
		font-size: 1.4rem;
		padding: 0.3rem 0.7rem 0.5rem;
}
.fork nav ul li:hover {
		cursor: pointer;
}

.fork .tabs li.active {
		background-color: #6d120b;
		color: #f5ebdf;
}


.fork ol {
		padding-bottom: 1rem;
}
.fork article > ol {
		margin-top: 1rem;
}

.fork ol li {
		font-weight: bold;
		font-size: 1.2rem;
		margin-left: 1.5rem;
		line-height: 1.5rem;
}

.fork ol p {
		margin-left: 2rem;
}

.fork ol > ol li {
		font-weight: normal;
		margin-left: 2rem;
}

.fork ol > ul li {
		margin-left: 2.5rem;
		font-weight: normal;
		font-size: 1.1rem;
}

.fork .tab-content article {
		display: none;
}
.fork .tab-content .active {
		display: block;
}


/* TEAM */

main.team {
		/*		background: #298bf7; */
}

.team h1 {
		font-family: "Norwester", sans-serif !important;
		padding: 3rem 0 2rem;
		font-size: 3rem;
}

.team > p {
		font-size: 1.4rem;
		margin: 0 0.5rem;
		padding: 1rem 0 2rem;
}

.team p a:link, .team p a:hover, .team p a:visited, .team p a:active {
		font-weight: bold;
		color: #6d120b;
}

.team article {
		width: 800px;
		margin: 2rem auto 0;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: space-between;
}
.team article.active {
		align-items: flex-start;
}

.team article section {
		color: #000;
		position: relative;
		width: 390px;
		background-color: #f5f5f5;
		min-height: 200px;
		border-radius: 1rem;
		box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.5);
		transition:  min-height 0.4s;
}
.team article section.active {
		min-height: 300px;
}
.team article section .long {
		display: none;
}
.team article section.active .long {
		display: block;
}
.team .long ul {
		margin: 0.8rem 2.5rem;
}
.team .long li {
		color: #404551;
		font-size: 0.9rem;
		line-height: 1.1rem;
}

.team article section img.pfp {
		display: inline-block;
		width: 100px;
		height: 100px;
		border: 2px solid black;
		border-radius: 50px;
		margin: 1rem 1rem 0.2rem 1rem;
		float:left;
}

.team .emblem {
		height: 20px;
		width: 20px;
		position: absolute;
		left: 98px;
		top: 98px;
		z-index: 1;
}

.team article section h2 {
		display: block;
		color: #404551;
		font-size: 1.3rem;
		vertical-align: top;
		padding: 1rem 0 0.4rem;
}
.team article section p {
		display: block;
		color: #404551;
		font-size: 0.9rem;
		line-height: 1.1rem;
		padding-right: 0.8rem;
		padding-left: 0.8rem;
		margin-bottom: 3.4rem;
}
.team article section.active p {
		margin-bottom: 1rem;
}
.team article section.active div.long {
		margin-bottom: 3.6rem;
}

.team .long a {
		text-decoration: none;
		color: #6d120b;
		font-weight: bold;
}

.team article section .linklist {
		display: flex;
		clear: both;
		flex-flow: row nowrap;
		position: absolute;
		bottom: 1rem;
		gap: 1rem;
		padding: 1rem 1.5rem 0;
}

.linklist .icon {
		display: block;
		height: 26px;
		width: 26px;
		background-size: 26px 26px;
}

.linklist .youtube {
		background-image: url(img/icon/youtube.svg);
}
.linklist .instagram {
		background-image: url(img/icon/instagram.svg);
}
.linklist .substack {
		background-image: url(img/icon/substack.svg);
}
.linklist .kick {
		background-image: url(img/icon/kick.svg);
}
.linklist .twitch {
		background-image: url(img/icon/twitch.svg);
}
.linklist .tiktok {
		background-image: url(img/icon/tiktok.svg);
}
.linklist .twitter {
		background-image: url(img/icon/twitter.svg);
}
.linklist .links {
		background-image: url(img/icon/links.svg);
}



/* FOOTER */

footer {
		margin: 5rem auto 2rem;
}

footer .banner {
		display: flex;
		flex-direction: row;
		width: 80%;
		margin: 0 auto;
		justify-content: space-evenly;
}

footer .banner a {
		display: block;
		flex-grow: 0;
		font-size: 1.3rem;
		color: #6d120b;
		font-size: 1.7rem;
}

footer .banner a:link, footer.banner a:hover, footer .banner a:active, foooter.banner a:visited {
		text-decoration: none;
}

footer .subber {
		margin-top: 1.5rem;
		font-size: 0.9rem;
		text-align: center;
}

footer .subber a {
		color: #6d120b;
}

footer .subber a:link, footer .subber a:link, footer .subber a:link, footer .subber a:link {
		text-decoration: none;
		font-weight: bold;
}

/** Navigation Button **/

.nav_menu {
  position: absolute;
  right: 18px;
  top: 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.nav_entry {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 18px 0 14px;
  border-radius: 99px;
  background: oklch(1 0 0);
  border: 1px solid oklch(0.9 0.004 90);
  box-shadow: 0 10px 24px -14px oklch(0.2 0.01 90/.5);
  font-size: 18px;
  font-weight: 600;
  color: #333;;
  text-decoration: none;
	letter-spacing: 1px;
  opacity: 0;
  translate: 0 14px;
  scale: .6;
  pointer-events: none;
  transition: opacity .25s,
							translate .45s cubic-bezier(.2,1.4,.35,1),
							scale .45s cubic-bezier(.2,1.4,.35,1),
							border-color .2s,
							color .2s;
}

.nav_entry svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #6d120b;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

[data-open] .nav_entry {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  pointer-events: auto;
  transition-delay: calc(var(--i) * 0.05s);
}

.nav_entry:hover,
.nav_entry:focus-visible {
  border-color: var(--acc);
  color: var(--acc);
}

.nav_entry:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 2px;
}

.nav_btn {
  position: absolute;
  right: 18px;
  top: 12px;
  width: 64px;
  height: 64px;
  border: none;
  border-radius: 50%;
  background: var(--fab);
  color: #f5ebdf;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 14px 30px -12px color-mix(in oklch,var(--fab) 70%,transparent);
  transition: translate .2s,scale .15s,box-shadow .25s,background .3s;
}

.nav_btn:hover {
  box-shadow: 0 20px 36px -12px color-mix(in oklch,var(--fab) 65%,transparent);
}

.nav_btn:active {
  scale: .92;
}

.nav_btn:focus-visible {
  outline: 2px solid var(--acc);
  outline-offset: 3px;
}

.nav_btn span {
  position: relative;
  width: 32px;
  height: 28px;
  display: block;
}

.nav_btn i {
  position: absolute;
  left: 0;
  width: 32px;
  height: 3px;
  border-radius: 2px;
  background: currentColor;
  transition: translate .3s,
							rotate .3s .05s,
							opacity .2s;
}

.nav_btn i:nth-child(1) { top: 0; }
.nav_btn i:nth-child(2) { top: 10px; }
.nav_btn i:nth-child(3) { top: 20px; }

[data-open] .nav_btn i:nth-child(1) {
  translate: 0 10px;
  rotate: 45deg;
}

[data-open] .nav_btn i:nth-child(2) {
  opacity: 0;
}

[data-open] .nav_btn i:nth-child(3) {
  translate: 0 -10px;
  rotate: -45deg;
}

@media (min-width: 601px) and (max-width: 900px) {
		main.home {
				padding-top: 3rem;
				max-width: 600px;
		}
		main.home h2 {
				font-size: 1.8rem;
		}
		main.home h1 {
				font-size: 2.2rem;
				line-height: 2.3rem;
		}
		main.home article {
				flex-direction: column;
				gap: 1rem;
		}
		#twitch-embed {
				margin: 0 auto;
		}
		.home article section .linklist {
				margin: 0 auto;
				padding: 1rem 0 0;
				width: 50%;
		}
}

@media (max-width: 800px) {
		header h1 {
				font-size: 46px;
				margin: 0.5rem auto 0;
		}
		.team h1 {
				text-align: center;
		}
		.team article {
				width: 80%;
				gap: 20px;
				justify-content: space-around;
				align-items: stretch;
				flex-flow: column;
		}
		.team article section {
				max-width: 800px;
				width: auto;
				margin: 0 0.5rem;
		}
		.fork .rsvg {
				margin-left: 0.5rem;
				margin-right: 0.5rem;
		}
}

@media (max-width: 600px) {
		body.home {
				background-position: 0 55px;
				background-size: 100%, 480px;
		}
		body.teambg {
				background-position: 0 55px;
				background-size: 100%, 300px;
		}
		header {
				height: 55px;
		}
		header img {
				height: 50px;
		}
		header h1 {
				margin: 0.6rem 1rem 0 !important;
				font-size: 28px !important;
				text-align: left;
		}
		header nav img {
				height: 50px;
				top: 0px;
		}
		.nav_btn {
				top: 4px;
				right: 4px;
		}
		.nav_btn span {
				width: 18px;
		}
		.navbtn i {
				width: 18px;
				height: 2px;
		}
		.nav_btn i:nth-child(1) { top: 0;	}
		.nav_btn i:nth-child(2) {	top: 8px;	}
		.nav_btn i:nth-child(3) {	top: 16px; }
		[data-open] .nav_btn i:nth-child(1) {
				translate: 0 8px;
		}
		[data-open] .nav_btn i:nth-child(3) {
				translate: 0 -8px;
		}
		.nav_menu { top: 70px; }
		.nav_entry {gap: 7px; }

		/* home */

		main.home {
				padding-top: 2.5rem;
				max-width: 600px;
		}
		main.home h2 {
				font-size: 1.3rem;
				margin-bottom: 0.8rem;
				padding: 0 0.5rem;
				text-align: center;
		}
		main.home h1 {
				font-size: 1.6rem;
				line-height: 1.8rem;
				padding: 0 0.5rem;
				text-transform: none;
				text-align: center;
		}
		main.home article {
				flex-direction: column;
		}
		.home article #twitch-embed {
				display: none;
		}
		.home article section p {
				font-size: 1rem;
				padding: 0 0.5rem;
		}
		.home article section nav {
				margin-top: 1.5rem;
				padding: 0 1rem;
		}
		.home article section nav a {
				margin-bottom: 0.3rem;
				font-size: 1.5rem;
		}
		.home article section .linklist {
				margin: 0 auto;
				padding: 1rem 0 0;
				width: 70%;
		}
		.home .linklist .icon {
		display: none;
		height: 28px;
		width: 28px;
		background-size: 28px 28px;
}


		/* fork */
		.fork {
				background-position-y: 2rem;
				padding-top: 13rem;
		}
		.fork h1 {
				font-size: 2.2rem;
				width: 330px;
				margin: 0 auto;
		}
		.fork .subtitle {
				font-size: 1.4rem;
		}
		a.joinbutton {
				font-size: 1.6rem;
				padding: 0.3rem 0.7rem;
				margin: 2rem auto;
				width: 240px;
		}
		.fork aside {
				gap: 1.1rem;
		}
		.fork aside p {
				font-size: 1rem;
				line-height: 0.9rem;
		}

		.fork .rsvg {
				margin: 1rem 0.5rem 1.5rem;
				padding: 0.5rem 1rem;
		}
		.fork .rsvg div {
				display: block;
		}
		.fork .rsvg a img {
				float: left;
				margin: 0 1rem 0.1rem 0;
		}
		.fork .rsvg div p {
				font-size: 0.8rem;
				line-height: 1rem;
		}

		.fork nav {
				margin-top: 1rem;
		}
		.fork nav ul li {
				font-size: 1rem;
				padding: 0.3rem 0.5rem;
				border-radius: 0.5rem;
		}
		.fork article {
				margin: 1rem 0.3rem 0;

		}
		.fork article h2 {
				font-size: 1.8rem;
				margin-bottom: 0.8rem;
				text-align: center;
		}
		.fork article h3 {
				font-size: 1.7rem;
				text-align: center;
				margin-top: 0.8rem;
		}
		.fork article p {
				font-size: 1rem;
				line-height: 1.4rem;
		}
		.fork article > ol {
				margin-top: 0.6rem;
		}
		.fork ol li {
				font-size: 1rem;
				line-height: 1.2rem;
		}
		.fork ol > ul li {
				font-size: 0.9rem;
				line-height: 1.1rem;
				margin-bottom: 0.2rem;
		}
		.fork article p.refs {
				font-size: 0.9rem;
				padding-left: 1.4rem;
				text-indent: 1.5rem hanging;
		}
		p.refs a:link, p.refs a:active, p.refs a:hover, p.refs a:visited {
				font-size: 1.1rem;
				padding-left: 1.4rem;
		}

		/* team */
		.team h1 {
				font-size: 2.3rem;
				text-align: center;
		}
		.team > p {
				font-size: 1.1rem;
				margin: 0 1rem;
				text-align: justify;
				padding: 0.5rem; 0 1rem;
		}
		.team article {
				width: 100%;
				align-items: stretch;
				gap: 10px;
		}
		.team article section {
				max-width: 800px;
				margin: 0 0.5rem 0.5rem;
		}

}

@media (max-width: 470px) {
		header h1 {
				font-size: 32px;
				margin: 0.4rem 1rem 0px;
		}
}
