/* COLOR VARIABLES */

:root {
  --color-primary: #357edd;
  --color-accent: #357edd;
  --color-bg: #1b1b1b;
  --color-text: #f7f5ef;
  --color-surface: #111;
  --color-overlay: rgba(0, 0, 0, 0.45);
}

/* GLOBAL STYLES */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  background: var(--color-bg) !important;
}

body,
body * {
  color: var(--color-text);
  font-family: "Roboto Mono", monospace;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}

.site-logo-img {
  max-width: 175px !important;
  height: auto;
}

/* LAYOUT */

.header-shell,
.footer-shell,
.site-shell,
.site-container {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.site-container{
  max-width:60rem !important;
}

.site-shell,
.site-container {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.list-container,
.post-container{
  max-width:60rem !important;
}

.header-shell,
.footer-shell {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-bottom: 2rem;
}

.footer-menu-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}

@media screen and (min-width: 30em) {
  .header-shell,
  .footer-shell,
  .site-shell,
  .site-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }

}

@media screen and (max-width: 59.99em) {
  .footer-inner {
    flex-direction: column;
  }
}



/* TEXT */

.page_title {
  color: var(--color-primary);
}

@media screen and (max-width: 59.99em) {
  .page_title {
    text-align: center;
  }
}

.home_h2,
.events_h2 {
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--color-primary);
}

.post-list-date {
  font-size: .75rem;
  font-style: italic;
}

/* LINKS */

a,
.title_link {
  color: var(--color-accent) !important;
  text-decoration: none;
}

a:hover,
.title_link:hover {
  color: white !important;
}

/* HEADER */

.site-logo {
  color: var(--color-accent);
  font-family: "Roboto Mono", monospace;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.site-logo:hover {
  color: white;
}

header nav a {
  font-family: "Roboto Mono", monospace;
  font-size: 0.9rem;
}

header nav a:hover {
  color: var(--color-bg);
}

.navbar {
  padding-top: 0.5rem;
  min-height: 75px !important;
  text-align: center;
}

.menu-list {
  gap: 1rem;
}

@media screen and (max-width: 59.99em) {
  .navbar,
  .navbar > div {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .menu-list {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* BUTTONS */

button,
.button,
.slider_button,
.event_button {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  text-decoration: none;
}

.slider_button,
.event_button {
  color: var(--color-bg);
  background-color: var(--color-primary);
  text-decoration: none;
  margin-bottom: 1rem;
  font-size: .85rem !important;
}

.event_button,
.slider_button,
.event_button:visited,
.slider_button:visited{
  color: white !important;
}

.event_button:hover,
.slider_button:hover {
  color: var(--color-accent) !important;
  background-color: white;
}

/* EVENTS */

.event_details .event_url,
.event_details .event_url:visited,
.event-card .event_url,
.event-card .event_url:visited {
  color: var(--color-accent);
  text-decoration: underline;
  word-break: break-word;
}

.event_details .event_url:hover,
.event-card .event_url:hover {
  color: white;
}

.event-details{
  border: 1px solid var(--color-accent);
  padding: 1rem;
}

.event-organizer {
  font-size: .85rem;
  font-style: italic;
}

.events-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.event-card {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333;
}

.event-card-title {
  margin-bottom: 1rem;
}

.event-card-title a {
  color: var(--color-primary);
  text-decoration: none;
}

.event-card-title a:hover {
  color: white;
}

.event-card p {
  margin-bottom: 0.75rem;
}

.event-actions {
  margin-top: 1.5rem;
}

.event-card-past {
  opacity: 0.7;
}

.event-data,
.event-data strong {
  color: var(--color-accent);
}

/* RECENT POSTS */

.recent_post {
  border-bottom: 1px solid #333;
  padding: 1rem 0;
}