:root {
  /* BACKGROUNDS */
  --color-bg-base:          #212121;
  --color-bg-elevated:      #151515; 

  /* TEXT */
  --color-text-on-dark:     #FFFFFF;
  --color-text-muted:       #AEAEAE;

  /* BRAND / ACCENT */
  --color-brand-accent:     #B99B80;
  --color-brand-hover:      #A98A6D;
  --color-brand-subtle:     #C1A48A;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  scroll-behavior: smooth;
  scroll-margin-top: 15vh;
  font-family: "Lexend", sans-serif;
  color: var(--color-text-on-dark);
}
body {
  background-color: var(--color-bg-base);
}
.container {
  padding-left: 15px;
  padding-right: 15px;

  /* Small */
  @media (min-width: 768px) {
    max-width: 750px;
  }
  /* Medium */
  @media (min-width: 992px) {
    max-width: 970px;
  }
  /* Large */
  @media (min-width: 1200px) {
    max-width: 1170px;
  }
}
.hide-on-mobile {
  @media (max-width: 992px) {
    display: none;
  }
}
.show-on-mobile {
  display: none;
  @media (max-width: 992px) {
    display: block;
  }
}
/* NAV */
nav {
  display: flex;
  justify-content: center;
  position: fixed;
  top: 20px;
  z-index: 1000;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
}
nav .container {
  width: 100%;
  height: 60px;
  padding: 10px;
  border-radius: 4px;
  outline: 6px solid #C1A48A59;
  background-color: var(--color-brand-accent);
  transition: 0.2s;
  overflow: hidden;
}
nav .container .navbar {
  display: flex;
  justify-content: space-between;
}
nav .container .navbar img {
  display: block;
  width: 40px;
  height: 40px;
}
nav .container .navbar ul {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 4px;
}
nav .container .navbar .links a {
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 4px;
  transition: 0.2s;
}
nav .container .navbar .links a:hover {
  background-color: var(--color-brand-hover);
}
nav .container .navbar .icons {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 2px;
}
nav .container .navbar .icons li {
  padding: 4px;
  border-radius: 4px;
  transition: 0.2s;
}
nav .container .navbar .icons li:hover {
  background-color: var(--color-brand-hover);
}
nav .container .navbar .icons img {
  width: 30px;
  height: 30px;
}
/* SIDEBAR */
.sidebar {
  display: none;
}
.sidebar ul {
  list-style: none;
}
.sidebar ul a{
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: 0.2s;
}
.sidebar .sidebar-links {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 120px;
}
.sidebar .sidebar-links ul a img {
  width: 15px;
  height: 15px;
  margin-right: 8px;
  transition: 0.2s;
}
.sidebar .sidebar-links ul a:hover {
  background-color: var(--color-brand-hover);
  border-radius: 4px;
  padding: 4px 16px 4px 8px;
}
.sidebar .sidebar-links ul a:hover img {
  transform: rotate(90deg);
}
.sidebar .sidebar-icons {
  display: flex;
  flex-direction: column;
}
.sidebar .sidebar-icons a {
  padding: 4px;
  transition: 0.2s;
}
.sidebar .sidebar-icons a:hover {
  border-radius: 4px;
  background-color: var(--color-brand-hover);
}
.sidebar .sidebar-icons img {
  display: block;
  width: 25px;
  height: 25px;
}
.closeButton {
  display: none;
}
/* END NAV */
/* HEADER */
header {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .container .text {
  width: 60%;
  @media (max-width: 992px) {
    width: 100%;
  }
}
header .container .text h1 span {
  color: var(--color-brand-accent);
}
header .container .text h2 {
  color: var(--color-text-muted);
  font-weight: 400;
  font-size: 20px;
  margin: 10px 0;
}
header .container .text p {
  margin-bottom: 30px;
}
header .container .text .button {
  background-color: var(--color-brand-accent);
  border-radius: 8px;
  box-shadow: 5px 5px 0 #C1A48A59;
  padding: 8px 24px;
  text-decoration: none;
  transition: 0.2s;
}
header .container .text .button:hover {
  box-shadow: 0 0 0 #C1A48A59;
}
header .container .icon {
  width: 35%;
}
header .container .icon img {
  width: 350px;
}
/* END HEADER */
/* STATISTICS SECTION */
.statistics {
  display: flex;
  justify-content: center;
  background-color: var(--color-bg-elevated);
}
.statistics .container {
  width: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-template-rows: repeat(auto-fit, minmax(180px, 1fr));
  gap: 30px;
}
.statistics .container .card {
  border: 1px solid #B99B80;
  border-radius: 8px;
  padding: 25px;
  position: relative;
}
.statistics .container .card .box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.statistics .container .card .box .icon {
  background-color: var(--color-bg-base);
  border-radius: 50%;
  width: 80px;
  height: 80px;
  padding: 15px;
  margin-bottom: 10px;
}
.statistics .container .card .box .icon img {
  width: 50px;
  height: 50px;
}
.statistics .container .card .box span {
  font-size: 48px;
  font-weight: 200;
  margin-top: -10px;
}
.statistics .container .card span {
  font-size: 16px;
  color: var(--color-text-on-dark);
}
.statistics .container .card p {
  font-size: 12px;
  color: var(--color-text-muted);
}
/* END STATISTICS SECTION */
/* PORTFOLIO SECTION */
.portfolio {
  display: flex;
  justify-content: center;
}
.portfolio .container {
  width: 100%;
  padding-top: 60px;
  padding-bottom: 60px;
}
.portfolio .container h3 {
  text-align: center;
  color: var(--color-brand-accent);
  font-weight: 400;
  font-size: 24px;
  margin-bottom: 40px;
}
.portfolio .container .tabs {
  width: 100%;
  background-color: var(--color-bg-elevated);
  border: 10px solid #151515;
  outline: 1px solid #B99B80;
  border-radius: 8px;
}
.portfolio .container .tabs .tab-link {
  width: calc(33.3333% - 3px);
  background-color: transparent;
  border: none;
  border-radius: 4px;
  padding-top: 8px;
  padding-bottom: 8px;
  cursor: pointer;
  transition: 0.2s;
}
.portfolio .container .tabs .tab-link:hover {
  background-color: var(--color-bg-base);
}
.portfolio .container .tabs .current {
  background-color: var(--color-bg-base);
}
.portfolio .container .tabs .tab-link img {
  width: 30px;
  height: 30px;
}
.portfolio .container .tabs .tab-link p {
  font-size: 16px;
}
/* TAB 1 */
.portfolio .container .tab-content-1 {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}
.portfolio .container .tab-content-1 .card {
  width: 100%;
  background-color: var(--color-bg-elevated);
  border-radius: 8px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  @media (max-width: 992px) {
    flex-direction: column;
  }
}
.portfolio .container .tab-content-1 .card img {
  width: 40%;
  border-radius: 8px;
  border: 4px solid #212121;
  display: block;
  @media (max-width: 992px) {
    width: 100%;
  }
}
.portfolio .container .tab-content-1 .card .content {
  width: 50%;
  @media (max-width: 992px) {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 15px;
  }
}
.portfolio .container .tab-content-1 .card .content h4 {
  font-size: 24px;
}
.portfolio .container .tab-content-1 .card .content p {
  font-size: clamp(0.6rem, 1.2vw , 1rem);
  color: var(--color-text-muted);
  margin-top: 5px;
  margin-bottom: 5px;
}
.portfolio .container .tab-content-1 .card .content .box span {
  background-color: var(--color-bg-base);
  font-size: 16px;
  padding: 4px 8px;
  border-radius: 4px;
}
.portfolio .container .tab-content-1 .card .icons {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 5px;
  border-radius: 4px;
  border: 1px solid #B99B80;
  padding: 5px;
  height: -webkit-fill-available;
  @media (max-width: 992px) {
    flex-direction: row;
    width: 100%;
  }
}
.portfolio .container .tab-content-1 .card .icons a {
  height: 100%;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  transition: 0.2s;
  @media (max-width: 992px) {
    width: 100%;
  }
}
.portfolio .container .tab-content-1 .card .icons a:hover {
  background-color: var(--color-bg-base);
}
.portfolio .container .tab-content-1 .card .icons a svg {
  width: 30px;
  height: 30px;
}
/* TAB 2 */
.portfolio .container .tab-content-2 {
  margin-top: 40px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.portfolio .container .tab-content-2 .card {
  background-color: var(--color-bg-elevated);
  border-radius: 8px;
  max-width: 350px;
  padding: 10px;
  margin-bottom: 2%;
  margin-left: auto;
  margin-right: auto;
}
.portfolio .container .tab-content-2 .card img {
  width: 100%;
  border-radius: 4px;
  display: block;
}
/* TAB 3 */
.portfolio .container .tab-content-3 {
  margin-top: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 2%;
}
.portfolio .container .tab-content-3 .card {
  background-color: var(--color-bg-elevated);
  border-radius: 8px;
  padding: 10px;
  width: 100px;
  margin-bottom: 2%;
}
.portfolio .container .tab-content-3 .card img {
  width: 100%;
  display: block;
}
/* END PORTFOLIO SECTION */
/* GET IN TOUCH SECTION */
.get-in-touch {
  display: flex;
  justify-content: center;
  background-color: var(--color-bg-elevated);
}
.get-in-touch .container {
  width: 100%;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.get-in-touch .container h3 {
  text-align: center;
  color: var(--color-brand-accent);
  font-weight: 400;
  font-size: 24px;
  margin-bottom: 30px;
}
.get-in-touch .container p {
  text-align: center;
  color: var(--color-brand-accent);
  font-weight: 400;
  font-size: 20px;
  margin-bottom: 20px;
}
.get-in-touch .container .form-container {
  max-width: 500px;
  width: 100%;
  border: 10px solid #212121;
  border-radius: 16px;
  padding: 20px;
}
.get-in-touch .container form {
  padding-bottom: 20px;
  border-bottom: 1px solid #212121;
}
.get-in-touch .container form input, textarea {
  width: 100%;
  margin-bottom: 20px;
  background-color: var(--color-bg-base);
  padding: 10px;
  padding-left: 40px;
  border-radius: 4px;
  border: none;
  outline: none;
  resize: none;
}
.get-in-touch .container form input:focus, textarea:focus {
  outline: none;
}
.get-in-touch .container form input::placeholder, textarea::placeholder {
  color: var(--color-brand-accent);
}
.get-in-touch .container form textarea {
  height: 100px;
}
.get-in-touch .container form button {
  width: 100%;
  margin-bottom: 10px;
  background-color: var(--color-bg-elevated);
  color: var(--color-brand-accent);
  border: none;
  outline: 1px solid #B99B80;
  padding: 10px;
  border-radius: 4px;
  resize: none;
  cursor: pointer;
  transition: 0.2s;
}
.get-in-touch .container form button:hover {
  background-color: var(--color-brand-accent);
  color: var(--color-bg-elevated);
}
.get-in-touch .container form .field {
  position: relative;
}
.get-in-touch .container form .name::before {
  content: '\f007';
  font-family: var(--fa-style-family-classic);
  position: absolute;
  top: 9px;
  left: 14px;
  color: var(--color-brand-accent);
}
.get-in-touch .container form .email::before {
  content: '\f0e0';
  font-family: var(--fa-style-family-classic);
  position: absolute;
  top: 9px;
  left: 14px;
  color: var(--color-brand-accent);
}
.get-in-touch .container form .text-area::before {
  content: '\f27a';
  font-family: var(--fa-style-family-classic);
  position: absolute;
  top: 9px;
  left: 14px;
  color: var(--color-brand-accent);
}
.get-in-touch .container .form-container .box {
  padding-top: 20px;
}
.get-in-touch .container .form-container .box p {
  text-align: left;
  margin-bottom: 0;
}
.get-in-touch .container .form-container .box span {
  display: flex;
  align-items: center;
}
.get-in-touch .container .form-container .box span img {
  width: 24px;
  margin-right: 5px;
}
.get-in-touch .container .form-container .box span a {
  color: var(--color-text-on-dark);
  font-size: 16px;
  text-decoration: none;
  transition: 0.2s;
  position: relative;
}
.get-in-touch .container .form-container .box span a:hover {
  transform: scale(0.9);
  cursor: pointer;
  color: var(--color-text-muted);
}
.get-in-touch .container .form-container .box span:before {
  content: '';
  position: absolute;
  background-color: transparent;
  width: 220px;
  height: 24px;
  margin-left: 29px;
  border-radius: 4px;
  transition: 0.2s;
}
.get-in-touch .container .form-container .box span:hover::before {
  background-color: var(--color-bg-base);
}
/* END GET IN TOUCH SECTION */
/* FOOTER */
footer {
  display: flex;
  justify-content: center;
  background-color: var(--color-bg-elevated);
  border-top: 1px solid #B99B80;
}
footer .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
}
footer .container img {
  width: 40px;
  height: 40px;
}
footer .container .hero-link a img {
  position: absolute;
  top: 20px;
  left: 50%;
  margin-left: -25px;
  width: 50px;
  height: 50px;
  border: 1px solid transparent;
  border-radius: 50%;
  padding: 8px;
  background-color: var(--color-bg-base);
  display: block;
  transition: 0.2s;
}
footer .container .hero-link a img:hover {
  border: 1px solid #B99B80;
  transform: translateY(-5px);
}
footer .container span {
  font-size: clamp(0.6rem, 1vw , 0.9rem);
}
footer .container span span {
  font-size: clamp(0.5rem, 0.9vw , 0.8rem);
  color: var(--color-text-muted);
}
/* END FOOTER */