JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Home</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div class="acm">AO: An Organization</div>
<div class="links">
<ul>
<li>
<img src="img/discord_qr.png" alt="https://discord.gg QR Code">
<a href="https://discord.gg/">Discord Invite</a>
</li>
</ul>
</div>
<div class="column events">
<h2>Events</h2>
<ul>
<li>
<div class='title'>Meeting</div>
<div class='date'>Every Wednesday</div>
<div class='time'>At 5:00pm</div>
<div class='desc'>Join us!</div>
</li>
<li>
<div class='title'>Vote</div>
<div class='date'>4/20/2020 - 4/26/2020</div>
</li>
</ul>
</div>
<div class="column officers">
<h2>Officers</h2>
<ul>
<li>
<div class='officer-role'>Role</div>
<div class='officer-name'>Person</div>
<a class='officer-email' href=''>email@example.com</a>
</li>
<li>
<div class='officer-role'>Rolt</div>
<div class='officer-name'>Person</div>
<a class='officer-email' href=''>email@example.com</a>
</li>
<li>
<div class='officer-role'>Role</div>
<div class='officer-name'>Person</div>
<a class='officer-email' href=''>email@example.com</a>
</li>
<li>
<div class='officer-role'>Role</div>
<div class='officer-name'>Person</div>
<a class='officer-email' href=''>email@example.com</a>
</li>
</ul>
</div>
<div class="column meme">
<h3 id="title">Meme</h3>
<img id="meme-image" src="https://i.redd.it/xtv3s40cv8w41.jpg" alt="Epic Meme">
</div>
</body>
</html>
CSS
@font-face {
font-family: "pt sans caption";
src: url(https://github.com/google/fonts/raw/master/ofl/ptsanscaption/PT_Sans-Caption-Web-Regular.ttf) format("truetype");
}
@font-face {
font-family: "pt sans caption bold";
src: url(https://github.com/google/fonts/raw/master/ofl/ptsanscaption/PT_Sans-Caption-Web-Bold.ttf) format("truetype");
}
div {
font-family: "pt sans caption", sans-serif;
}
a {
color: black;
text-decoration: none;
}
.column {
float: left;
padding-top: 0;
margin-top: 0;
border: solid 1px red;
}
#meme-image, #meme-video {
width: 45%;
}
.acm {
border: solid 1px green;
font-size: 4vw;
font-weight: bold;
text-align: center;
padding-bottom: 0;
margin-bottom: 0;
}
.officer-role {
font-size: 20px;
font-weight: bold;
}
.officer-email {
font-size: 15px;
font-style: italic;
}
.links {
font-size: 30px;
display: flex;
justify-content: center;
}
.links img {
vertical-align: middle;
}
.links li {
border: solid 1px blue;
display: inline-block;
padding-right: 20px;
}
.meme {
float: none;
text-align: center;
margin-left: auto;
margin-right: auto;
height: 100vw;
object-fit: contain;
}
.officers {
width: 25%;
padding-left: 2%;
}
.events {
width: 25%;
text-align: right;
float: right;
padding-right: 2%;
}
ul {
list-style-type: none;
padding: 0;
margin-bottom: 0;
margin-top: 0;
}
.column li {
padding-bottom: 10px;
}
@media (max-aspect-ratio: 1/1) {
.acm {
font-size: 6vw;
}
.column {
float: none;
text-align: center;
width: 100%;
}
#meme-image, #meme-video {
width: 90%;
}
}