/* Google fonts import */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Macondo&display=swap");

/* CSS variables */
:root {
  --primary-font: "inter", sans-serif;
  --secondary-font: "macondo", cursive;
  --primary-color: #3a2620; /* Dark brown */
  --secondary-color: #aa9581; /* Light brown */
  --highlight-color: #416a8e; /* Blue */
  --highlight-color-light: #7a9fc2; /* Light blue */
}

/* Global styles */
body {
  font-family: var(--primary-font);
  padding-top: 57.65px;
}

h1,
h2,
h3 {
  font-family: var(--secondary-font);
  color: var(--primary-color);
}

h1,
h2 {
  text-transform: uppercase;
}

h2 {
  margin-bottom: 2rem;
}

.sub-heading-color {
  color: var(--highlight-color);
}

.section {
  padding-top: 4rem; /* Prevent navbar overlap */
}

/* Buttons */

.custom-button-filled {
  border: 2px solid var(--highlight-color);
  background-color: var(--highlight-color);
  color: white;
}

.custom-button-filled:hover {
  border: 2px solid var(--secondary-color);
  background-color: var(--secondary-color);
  color: white;
}

.custom-button-outline {
  border: 3px solid var(--highlight-color);
  background-color: transparent;
  color: var(--highlight-color);
  padding: 7px 25px;
}

.events-button {
  text-align: center;
  margin-top: 10px;
}

.events-button a:hover {
  border: 2px solid var(--secondary-color);
  background-color: var(--secondary-color);
  color: white;
}

.custom-button-outline:hover {
  background-color: var(--highlight-color);
  color: white;
}

#navbar {
  background-color: var(--primary-color);
}

#navbar .logo {
  width: 30px;
}

/* Header */
#header .lead {
  font-family: var(--secondary-font);
}

/* Services */
#services .card-footer {
  font-weight: bold;
  color: var(--highlight-color);
  background-color: transparent;
}

#services .card {
  margin-bottom: 1.5rem;
}

/* Events section */

#student-discount {
  text-align: center;
  -ms-flex-line-pack: end;
  align-content: end;
}

#student-discount * {
  background-color: var(--highlight-color);
  color: white;
  display: inline-block;
  margin-bottom: 0;
  padding: 3px 10px;
  font-weight: bold;
}

#event-info-table {
  -ms-flex-line-pack: end;
  align-content: end;
}

#events-info {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

#join-events-heading h2 {
  margin-bottom: 0 !important;
}

/* Games library cards*/

#new-games .card,
#fav-games .card {
  border: none;
}

/* Footer / contact */

#contact {
  background-color: var(--primary-color);
  color: white;
  padding-bottom: 3rem;
}

#contact h2 {
  color: white;
}

#contact .sub-heading-color {
  color: var(--highlight-color-light);
}

#contact i {
  color: var(--secondary-color);
  font-size: 1.2rem;
  margin-right: 15px;
}

#contact .social-links i {
  color: var(--highlight-color-light);
  font-size: 1.9rem;
  -webkit-transition: color 0.3s ease-in-out;
  -o-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}

#contact .social-links i:hover {
  color: var(--secondary-color);
}

#contact .table-dark * {
  background-color: transparent;
}

/* Media queries */

/* Extra small devices (phones, less than 576px) */
@media screen and (max-width: 575px) {
  #student-discount {
    margin-top: 10px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media screen and (min-width: 768px) {
  /* Make all service cards the same height for consistency */
  #services .card-body {
    min-height: 191px;
  }
}

/* Large devices (small laptops, 992px and up */
@media screen and (min-width: 992px) {
  /* Make all service cards the same height for consistency */
  #services .card-body {
    min-height: auto;
  }
}

/* Extra large devices (desktops, 1200px and up */
@media screen and (min-width: 1200px) {
  /* Make all service cards the same height for consistency */
  #services .card-body {
    min-height: 217px;
  }
}

/* xxl devices (large desktops, 1400px and up) */
@media screen and (min-width: 1400px) {
  /* Make all service cards the same height for consistency */
  #services .card-body {
    min-height: 195px;
  }
}
