:root {
  --colour_white: #ffffff;
  --colour_purple: #433b97;
  --colour_lightPurple: #7872b4;
  --colour_background: #1e1e1e;
  --padding_gutter: clamp(50px, calc(50px + (100 * (100vw - 768px) / (1440 - 768))), 150px);
  --font_text: Tahoma, Geneva, "Segoe UI", Arial, sans-serif;
  --font_h: 'Orbitron', sans-serif;
  --font_vcr: 'vcr', sans-serif;
}

@font-face {
  font-family: 'vcr';
  src: url('fonts/VCREAS 3.0.ttf') format('truetype');
}

body {
  margin: 0;
  display: flex;
  flex-direction: column;
  background-color: var(--colour_background);
}

h2, h3 {
  margin-block: 0.2rem;
  font-weight: normal;
}

h2 {
  font-family: var(--font_vcr);
  color: var(--colour_lightPurple);
  font-size: 36px;
}

h3 {
  font-family: var(--font_h);
  color: var(--colour_purple);
  margin-block: 0;
  font-size: 1.4rem;
}

p {
  font-family: var(--font_text);
  color: var(--colour_white);
  font-size: 1.1rem;
  margin-block: 0.5rem;
}

a {
  font-family: 'Orbitron', sans-serif;
}


/* NAVBAR */
.navbar {
  display: flex;
  align-items: center;
  background-color: var(--colour_purple);
  padding-inline: var(--padding_gutter);
  width: 100%;
  height: 100px;
  box-sizing: border-box;
}

.navbar_div_logo {
  display: flex;
  align-items: center;
}

.navbar_div_logo a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.navbar_logo {
  width: 60px;
  height: 60px;
}

.navbar_name {
  font-family: var(--font_vcr);
  color: var(--colour_lightPurple);
  font-size: 36px;
}

.navbar_div_menu {
  margin-left: auto;
  display: flex;
  gap: 50px;
}

.navbar_div_menu a {
  color: var(--colour_white);
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
}

@media (max-width: 768px) {
  .navbar_div_logo span {
    display: none;
  }
}


/* MAIN */
.main {
  display: flex;
  flex-direction: column;
}

.vision {
  font-size: 3rem;
  font-family: var(--font_vcr);
  color: var(--colour_lightPurple);
  padding: 5rem;
  padding-left: var(--padding_gutter);
}

.main_div_menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
}

.main_div_menu a {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--colour_white);
  text-decoration: none;
  padding: 1.2rem 3rem;
  background-color: var(--colour_purple);
}

.main_div_menu a:hover {
  /*color: var(--colour_purple);*/
  background-color: var(--colour_lightPurple);
}


/* PROJECTS */
.game_list {
  display: flex;
  flex-direction: column;
  padding-bottom: 5rem;
  
  --game_block_width: clamp(200px, 80vw, 600px);
}

.game_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 2rem;
}

.game_logo {
  display: block;
  width: var(--game_block_width);
  height: auto;
}

.game_info {
  padding-top: .5rem;
}

.game_info p {
   width: var(--game_block_width);
}

@media (min-width: 1440px) {
  .game_list {
    align-items: center;
    padding-left: var(--padding_gutter);
  }

  .game_card {
    flex-direction: row;
	align-items: stretch;
    text-align: left;
  }

  .game_info {
	max-width: var(--game_block_width);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-left: 2rem;
  }
}


/* TEAM */
.team_list {
  display: grid;
  grid-template-columns: 1fr;
  padding-bottom: 5rem;
}

.team_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 2rem;
}

.team_portrait {
  width: 300px;
  height: auto;
}

.team_info {
  display: flex;
  flex-direction: column;
  padding-top: .5rem;
}

.team_info p {
   max-width: 400px;
}

@media (min-width: 768px) {
  .team_list {
    padding-left: var(--padding_gutter);
  }

  .team_card {
    flex-direction: row;
	align-items: stretch;
    text-align: left;
  }

  .team_info {
	flex: 1;
	justify-content: flex-end;
	padding-left: 2rem;
  }
}

@media (min-width: 1024px) {
  .team_list {
    align-items: center;
  }
}

@media (min-width: 1440px) {
  .team_list {
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
    gap: clamp(20px, 5vw, 50px);
	padding-left: 0;
  }

  .team_card {
	display: flex;
	flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .team_portrait {
    display: block;
    margin-inline: auto;
  }

  .team_info {
	justify-content: flex-start;
	padding-left: 0;
  }
}