*{
  margin: 0;
  padding: 0;
  font-family: Inter;
}

:root{
  --text: rgb(20, 20, 20);
  --header: black;
  --body-bg: rgb(240, 240, 240);
  --primary: rgb(60, 60, 255);
  --secondary: rgb(100, 100, 255);
  --link: var(--primary);
  --glass-bg: rgb(240, 240, 240, 0.4);
  --glass-shadow: inset 0 0 .5rem white;
  --glass-border: rgb(200, 200, 200, 1);
  --nav-hover: rgba(0, 0, 0, 0.2);
  --border: rgb(200, 200, 200, 1);
  --bg: white;
  --shadow: 0 0 .5rem rgba(0, 0, 0, 0.2);
}

[data-theme="dark"]{
  --text: rgb(220, 220, 220);
  --header: white;
  --body-bg: rgb(10, 10, 15);
  --link: var(--secondary);
  --glass-bg: rgb(100, 100, 100, 0.4);
  --glass-shadow: inset 0 0 .5rem rgb(100, 100, 100);
  --glass-border: rgb(50, 50, 50);
  --nav-hover: rgba(0, 0, 0, 0.2);
  --border: rgb(40, 40, 45);
  --bg: rgb(20, 20, 25);
}

body{
  background: var(--body-bg);
  text-align: center;
  min-height: 100vh;
  transition: 200ms;
}

a{color: var(--link); text-decoration: none;}

h1, h2, h3{color: var(--header); margin: 1rem;}
h1{font-size: 4rem;} h2{font-size: 2rem;} h3{font-size: 1.5rem;} p{font-size: 1rem; color: var(--text);}
hr{
  color: var(--border);
  border: var(--border), solid 1px;
  margin-bottom: 1rem;
}

img{border-radius: 1rem;} video{border-radius: 1rem;}

button{
  padding: 0 .8rem;
  background: var(--bg);
  border: var(--border), solid 1px;
  padding: 0.8rem 1rem;
  border-radius: 2000px;
  color: var(--text);
  transition: scale 150ms, box-shadow 200ms;
  cursor: pointer;
}

button:hover{
  scale: 1.05;
  box-shadow: var(--shadow);
}

button:active{
  scale: 0.9;
  box-shadow: none;
}

footer{
  background: var(--bg);
  border: var(--border), solid 1px;
  padding: 1rem;
  color: var(--text);
}

.fancy-button{
  color: white;
  background: var(--primary);
  border: var(--secondary), solid 1px;
  transition: scale 150ms, box-shadow 500ms;
}

.fancy-button:hover{
  box-shadow: 0 0 1rem var(--secondary);
}

.flex-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin: 1.5rem;
}

.card{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 21.5rem;
  background: var(--bg);
  border: var(--border), solid 1px;
  border-radius: 1.5rem;
  padding: .5rem;
  box-shadow: var(--shadow);
}

.wide-card{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 43rem;
  background: var(--bg);
  border: var(--border), solid 1px;
  border-radius: 1.5rem;
  padding: .5rem;
  box-shadow: var(--shadow);
}

.date{
  color: grey;
}

.header-img{
  margin: 1rem;
  max-width: 50%;
  height: auto;
  transition: all 300ms;
}

.header-img:hover{
  scale: 1.025;
  filter: brightness(1.2);
}

@keyframes buttonHover{
  0%{transform: scale(1);}
  33%{transform: scale(1.05);}
  66%{transform: scale(1);}
  100%{transform: scale(1.025);}
}

@keyframes scrollIn{
  0%{transform: translateY(100px); opacity: 0;}
  100%{transform: translateY(0); opacity: 1;}
}

@keyframes loadPage{
  0%{opacity: 0;}
  100%{opacity: 1;}
}

@media (max-width: 450px){
  .card{
    width: 100%;
  }
  .header-img{
    max-width: 90%;
  }
}