@import url("https://fonts.googleapis.com/css2?family=Heebo:wght@200&?family=Carter+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Carter+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Fugaz+One&display=swap");
.loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--main-bg-color);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeOut 0.75s ease-in-out forwards; }

.loader-spinner {
  width: 100px;
  height: 100px;
  animation: spin 1s linear infinite; }
  .loader-spinner img {
    width: 100%;
    height: 100%;
    object-fit: contain; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  90% {
    opacity: 1; }
  100% {
    opacity: 0;
    pointer-events: none; } }


:root {
  --main-bg-color: black;
  --secondary-bg-color: #1c0b19;
  --tertiary-bg-color: #2d1113;
  --header-bg-color: #1c0b19;
  --footer-bg-color: #1c1a1c;
  --main-text-color: #e8e5da;
  --secondary-text-color: #69018f;
  --main-border-color: #d4d3e3;
  --secondary-border-color: #d4d3e3;
  --primary-font-family: 'Heebo', sans-serif;
  --secondary-font-family: 'Carter One', cursive;
  --tertiary-font-family: 'Fugaz One', cursive; }

body,
main {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--main-text-color);
  background-color: var(--main-bg-color);
  font-family: var(--primary-font-family);
  margin: 0; }

main {
  animation: fadeIn 0.75s ease-in-out forwards; }

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

.heading_container {
  width: 100%; }

.heading {
  text-align: center;
  font-size: 2rem;
  margin: 2rem 0; }

/* Header styles */
main-header {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid var(--main-border-color);
  padding: 1.5rem;
  box-sizing: border-box;
  font-family: var(--secondary-font-family);
  background-color: var(--secondary-bg-color); }

.header_container {
  width: 100%;
  max-width: 60rem; }

.header-links_container {
  width: 100%;
  max-width: 20rem;
  display: flex;
  justify-content: space-between; }

.menu-full {
  display: flex;
  min-width: 15rem;
  justify-content: space-between;
  align-items: center; }

.header-link_container {
  margin-right: 1.25rem; }

.header-link {
  text-decoration: none;
  color: var(--main-text-color); }

.header-link:hover {
  color: var(--secondary-text-color);
  transform: scale(1.2);
  transform: scale(1.2); }

.header-socials {
  display: flex;
  min-width: 5rem;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem; }

.header-social_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0.5rem; }

.header-socials_image-container {
  width: 1.65rem;
  height: auto;
  cursor: pointer; }

div.header-socials_image-container > img {
  width: 100%;
  height: 100%;
  object-fit: contain; }

/* Burger menu */
.menu-toggle {
  cursor: pointer;
  display: none;
  width: 5rem;
  height: auto; }

.bar {
  width: 30px;
  height: 3px;
  background: #fff;
  margin: 3px 0;
  transition: 0.4s; }

/* Shared Component Styles */
@media only screen and (max-device-width: 400px) {
  main-header {
    justify-content: flex-start; }
  main-header.active {
    justify-content: center;
    width: 100%; }
  /* Humburger */
  .menu-toggle {
    display: flex;
    flex-direction: column; }
  .menu-toggle.active .bar:nth-child(1) {
    transform: rotate(-45deg) translate(-7px, 6px); }
  .menu-toggle.active .bar:nth-child(2) {
    opacity: 0; }
  .menu-toggle.active .bar:nth-child(3) {
    transform: rotate(45deg) translate(-7px, -6px); }
  .menu-full {
    display: none;
    transition: all 0.5s ease-in-out; }
  main-header.active .menu-full {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0.75rem; }
  .header-links_container {
    flex-direction: column;
    align-items: center;
    margin-bottom: 1rem; }
  .header-link_container {
    margin: 0.25rem 0; }
  .header-link {
    font-size: 1.25rem; }
  .header-socials_container {
    justify-content: center;
    width: 100%;
    margin-right: 0; }
  .music-embed_card {
    display: flex;
    flex-direction: column;
    align-items: center; } }

/* Footer styles */
main-footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 0;
  width: 100%;
  height: 4rem;
  background-color: var(--footer-bg-color);
  padding-left: 0.65rem;
  box-sizing: border-box;
  border-top: 1px solid grey; }

footer {
  display: flex;
  width: 100%;
  max-width: 60rem;
  justify-content: flex-start;
  text-align: left; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  90% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.gigs-heading_container {
  width: 100%; }

.gigs-heading {
  font-size: 2rem;
  margin-bottom: 3rem; }

.gigs_container {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-bottom: 2rem; }

.gigs {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 60rem; }
  .gigs .gig {
    padding-bottom: 0.5rem;
    margin-bottom: 0.1rem;
    border-bottom: 1px solid grey;
    width: 17.5rem; }
    .gigs .gig .gig-card_heading,
    .gigs .gig .gig-card_subheading,
    .gigs .gig .gig-card_desc {
      margin-bottom: 0.5rem; }

@media only screen and (max-device-width: 450px) {
  .gigs {
    align-items: center; }
    .gigs .gig {
      width: 80%; } }
