/* start of declaration of font family */

@font-face {
  font-family: "Teachers";
  src: url("./fonts/Teachers.ttf");
}

/* end of declaration of font family */

/* start of declaration of variables */

:root {
  --primary-color: black;
  --secondary-color: royalblue;
  --tertiary-color: darkorange;
  --shadow-color: #4169e132;
}

/* end of declaration of variables */

/* start of global styles */

body,
ul,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

body {
  font-size: 20px;
  font-family: Arial, Helvetica, sans-serif; /* fallback */
  color: var(--primary-color);
  background-color: white;

  @media (width < 768px) {
    font-size: 17px;
  }
}

a {
  color: var(--secondary-color);
  text-decoration: none;

  &:hover {
    color: var(--tertiary-color);
    text-decoration: underline;
  }
}

address {
  font-style: normal;
}

img {
  max-width: 100%;
  display: block;
}

ul {
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

/* end of global styles */

/* start of common styles */

.desktop-image {
  @media (width < 768px) {
    display: none;
  }
}

.mobile-image {
  @media (width >= 768px) {
    display: none;
  }
}

.divider {
  border-top: 1px solid var(--shadow-color);
}

/* end of common styles */

.banner-image {
  width: 100%;
}

#content {
  font-family: Teachers;

  display: flex;
  flex-direction: column;

  @media (width >= 768px) {
    gap: 32px;
    margin: 32px 256px;
  }

  @media (width < 768px) {
    gap: 16px;
    margin: 16px 32px;
  }
}

#introduction {
  text-align: center;
}

#greeting {
  @media (width < 768px) {
    font-size: 24px;
  }
}

#overview-section {
  display: flex;

  @media (width >= 768px) {
    flex-direction: row;
    gap: 64px;
  }

  @media (width < 768px) {
    flex-direction: column;
    gap: 16px;
  }
}

#overview-text {
  display: flex;
  flex-direction: column;
  justify-content: center;

  @media (width >= 768px) {
    gap: 32px;
  }

  @media (width < 768px) {
    gap: 16px;
  }
}

/* start of projects styles */

#projects-section {
  display: flex;
  flex-direction: column;

  @media (width >= 768px) {
    gap: 32px;
  }

  @media (width < 768px) {
    gap: 16px;
  }
}

#projects {
  display: flex;
  flex-direction: column;

  @media (width >= 768px) {
    gap: 32px;
    margin: 0px 128px;
  }

  @media (width < 768px) {
    gap: 16px;
    margin: 0px;
  }
}

.project {
  display: flex;

  @media (width >= 768px) {
    gap: 32px;
  }

  @media (width < 768px) {
    gap: 16px;
  }
}

.project-logo {
  @media (width >= 768px) {
    width: 40px;
    height: 40px;
  }

  @media (width < 768px) {
    width: 64px;
    height: 64px;
  }
}

/* end of projects styles */

#services-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
