
:root {
  --main-bg: #F0F1F2; /* light grey for the bg */
  --basic-bg: #FFFFFF; /* white */
  --content: #212529; /* dark for the content */
  --paragraph: #444D55; /* dark for the content */
  --pale: rgba(33, 37, 41, 0.32); /* pale grey */
  --highlight: #C2E812; /* greenish highlight color #2191FB*/ 
  --hover-link: #EF476F; /* link hover */
}
.fira-mono-regular {
  font-family: "Fira Mono", monospace;
  font-weight: 400;
  font-style: normal;
}

.fira-mono-medium {
  font-family: "Fira Mono", monospace;
  font-weight: 500;
  font-style: normal;
}

.fira-mono-bold {
  font-family: "Fira Mono", monospace;
  font-weight: 700;
  font-style: normal;
}
* {
  box-sizing: border-box;
}
html, body {
	margin: 0px;
	background-color: var(--main-bg);
	color: var(--content);
	font-family: "Fira Mono", monospace;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 32px;
}	

body {
  display: none;
  opacity: 1;
  margin-left: 0;
}
h1, h2, h3, h4, h5 {
	margin: 0px 0px 16px 0px;
	padding: 0px;
	text-wrap: balance;
}

h1	{
	font-size: 2.8em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0;
}
h2 {
	font-size: 1.2em;
	line-height: 1.5em;
	font-weight: 500;
	letter-spacing: 0;
}
h3 {
	margin: 0px 0px 40px 0px;
	font-size: 1em;
	line-height: 1.6em;
	font-weight: 700;
	letter-spacing: 8px;
	text-transform: uppercase;
	text-align: right;
}
.article h3 {
	text-align: left;
	margin: 0px 0px 24px 0px;
}
h4 {
	margin: 8px 0px 8px 0px;
	font-size: 0.7em;
	line-height: 1em;
	font-weight: 400;
  letter-spacing: 4px;
	text-transform: uppercase;
}
p {
	margin: 0px 0px 24px 0px;
	text-wrap: pretty;
	font-size: 1em;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--paragraph);
}
p.hint {
		font-size: 0.86em;
    line-height: 1.5em;
    padding: 8px 16px;
    border-left: 4px solid;
    border-color: var(--highlight);
}
b {
	font-weight: 500;
	color: var(--content);
}
ul {
	margin-top: 0px;
  padding-left: 20px;
}

ul li {
	margin-top: 0.4em;
	color: var(--paragraph);
}
a {
	font-weight: 500;
	color: var(--content);
	text-decoration: none;
	border-bottom: 1px solid;
  border-color: var(--pale);
}
a:hover {
	color: var(--hover-link);
	text-decoration: none;
	border-bottom: none;
}













section	{
	margin: 0px auto 40px auto;
	height: auto;
}



/* SPECIAL FEATURES */

.highlighted {
	position: relative;
  display: inline-block;  /* ensures width/height for absolute ::after */
  padding: 0 .08em; 
	z-index: 0;    /* important! */
}

.highlighted::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 2px;     /* adjust the overlap */
	width: 100%;
	height: 12px;     /* thickness of the red line */
	background: var(--highlight);
	z-index: -1;     /* sends it behind the text */
}

.description {
	margin: 8px 0px 0px 0px;
	text-wrap: pretty;
	font-size: 1em;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 0;
}

section.review {
	background: var(--basic-bg);
	border-radius: 24px;
	padding: 24px;
}

.referrer {
	display: flex;
	gap: 16px;
	align-items: center;
}
.userpic {
	width: 64px;
	height: 64px;
}
.userpic img {
	width: 64px;
	height: 64px;
	border-radius: 64px;
	overflow: clip;
}
.name {
	
}
video {
	width: 100%;
  height: auto;
  display: block;
  margin-bottom: 16px;
  border-radius: 24px;
}
img {
	width: 100%;
  height: auto;
  display: block;
  margin-bottom: 16px;
  border-radius: 24px;
}






/* INDEX LAYOUT WITH 2 COLUMNS */



/* Mobile SMALL */
@media (min-width: 360px) and (max-width: 1023px) {

	#sticky-header {
    position: fixed;
    top: 0;                  /* header hidden above the viewport */
    left: 0;
    width: 100%;
    height: 48px;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    padding: 0px 0px 8px 0px;
 }
#sticky-header.visible {
    top: 0;                      /* slide down */
}

body {
	font-size: 17px;
}

.layout {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 40px;
  }

  .col-a {
    width: 100%;
    padding: 0px 24px;
    flex-shrink: 0;
  }
	.col-a::-webkit-scrollbar {
  	display: none; /* Hides scrollbar in Chrome/Safari */
	}
	.col-a {
  	-ms-overflow-style: none;  /* IE and Edge */
  	scrollbar-width: none;  /* Firefox */
	}
  .gap {
    width: 100%;
    padding: 0px 24px;
    height: 40px;
    flex-shrink: 0;
  }
  .col-b {
    width: 100%;
    padding: 0px 24px;
  }

  .article {
		display: block;
		width: 100%;
		margin: 0 auto;
	}

	.article section {
		width: 100%;
		padding: 0px 24px;
	}

}



/* Tablet */
@media (min-width: 1024px) and (max-width: 1279px) {

	body {
	font-size: 19px;
	}

  .layout {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 80px;
  }

  .col-a {
    width: 480px;
    flex-shrink: 0;
    position: sticky;
  	top: 80px; 
  	height: calc(100vh - 80px);
  	overflow-y: auto;
  }
	.col-a::-webkit-scrollbar {
  	display: none; /* Hides scrollbar in Chrome/Safari */
	}
	.col-a {
  	-ms-overflow-style: none;  /* IE and Edge */
  	scrollbar-width: none;  /* Firefox */
	}
  .gap {
    width: 64px;
    flex-shrink: 0;
  }
  .col-b {
    width: 480px;
  }

  .article {
		display: block;
		width: 1024px;
		margin: 0 auto;
		padding: 24px 0px;
	}

	.article section {
		width: 720px;
	}


}

/* Desktop */
@media (min-width: 1280px) {

  .layout {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 80px;
  }

  .col-a {
    width: 640px;
    flex-shrink: 0;
    position: sticky;
  	top: 80px; 
  	height: calc(100vh - 80px);
  	overflow-y: auto;
  }
	.col-a::-webkit-scrollbar {
  	display: none; /* Hides scrollbar in Chrome/Safari */
	}
	.col-a {
  	-ms-overflow-style: none;  /* IE and Edge */
  	scrollbar-width: none;  /* Firefox */
	}
  .gap {
    width: 80px;
    flex-shrink: 0;
  }
  .col-b {
    width: 640px;
  }

  .article {
		display: block;
		width: 1280px;
		margin: 0 auto;
		padding: 24px 0px;
	}

	.article img {
		display: block;
		margin: 0 auto;
	}
	.article video {
		display: block;
		margin: 0 auto;
	}

	.article section {
		width: 786px;
	}


}



/* Article STICKY HEADER */
#sticky-header {
    position: fixed;
    top: 0;                  /* header hidden above the viewport */
    left: 0;
    width: 100%;
    height: 56px;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: flex-end;
    padding: 0px 0px 12px 0px;
    transition: top 0.3s ease;   /* nice animation */
    z-index: 999;
    /* 1. The Blur: This blurs the content behind the div */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* For Safari support */

    /* 2. Transparency: Use RGBA to let light through */
    background: rgba(255, 255, 255, 0.2);

    /* 3. The Border: Adds a "shine" to the edge for depth */
    border: 1px solid rgba(255, 255, 255, 0.3);

    /* 4. Optional: Smooth out the corners */
    border-radius: 16px;
}

#sticky-header.visible {
    top: 0;                      /* slide down */
    box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.1);
}
























	