@charset "UTF-8";

/* @FONT FACE (enable the use of 'custom fonts' inside your document) */
@font-face {
  font-family: '_Fantasy';
  src: url('../fonts/CirrusCumulus.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: '_Text';
  src: url('../fonts/CothamSans.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: '_Text2';
  src: url('../fonts/Ojuju-SemiBold.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: '_TypeW';
  src: url('../fonts/NotCourierSans.otf') format('opentype');
  font-weight: bold;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: '_TypeWBold';
  src: url('../fonts/NotCourierSans-Bold.otf') format('opentype');
  font-weight: bold;
  font-style: normal;
  font-display: block;
}

/* VARIABLES */
:root {
  /* Color settings */
  /* --color-background: rgba(255, 216, 99, 1); */
  /* --color-background-right: rgba(0, 147, 94, 1); */
  --color-highlight: rgba(196, 52, 21, 1);
  --color-text: rgba(0, 0, 0, 1);
  --color-text-link: rgba(196, 52, 21, 1);
  --color-text-link-hover: rgba(196, 52, 21, 0.5);
  /* Font settings */
  --font-body: '_TypeW';
  --font-titles: '_Fantasy';
  --font-subtitles: '_TypeWBold';
  --font-size: 12px;
  /* Margins settings */
  --margin: 1rem;
}

/* GENERAL STYLES */
html {
  /* background: linear-gradient(to bottom, green 0%, white 25vh); */
  color: var(--color-text);
  background-color: var(--color-background);
  scroll-behavior: smooth;
  /* overflow: hidden; */
}

body {
  position: relative;
  /* background-color: var(--color-background); */
  font-size: var(--font-size);
  font-family: var(--font-body);
  color: var(--color-text);
  width: 100%;
  height: 100%;
  overflow-y: auto;
}

a {
  color: var(--color-text-link);
  text-decoration: none;
}

a:hover {
  color: var(--color-text-link-hover);
  text-decoration: none;
  /* filter: drop-shadow(0.05rem 0.05rem grey); */
}

a:active {
  color: black;
}

a:focus-visible {
  color: var(--color-text-link-hover);
  text-decoration: none;
}

.link-opens-content {
  font-family: var(--font-subtitles);
}

h1 {
  /* color: black; */
  /* color: var(--color-text-link); */
  font-size: calc(var(--font-size)*2.5);
  font-family: var(--font-titles);
  padding-bottom: calc(var(--margin)/2);
  filter: drop-shadow(0.2rem 0.2rem grey);
  /* h1 style */
}

h1:hover {
  filter: drop-shadow(0.15rem 0.15rem grey);
}

h2 {
  color: var(--color-text-link);
  font-family: var(--font-body);
  /* h2 style */
}

h3 {
  margin-top: 0;
  font-family: var(--font-subtitles);
  /* h3 style */
}

h4, h5, h6 {
  font-weight: normal;
  font-size: calc(var(--font-size)/1.2);
  /* h4-h5-h6 style */
}

/* navigation */
.subtitle {
  color: var(--color-highlight);
  font-size: var(--font-size);
  padding: 1.5%;
  position: absolute;
}

footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  background-color: var(--color-background);
  padding-bottom: var(--margin);
  /* float: bottom;
  margin-top: var(--margin);
  margin-left: var(--margin); */
}

footer>a {
  margin-right: var(--margin);
  margin-left: var(--margin);
}

footer>div {
  display: inline-block;
  text-decoration: underline;
}

nav {}

p {
  line-height: 125%;
  /* paragraph style */
}

ol, ul {
  /* ordered list and unordered list styles */
}

blockquote {
  /* blockquote element style */
}

hr {
  /* horizontal rule style */
  border: 1px, dashed, var(--color-background-right);
}

.left {
  width: 10%;
}

/* PAGE STYLES */
/* page structure */
div.page-wrapper {
  /* the element that 'wraps' everything */
  padding: var(--margin);
  display: flex;
  gap: 10px;
  flex-direction: row;
}

.page-wrapper>.left {
  top: 0;
  position: sticky;
  height: fit-content;
}

.container {
  padding-top: var(--margin);
  display: flex;
}

.sidebar {
  flex: 1;
  /* background-color: lightblue; */
  overflow-y: hidden;
}

.nav {
  padding-left: 0.5rem;
  color: white;
}

.nav>li {
  list-style-type: none;
}

.nav>a>li {
  list-style-type: none;
}

ul.nav {
  margin: 0;
}

/* Add li:after if going back to index */
/* li:after{
	content:attr(content-type);
  right: 51%;
	position: absolute;
}

a:after{
	content:attr(content-type);
  right: 51%;
	position: absolute;
} */
.link-opens-content {
  display: inline-block;
  position: relative;
}

.year {
  display: inline-block;
  position: relative;
  color: var(--color-text);
  cursor: pointer;
}

.content-type {
  right: 0%;
  display: inline-block;
  position: absolute;
  color: var(--color-text);
  cursor: pointer;
}

.year:hover, .content-type:hover {
  color: var(--color-text-link-hover);
  text-decoration: none;
}

.card {
  background-color: var(--color-background-right);
  padding: 1rem;
}

.card>p {
  /* color: white; */
}

.intro {
  font-size: var(--font-size);
  line-height: 125%;
}

.slider {
  /* display: flex; */
  /* flex-wrap: nowrap; */
  /* overflow-x: auto; */
  /* -webkit-overflow-scrolling: touch; */
  /* -ms-overflow-style: -ms-autohiding-scrollbar; */
}

/* content */
main {
  display: inline-block;
  flex: 1;
  flex-direction: column;
  flex-wrap: wrap;
  text-align: start;
  padding-left: 1%;
  padding-right: 1%;
  box-sizing: content-box;
}

section {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  padding-bottom: var(--margin);
  /* scroll-margin-top: 200px; */
}

section>img {
  margin: var(--margin);
  margin-left: 0;
  height: inherit;
  width: inherit;
  object-fit: contain;
  vertical-align: bottom;
  /* flex: 0 0 auto; */
  outline: 1px solid red;
}

/* GENERAL USABILITY */
/* hide desktop mobile etc */
.desktop {
  display: block;
}

.mobile {
  display: none;
}

.hidden {
  display: none;
}

/* if you want to hide something visually but want to keep it readable / accessible for screen readers (sr) */
.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

/* MEDIA QUERIES */
@media (orientation: portrait) {
  .root{
    --font-size: 25px !important;
  }

  body{
    font-size: var(--font-size);
  }

  div.page-wrapper {
    flex-direction: column;
  }

  main {
    display: block;
    flex-direction: column;
    flex-wrap: wrap;
    text-align: start;
    padding-left: 5%;
    padding-right: 5%;
    box-sizing: content-box;

  }

  header h1 {
    width: 69vw;
  }

  .container {
    margin-top: 0%;
    display: flex;
  }

  .page-wrapper>.left {
    top: 0;
    position: relative;
    display: block;
    height: fit-content;
  }

  li:after {
    content: attr(content-type);
    right: var(--margin);
    position: absolute;
  }

  a:after {
    content: attr(content-type);
    right: var(--margin);
    position: absolute;
  }

  .content-type {
    right: var(--margin);
  }
}

.left {
  width: 100%;
  padding-right: var(--margin);
}

/* responsive typeface */
@media (max-width: 298px) {
  :root {
    --font-size: 7px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 299px) and (max-width: 339px) {
  :root {
    --font-size: 8px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 340px) and (max-width: 439px) {
  :root {
    --font-size: 9px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 440px) and (max-width: 599px) {
  :root {
    --font-size: 10px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 600px) and (max-width: 779px) {
  :root {
    --font-size: 12px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 780px) and (max-width: 992px) {
  :root {
    --font-size: 13px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 993px) and (max-width: 1200px) {
  :root {
    --font-size: 14px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 1201px) and (max-width: 1319px) {
  :root {
    --font-size: 15px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 1320px) and (max-width: 1619px) {
  :root {
    --font-size: 16px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 1620px) and (max-width: 1879px) {
  :root {
    --font-size: 17px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

@media (min-width: 1880px) {
  :root {
    --font-size: 18px;
  }

  html, body {
    font: var(--font-size) var(--font-body);
  }
}

/* website media queries */
@media (max-width: 779px) {

  /* styles for screen sizes 779px, should covers 'mobile' and 'tablet' */
  /* style this one first and then use the two others to 'override' some styles (exceptions/details) */
  /* utilities */
  .desktop {
    display: none !important;
  }

  .mobile {
    display: block;
  }
}

@media (max-width: 391px) {
  main {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    text-align: start;
    /* padding-left:5%;
    padding-right:5%; */
    box-sizing: content-box;
    --font-size: 18px;
  }

  /* use this query to apply style changes to smaller smartphones sizes (like an iPhone 5S or SE 2016), max size of 339px */
}

@media (max-width: 779px) and (orientation: landscape) {
  main {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    text-align: start;
    /* padding-left:5%;
    padding-right:5%; */
    box-sizing: content-box;
    --font-size: 15px;
  }

  /* use this query to apply style changes for 'mobile' screen sizes that are flipped in 'landscape' mode */
}

@media (min-width: 780px) and (max-width: 992px) {
  /* use this query to apply style for 'small' desktop screens */
}
