/* Global */
* {
  box-sizing: border-box;
}

/* Resets */
ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

a, a:hover, a:focus, a:active {
  text-decoration: none;
  color: inherit;
}

/* Base Styles */
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;
  line-height: 1.4;
  color: #252525;
}

h1 {
  margin-top: 0;
}

h2 {
  font-size: 30px;
}

.scroll-btn {
  font-size: 18px;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
}
.scroll-btn p {
  font-size: 18px;
  margin: 10px 0;
}

.sr-only {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.mobile-btn {
  position: absolute;
  color: #fff;
  height: 48px;
  width: 54px;
  z-index: 3;
  font-size: 32px;
  border: 3px solid #fff;
  background-color: transparent;
  margin: 5px;
  padding: 0 10px;
  border-radius: 5px;
  cursor: pointer;
}

.mobile-nav {
  display: block;
  position: fixed;
  top: 0;
  left: 100%;
  min-height: 100vh;
  width: 60%;
  z-index: 5;
  background-color: white;
  font-weight: 600;
  transition: left 0.4s;
  text-align: center;
  overflow-y: auto;
}
.mobile-nav.is-active {
  left: 40%;
}
.mobile-nav li {
  padding: 10px 0;
}
.mobile-nav li:last-child {
  border-top: 3px solid #111820;
  border-bottom: 3px solid #111820;
}
.mobile-nav li:last-child a {
  display: block;
}
.mobile-nav li:last-child:hover {
  background-color: #111820;
  color: #fff;
}
.mobile-nav li:not(:last-child) a:hover .link {
  border-bottom: 3px solid #111820;
}
.mobile-nav .initials {
  font-size: 48px;
  background-color: #111820;
  color: white;
  letter-spacing: 7px;
  border-bottom: 3px solid #111820;
  padding: 10px 0;
}

#overlay {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.9);
}

.main-nav {
  display: none;
  height: 100%;
  width: 180px;
  position: fixed;
  top: 0;
  left: 0;
  border-right: 3px solid #111820;
  font-weight: 600;
  text-align: center;
  overflow-y: auto;
}
.main-nav .links {
  padding-top: 40px;
  padding-bottom: 40px;
}
.main-nav li {
  padding: 10px 0;
  margin: 20px 0;
}
.main-nav li:last-child {
  border-top: 3px solid #111820;
  border-bottom: 3px solid #111820;
}
.main-nav li:last-child a {
  display: block;
}
.main-nav li:last-child:hover {
  background-color: #111820;
  color: #fff;
}
.main-nav li:not(:last-child) a:hover .link {
  border-bottom: 3px solid #111820;
}

.initials {
  font-size: 72px;
  color: #111820;
  letter-spacing: 7px;
  border-bottom: 3px solid #111820;
  padding: 20px 0;
}

.socials {
  margin-bottom: 20px;
}
.socials i {
  height: 26px;
  width: 26px;
  color: #111820;
  padding: 5px;
}

#hero h1 {
  font-weight: 600;
  font-size: 24px;
}

.hero-image {
  background-image: linear-gradient(180deg, transparent 25%, rgba(17, 24, 32, 0.6)), url("../img/pexels-daria-shevtsova-1884303-sm-tiny.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  position: relative;
}
.hero-text {
  text-align: center;
  position: absolute;
  width: 70%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}
.hero-text p {
  font-size: 18px;
}
.hero .scroll-btn {
  top: 93%;
  color: #fff;
}

#projects {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 92%;
  margin: 0 auto;
  max-width: none;
}
@media screen and (min-width: 1750px) {
  #projects {
    justify-content: space-evenly;
  }
}

.project {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 640px;
  height: auto;
  margin: 20px 0;
}
.project h3 {
  font-size: 24px;
  margin: 10px 0;
}
.project img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.project-img {
  order: -1;
}
.project .p-link {
  font-weight: 600;
  font-size: 12px;
  margin-bottom: 10px;
}
.project:hover .detail {
  visibility: visible;
}

.detail {
  position: absolute;
  z-index: 1;
  visibility: hidden;
  background-color: #252525;
  color: white;
  padding: 20px;
  top: 100%;
  border-radius: 8px;
  font-size: 14px;
}
.detail::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 100%;
  left: 50%;
  margin-left: -25px;
  border-width: 25px;
  border-style: solid;
  border-color: transparent transparent #252525 transparent;
}
.detail:hover {
  visibility: visible;
}

.prinfo {
  position: absolute;
  right: 10px;
  bottom: 30px;
  font-size: 36px;
  visibility: hidden;
  cursor: pointer;
}

.active {
  color: rebeccapurple;
}

#contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 92%;
  margin: 0 auto;
  max-width: 1400px;
}

.contact-blurb {
  width: 100%;
}

.mail {
  width: 100%;
  margin: 0 auto;
  border-radius: 8px;
}

.bold {
  font-size: 20px;
  font-weight: 600;
}

#contact-form {
  width: 100%;
}

.form-field {
  background-color: #dadbdd;
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  border: none;
  border-radius: 6px;
}

textarea {
  resize: none;
}

input[type=submit] {
  font-size: 18px;
  background-color: transparent;
  color: #252525;
  font-weight: 600;
  padding: 15px 60px;
  margin: 8px 0;
  border: 3px solid #252525;
  border-radius: 6px;
  max-width: 100%;
  cursor: pointer;
}

.note {
  color: #757575;
  float: right;
}

.success {
  color: #fff;
  background-color: #2ecc71;
}

.error {
  color: #a94442;
  background-color: #f2dede;
  border: 1px solid #ebccd1;
}

#error-msg li,
.messages li {
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 5px;
}

.invalid {
  border: 1px solid red;
}

@media screen and (min-width: 576px) and (max-width: 767px) {
  .blurb {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 20px;
  }
  .blurb > div {
    width: 48%;
  }
  .blurb > div > h2 {
    margin-top: 0;
  }
}
footer {
  position: relative;
  margin-top: 120px;
}
footer .scroll-btn {
  padding-bottom: 20px;
}

section {
  max-width: 900px;
}

#about,
#coding,
#scs {
  padding: 30px 0 30px;
  border-bottom: 2px solid #111820;
}
#about section,
#coding section,
#scs section {
  width: 94%;
  margin: 0 auto;
}
#about a,
#coding a,
#scs a {
  text-decoration: underline;
}

#about,
#coding {
  background-color: #aabdd2;
  min-height: calc(100vh - 60px);
}
#about section,
#coding section {
  background-color: white;
  outline: 2px solid #111820;
}
#about section h2,
#coding section h2 {
  margin-top: 0;
}

#profile,
#example-1,
#example-2,
#intro,
#netmatters,
#treehouse {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-top: 20px;
  border-radius: 20px;
}

.header-bar {
  position: relative;
  background-color: #111820;
  height: 60px;
}
.header-text {
  color: white;
  text-align: center;
  margin-top: 0;
  padding-top: 10px;
}

.pic {
  position: absolute;
  border: 2px solid #111820;
  border-radius: 50%;
  right: 20px;
}
@media screen and (min-width: 576px) {
  .pic {
    right: 40px;
  }
}

#profile {
  position: relative;
  margin-top: 75px !important;
  padding-top: 90px;
}

.profile-pic {
  filter: grayscale(100%);
  height: 150px;
  width: 150px;
  top: -75px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 576px) {
  .profile-pic {
    margin-right: 0;
    right: 40px;
  }
}

.card-images {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.card-images img {
  border: 1px solid #111820;
  max-width: 100%;
}

figcaption {
  font-size: 14px;
}

.example {
  margin: 30px auto 60px !important;
  position: relative;
}
.example h2 {
  margin-bottom: 0;
}
.example .tech {
  top: -30px;
  background-image: radial-gradient(circle, white, #233141);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 60px;
  font-size: 35px;
}

@media screen and (max-width: 1200px) {
  #example-2 figure {
    margin: 0 auto;
  }
}
#example-2 img {
  border: 1px solid #111820;
  max-width: 100%;
}

table {
  width: 100%;
  text-align: center;
}
table thead {
  background-color: #aabdd2;
}
table tbody {
  background-color: #ccd7e4;
}

.accordion {
  cursor: pointer;
}

.panel {
  display: none;
}
@media screen and (min-width: 1024px) {
  .panel {
    display: block;
  }
}

#scs {
  background-color: #aabdd2;
  padding-bottom: 120px !important;
}

#intro {
  background-color: white;
  margin-bottom: 40px !important;
}
#intro h2 {
  margin-top: 0;
}

#treehouse,
#netmatters {
  top: 30px;
  position: relative;
}

#treehouse {
  background-color: #58c162;
  color: #3e474f;
}

#netmatters {
  background-color: #333645;
  color: white;
  top: 100px;
}
#netmatters ul {
  list-style: inside;
}

.profile {
  margin-left: auto;
  width: 200px;
  display: flex;
  background-color: white;
  color: #252525;
  font-size: 14px;
  height: 54px;
  border-radius: 25px;
  align-items: center;
  box-shadow: 0 0 4px black inset;
}
.profile img {
  border-radius: 50%;
  height: 46px;
  width: 46px;
  margin: 4px;
  border: 2px solid #58c162;
  padding: 2px;
}

.p-text {
  margin-left: 10px;
}

.treehouse-logo {
  background-color: white;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  padding: 15px;
  position: absolute;
  top: -50px;
  right: 25px;
  border: 5px solid #58c162;
}

.netmatters-logo,
.netmatters-logo-sm {
  background-color: white;
  position: absolute;
  top: -50px;
  right: 25px;
  padding: 5px;
  height: 100px;
  border: 5px solid #333645;
  border-radius: 50px;
}

.netmatters-logo {
  display: none;
}

.mobile-btn:hover {
  box-shadow: 0 0 2px 2px white;
}

.initials:hover {
  color: white;
  background-color: #111820;
}

.socials i:hover {
  color: white;
  background-color: #111820;
  border-radius: 50%;
}

input[type=submit]:hover {
  color: white;
  background-color: #252525;
}

.project-img:hover,
.p-link:hover {
  color: #9b9a9a;
}
.project-img:hover img,
.p-link:hover img {
  opacity: 0.7;
  box-shadow: 0 0 5px 5px #9b9a9a;
}

.profile:hover {
  background-color: #d9d9d9;
}

html {
  overflow-x: hidden;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .project {
    display: inline;
  }
  .p-link {
    padding-bottom: 10px;
  }
}
@media screen and (min-width: 992px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .name {
    margin-left: -15px;
  }
}
/* Media Queries */
@media screen and (max-width: 440px) {
  h1 {
    font-size: 20px;
    padding-top: 8px;
  }
}
@media screen and (min-width: 576px) {
  #hero h1 {
    font-size: 48px;
  }
  .hero-text p {
    font-size: 24px;
  }
  #projects {
    margin-top: 20px;
  }
  .project {
    width: 47.5%;
  }
  .scroll-btn p {
    font-size: 20px;
  }
  #profile,
#example-1,
#example-2,
#intro,
#netmatters,
#treehouse {
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 40px;
    padding-top: 30px;
    border-radius: 20px;
  }
}
@media screen and (min-width: 600px) {
  .netmatters-logo {
    display: block;
    padding-right: 45px;
  }
  .netmatters-logo-sm {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header-bar {
    position: fixed;
    width: 100vw;
    z-index: 1;
  }
  .hero-image {
    z-index: 2;
  }
  .mobile-btn {
    background-color: transparent;
    position: fixed;
  }
  header {
    padding-bottom: 60px;
  }
  #projects,
#contact {
    padding-top: 60px;
    margin-top: -60px;
  }
  #about,
#coding,
#scs {
    padding-top: 90px;
    margin-top: -60px;
  }
}
@media screen and (min-width: 768px) {
  .mobile-btn {
    display: none;
  }
  .home-bar {
    display: none;
  }
  .main-nav {
    display: block;
  }
  header,
main,
footer {
    margin-left: 180px;
  }
  .header-bar {
    height: 143px;
  }
  .header-text {
    padding-top: 53px;
  }
  #about,
#coding {
    min-height: calc(100vh - 143px);
  }
}
@media screen and (min-width: 992px) {
  #projects, #contact {
    margin-top: 40px;
  }
  .contact-blurb {
    width: 25%;
  }
  #contact-form {
    width: 70%;
    margin-top: 20px;
  }
  .name {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
  }
  .name .form-field {
    width: 49%;
  }
  #last_name {
    margin-left: auto;
  }
}
@media screen and (min-width: 1200px) {
  #projects {
    margin-top: 50px;
  }
  #profile,
#example-1,
#example-2,
#intro {
    padding: 40px;
  }
  #about,
#coding,
#scs {
    padding: 40px;
  }
}/*# sourceMappingURL=main.css.map */