@import url('https://fonts.googleapis.com/css2?family=Quantico:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* ===========================
   LIGHT THEME
   =========================== */
[data-bs-theme="light"] {
  /* Body backgrounds */
  --bs-body-bg-rgb: 238, 242, 246;
  --bs-secondary-bg-rgb: 226, 232, 240;
  --bs-tertiary-bg-rgb: 226, 232, 240;
  --bs-body-bg: rgba(248, 250, 252, 0.664);

  /* Text colors */
  --bs-body-color: #1f2933;
  --bs-secondary-color: #4b5563;
  --bs-tertiary-color: #6b7280;

  /* Borders & subtle UI */
  --bs-info-border-subtle: rgb(130, 136, 148);
}


/* ===========================
   DARK THEME
   =========================== */
[data-bs-theme="dark"] {
  /* Body backgrounds */
  --bs-body-bg-rgb: 23, 50, 80;
  --bs-secondary-bg-rgb: 5, 3, 9;
  --bs-tertiary-bg-rgb: 17, 21, 28;
  --bs-body-bg: rgb(17, 21, 28);

  /* Text colors */
  /* --bs-body-color: #f8fafc; */
  /* --bs-body-color-rgb: 248, 250, 252; */

  /* Borders & subtle UI */
  --bs-info-border-subtle: rgb(17,21,28);
}

body > * {
  font-family: "Quantico", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.position-title {
  display: block;
  text-align: center;
}

.container > .container {
  width: 90%;
  padding: auto 0 auto 0;
}

/* Profile Depth */
/* ======================= */
.image-wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  min-width: 220px;
  width: 40vw;
  height: 100%;
}

/* Cirlce is clipped */
.circle-mask {
  position: absolute;
  bottom: 0;
  right: 0;
  overflow: hidden;
  width: 100%;
  height: 68%;
}


#about-circle {
  position: absolute;
  bottom: 0;
  right: 0;
  min-width: 190px;
  width: 21vw;
  max-width: 240px;
  min-height: 190px;
  height: 21vw;
  max-height: 240px;
  border-radius: 50%;
  background: var(--bs-secondary-bg-rgb);
}

/* Image is NOT clipped */
.about-img {
  min-width: 190px;
  width: 20vw;
  max-width: 230px;
  position: absolute;
  bottom: 0;
  right: 0;
  margin-right: 1rem;
}
/* ======================= */

#projects-container > section:nth-child(2) > h3 {
  background-color: rgb(var(--bs-secondary-bg-rgb));
  min-width: 100px;
  width: 13vw;
  max-width: 150px;
  border-radius: 4px;
  margin: auto;
  padding: 7px 0 7px 0;
}

#socials-container {
  /* border: 1px solid var(--bs-body-bg-rgb); */
  border: 2px solid rgb(var(--bs-body-bg-rgb), 0.4);
}

#socials-container > h3 {
  color: rgb(var(--bs-body-bg-rgb));
}

.light-theme {
  -webkit-text-stroke: 1px black;
}

#terminal-window {
  font-family: 'Courier New', Courier, monospace;
}

#terminal-form .input:focus {
  outline: none;
  box-shadow: none;
}

.reveal {
    opacity: 0;
    transform: translateX(50%);
    transition: opacity 1.5s ease, transform 0.7s ease-out;
}

.reveal.in-view {
    opacity: 1;
    transform: translateX(0);
}

#projects-container {
    padding-bottom: 10%;
}

.text-input, .text-area, .submit-button {
  padding: 5px;
  background-color: var(--bs-body-bg);
}

.text-input, .text-area {
  width: 100%;
  border: 1px solid rgb(204, 204, 204, 0.25);
  border-radius: 4px;
}

.text-input {
  /* padding: 7px; */
  margin: 8px 0;
  display: inline-block;
  box-sizing: border-box;
}

.text-area {
  min-height: 80px;
}

.submit-button {
  width: 100%;
  border: none;
  margin: 10px 0;
  /* padding: 7px; */
}

form {
  max-width: 700px;
}

#name, #email, #message {
  font-size: 0.8rem;
}

footer > :first-child {
  font-size: 1rem;
}
footer > :last-child {
  font-size: 0.75rem;
}

/* Phones */
@media (max-width: 480px) {}

/* Large phones */
@media (max-width: 767px) {
  .circle-mask {
    width: 190px;
    height: 100%;
    max-height: 68%;
  }
  #about-circle {
    width: 100%;
    height: 100%;
  }
}

/* Tablets and up */
@media (min-width: 768px) {
  
  .position-title {
    font-size: 1rem;
    display: inline;
  }

  /* Profile Depth */
  /* ======================= */
  .image-wrapper {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 400px;
    height: 100%;
  }
  
  /* Cirlce is clipped */
  .circle-mask {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }


  #about-circle {
    position: absolute;
    bottom: 0;
    right: 0;
    min-width: 200px;
    width: 21vw;
    max-width: 250px;
    min-height: 200px;
    height: 21vw;
    max-height: 250px;
    border-radius: 50%;
  }

  /* Image is NOT clipped */
  .about-img {
    position: absolute;
    bottom: 0;
    right: 0;
    margin-right: 1rem;
  }
  /* ======================= */

  #name, #email, #message {
    font-size: 1rem;
  }

  footer > :first-child {
    font-size: 1.25rem;
  }
  footer > :last-child {
    font-size: 1rem;
  }
}

/* Desktop and up */
@media (min-width: 1024px) {
  
  .card {
    width: 30%;
  }

  .connect-text {
    font-size: 85px;
  }

}