:root {
  --color-gold: #f3cc0a;
  --color-gold-dark: hsl(50, 90%, 33%);
  --color-academy: #66428E;
  --color-middle: #514e9e;
  --color-college: #3C5AAF;
  --academybordercolor: #4a2f69;
  --collegebordercolor: #283f7c;
  --transition-duration: 0.3s;
  --font-family: Verdana, Geneva, Tahoma, sans-serif;
  --font-size: 13px;
  --icon-size: 2.5em;
}
body,
html {

  font-size: var(--font-size, 20px);
  margin: 0;
  padding: 0;
  text-align: center;
  background: var(--color-middle) linear-gradient(180deg, var(--color-academy) 15%, var(--color-college) 85%);
  min-height: 100vh;
  min-height: 100dvh;
  
  color: white;
  overflow: auto;
  font-family: var(--font-family, sans-serif);
}
* {
  box-sizing: border-box;
}
.fillViewport {
  min-height: 20rem;
  justify-content: space-around;
  align-items: center;
  display: grid;
  grid-template-columns: 1fr;
  max-width: 50ch;
  margin: 0 auto;
  gap: 1em;
  margin-bottom: 2em;
}
.entry {
  text-align: center;
  margin: 0.5em auto;
  transition: border 0.5s ease;
  background-size: contain;
  background-repeat: no-repeat;
  display: flex;
  flex-flow: column;
  gap: 1.5em;
  padding: 1em;
}
img {
  max-width: 100%;
}
a {
  display: block;
  /* color: transparent; */
  text-decoration: none;
}
.logo .link:hover, .logo:focus-within .link {
  background-color: var(--bordercolor,blue);
}
.academy {
  --bordercolor: var(--academybordercolor, #f00);
  --cc: var(--color-gold);
  --cbg: var(--color-academy);
}
.college {
  --bordercolor: var(--collegebordercolor, #00f);
  --cc: var(--color-gold);
  --cbg: var(--color-college);
}
.description {
  font-family: var(--font-family, sans-serif);
  max-width: 50ch;
  line-height: 1.8;
  margin-bottom: -1em;
}
p {
  margin: 0;
}
.college .description {
  margin-bottom: 2em;
}
.logo {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  width: 90%;
  height: auto;
  margin: 0 auto;
}
.logo .link {
  border-radius: 0.5em;
}
.logo img {
  width: 100%;
  height: auto;
}
.socials {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 1em;
}
.socials a {
  display: block;
  text-indent: 0;
  margin: 0.5em;
  padding: 0.5em;
  width: var(--icon-size, 2em);
  height: var(--icon-size, 2em);
  /* border: 1px solid white; */
  border-radius: 0.5em;
  color: white;
  text-decoration: none;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: relative;
  z-index: 2;
  transition: color var(--transition-duration,0.2s) ease;
}
.logo .link img,
.socials a svg {
  fill: currentColor;
  position: relative;
  z-index: 1;
}
a::after {
  content: '';
  position: absolute;
  background: var(--cbg,rgba(220, 0, 0, 0.5));
  border-radius: 0.5em;
  z-index: 0;
  opacity: 0.4;
  inset: 0;
  transition: all var(--transition-duration,0.2s) ease;
}
a:hover {
  color: var(--cc,var(--color-gold, gold));
}
a:hover::after {
  opacity: 1;
  background-color: var(--bordercolor,rgba(220, 0, 0, 0.5));
}
footer {
  font-size: 0.8em;
  margin: 1em auto;
}
@media screen and (min-width: 420px) {
  :root {
    --font-size: 15px;
  }
}
@media screen and (min-width: 550px) {
  :root {
    --font-size: 17px;
    --icon-size: 3em;
  }
}
@media screen and (min-width: 900px) {
  body, html {
    background: var(--color-middle) linear-gradient(90deg, var(--color-academy) 15%, var(--color-college) 85%);
  }
  .fillViewport {
    grid-template-columns: 1fr 1fr;
    align-items: flex-start;
    gap: 0;
    max-width: 100ch;
  }
  .entry {
    display: grid;
    height: 100%;
    grid-template-rows: auto auto 1fr auto;
  }
}

@media screen and (min-width: 1020px) {
  .entry {
  }
}
