:root {
	--header-outer-height: 110px;
	--header-inner-height: 70px;
	--header-height-difference: calc(
		var(--header-outer-height) - var(--header-inner-height)
	);
	--header-bg: #a798eb;
	@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap');
}
@import url('https://fonts.googleapis.com/css2?family=Macondo+Swash+Caps&display=swap');


html{
	min-height: 100vh;
}

body {
  color: #000000;
  font-family: font-family: "Atkinson Hyperlegible", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  margin: auto;
	background: -webkit-linear-gradient(top, #939adf 0%, transparent 50%),
		url(/images/noise2.svg);

	background: -linear-gradient(top, #939adf 0%, transparent 50%),
		url(/images/noise2.svg);

	background: -moz-linear-gradient(top, #939adf 0%, transparent 50%),
		url(/images/noise2.svg);
	min-height: 100vh;
}

.card{
	background: -webkit-linear-gradient(top, #f8e6d0 0%, transparent 100%),
		    url(/images/noise2.svg);

	background: -linear-gradient(top, #f8e6d0 0%, transparent 100%),
		    url(/images/noise2.svg);

	background: -moz-linear-gradient(top, #f1e4fd 0%, transparent 100%),
		    url(/images/noise2.svg);
	
	margin-bottom: 1em;
	border-radius: 2%;
	box-shadow: 6px 6px 3px #4d5683;
	padding: 1em;
}

img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 50%;
	height: auto;
}

figure {
  padding: 4px;
  margin: auto;
}

figcaption {
  font-style: italic;
  padding: 2px;
  text-align: center;
  width: auto;
}

code {
  font-family: Consolas,"courier new";
  background-color: #a798eb50;
  padding: 2px;
  font-size: 100%;
  text-align: justify;
  font-style: italic;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.blogpost h1{
	margin: auto;
	text-decoration: underline;
}

.blogpost{
	margin-bottom: 1em;
	background: linear-gradient(#f1e4fdd0, #f1e4fdc0),
		    url(/images/noise2.svg);
		
	border-radius: 2%;
	box-shadow: 6px 6px 3px #4d5683;
	padding: 1em;
}

.table_of_contents{
	margin-bottom: 1em;
	margin-right: 2em;
	margin-left: 0em;
	background-color: #f1e4fd;
	border-radius: 20%;
	box-shadow: 6px 6px 3px #4d5683;
	padding: 1em;
	position: fixed;
	background: linear-gradient(#f1e4fdd0, #f1e4fdc0),
		    url(/images/noise2.svg);
}

.taglist{
	display: grid;
	  grid-template-columns: auto auto auto;
	  gap: 1vmax;
	  justify-self: auto;
	  grid-auto-flow: row;

	margin: auto;
}

.taglist ul{
	display: grid;
	grid-auto-flow: column;
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.taglabel{
	text-decoration: underline;
}

.content{
  max-width: 65vw;
	display:flex;
	z-index: 10;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
}

@media (max-width: 928px) {
	.table_of_contents{
		display: none;
	}
.content{
  max-width: 98vw;
  }
}

header {
	z-index: 20;
}

.responsive-wrapper {
	width: 90%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

/* Sticky header */
.header-outer {
	/* Make it stick */
	height: var(--header-outer-height);
	position: sticky;
	top: calc(
		var(--header-height-difference) * -1
	); /* Multiply by -1 to get a negative value */
	display: flex;
	align-items: center;

	/* Other */
	background: -webkit-linear-gradient(top, #f8e6d0 80%, transparent 100%),
		    url(/images/noise2.svg);

	background: -linear-gradient(top, #f8e6d0 80%, transparent 100%),
		    url(/images/noise2.svg);

	background: -moz-linear-gradient(top, #a798eb 60%, #e6bcca88 100%),
		    url(/images/noise2.svg);
	box-shadow: 0 2px 10px 0 rgba(0,0,0, 0.1);
}

.header-inner {
	/* Make it stick */
	height: var(--header-inner-height);
	position: sticky;
	top: 0;

	/* Other */
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 20;
}

/* Styling of other elements */
.header-logo img {
	display: block;
/*	height: calc(var(--header-inner-height) - 30px);*/
}

.header-navigation {
	display: flex;
	flex-wrap: wrap;
}

.main {
	margin-top: 3rem;
}

.widget {
	width: 100%;
	max-width: 600px;
	border-radius: 8px;
	box-shadow: 0 15px 30px 0 rgba(0,0,0, 0.1);
	background-color: #fff;
	padding: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2rem;
	font-size: 1.125rem;
}

.widget > * + * {
	margin-top: 1.25em;
}

.widget h2 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
}

.widget strong {
	font-weight: 700;
}

@media (max-width: 800px) {
	.header-navigation a{
		display: inline-block;
	}

	.header-navigation button,
	.header-logo button {
		display: none;
	}
	.table_of_contents{
		display: none;
	}
}


footer {
  border-top: 1px solid #222;
  margin-top: 1rem;
  flex-shrink: 0;
}

a h1,
a {
   /* RESET */
   text-decoration: none;
   line-height: 1;
   
   position: relative;
   z-index: 0;
   display: inline-block;
   padding: 5px 5px;
   overflow: hidden;
   color: #000;
   vertical-align: text-bottom;
   transition: color .3s ease-out;
}

a h1::before,
a::before {
 content: "";
   position: absolute;
   z-index: -1;
   top: 0;
   left: 0;
   transform: translateY(calc(100% - 2px));
   width: 100%;
   height: 100%;
   background-image: linear-gradient(60deg, #e98fb1 0%, #e2b758 100%);
   transition: transform .25s ease-out;
}

a h1:hover, 
a:hover { 
   color: #f1e4fd; 
}
a h1:hover::before,
a:hover::before {
   transform: translateY(0);
   transition: transform .25s ease-out;
}


ul {
	display: flex;
	flex-direction: column;
}

/*Lets start with the cloud formation rather*/

/*The container will also serve as the SKY*/

/*Time to finalise the cloud shape*/
.cloud {
	scale: 50%;
	position: fixed;
	/*z-index: 0;*/

}

/*Time to animate*/
.x1 {
	-webkit-animation: moveclouds 15s linear infinite;
	-moz-animation: moveclouds 15s linear infinite;
	-o-animation: moveclouds 15s linear infinite;
}

/*variable speed, opacity, and position of clouds for realistic effect*/
.x2 {
	left: 2vw; top: 5vh;
	
	-webkit-transform: scale(0.6);
	-moz-transform: scale(0.6);
	transform: scale(0.6);
	opacity: 0.6; /*opacity proportional to the size*/
	
	/*Speed will also be proportional to the size and opacity*/
	/*More the speed. Less the time in 's' = seconds*/
	-webkit-animation: moveclouds 25s linear infinite;
	-moz-animation: moveclouds 25s linear infinite;
	-o-animation: moveclouds 25s linear infinite;
}

.x3 {
	left: -25vw; top: 60vh;
	
	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	transform: scale(0.8);
	opacity: 0.8; /*opacity proportional to the size*/
	
	-webkit-animation: moveclouds 20s linear infinite;
	-moz-animation: moveclouds 20s linear infinite;
	-o-animation: moveclouds 20s linear infinite;
}

.x4 {
	left: 4.7vw; top: 45vh;
	
	-webkit-transform: scale(0.75);
	-moz-transform: scale(0.75);
	transform: scale(0.75);
	opacity: 0.75; /*opacity proportional to the size*/
	
	-webkit-animation: moveclouds 18s linear infinite;
	-moz-animation: moveclouds 18s linear infinite;
	-o-animation: moveclouds 18s linear infinite;
}

.x5 {
	left: -1vw; top: 20vh;
	
	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	transform: scale(0.8);
	opacity: 0.8; /*opacity proportional to the size*/
	
	-webkit-animation: moveclouds 20s linear infinite;
	-moz-animation: moveclouds 20s linear infinite slide-in;
	-o-animation: moveclouds 20s linear infinite;
}

@-webkit-keyframes moveclouds {
	0% {margin-left: 1000px;}
	100% {margin-left: -1000px;}
}
@-moz-keyframes moveclouds {
	0% {margin-left: 125vw;}
	100% {margin-left: -125vw;}
}
@-o-keyframes moveclouds {
	0% {margin-left: 1000px;}
	100% {margin-left: -1000px;}
}
