:root {
    --primary-cyan: #63dfe3;
    --secondary-blue: #377495;
    --black: #00171f;
    --primary-orange: #fef6ec;
    --secondary-orange: #fde9c4;
}

* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
html, body {
    margin: 0;
    padding: 0;
}
body {
    background-color: var(--black);
    color: var(--primary-orange);
    font-family: "Sansation", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
}

a {
    text-decoration: none;
    color: inherit;
}
a:hover {
    color: var(--secondary-blue);
}

header {
    overflow: hidden;
    padding: 8rem 12rem;
    position: relative;
}

header div {
    background: radial-gradient(circle, rgba(99, 223, 227, 1) 40%, rgba(99, 223, 227, 0) 60%);
    position: absolute;
    z-index: 1;
}

.one {
    bottom: -15rem;
    right: 12rem;
    width: 35rem;
    height: 35rem;
    animation: one-animation 2s ease-in-out .5s infinite alternate;
}
@keyframes one-animation {
  from {
    transform: tanslate(0, 0);
  }
  to {
    transform: translate(-7rem, -.5rem);
  }
}
.two {
    bottom: 10rem;
    right: -15rem;
    width: 30rem;
    height: 30rem;
    animation: two-animation 3s ease-in-out 1s infinite alternate;
}
@keyframes two-animation {
  from {
    transform: tanslate(0, 0);
  }
  to {
    transform: translate(-.5rem, -6rem);
  }
}
.three {
    bottom: 5rem;
    right: 5rem;
    width: 35rem;
    height: 35rem;
    animation: three-animation 3s ease-in-out infinite alternate;
}
@keyframes three-animation {
  from {
    transform: tanslate(0, 0);
  }
  to {
    transform: translate(-5rem, -5rem);
  }
}
.four {
    bottom: 8rem;
    right: -3rem;
    width: 35rem;
    height: 35rem;
    animation: four-animation 3s ease-in-out infinite alternate;
}
@keyframes four-animation {
  from {
    transform: tanslate(0, 0);
  }
  to {  
    transform: translate(-2rem, -5rem);
  }
}
.five {
    bottom: 2rem;
    right: 15rem;
    width: 30rem;
    height: 30rem;
    animation: five-animation 3s ease-in-out 1s infinite alternate;
}
@keyframes five-animation {
  from {
    transform: tanslate(0, 0);
  }
  to {  
    transform: translate(-5rem, -2rem);
  }
}
.base {
    bottom: -60rem;
    right: -50em;
    width: 110rem;
    height: 110rem;
}

section, header {
    min-height:  100vh;
    width: 100%;
}

h1 {
    color: var(--primary-cyan);
    font-size: 4rem;
    margin: 0;
    margin-bottom: 3rem;
}
h2 {
    margin: 0;
    font-size: 3rem;
}
h3 {
    margin: 0;
    font-size: 1.5rem;
}

.name-text {
    font-size: 2rem;
    margin: 0;
}

nav {
    width: 40rem;
}
nav ul {
    display: flex;
    list-style: none;
    padding: 0;
    flex-wrap: wrap;
}
nav li {
    border: solid 1px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;

    padding: 1rem;
    width:  16rem
}
nav a {
    margin-right: 2rem;
    margin-bottom:  1.5rem;
}
nav li:hover {
    border-color: var(--primary-cyan);
    color: var(--primary-cyan);
}
.contact-link {
    display: inline-block;
    font-size: 1.5rem;
    margin-right: 1.5rem;
}

section {
    padding: 3rem 6rem;
    display: flex;
}
section#web-development {
    background: no-repeat url(/images/web-development-upscale.webp) center;
    background-size: cover;
}
section#who-i-am {
  flex-direction: row-reverse;
}
section#web-development img,
section#who-i-am img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 75%;
}

.blurb-container {
    border: 1px solid var(--primary-cyan);
    color: var(--primary-orange);
    padding: 1.5rem 2.5rem;
    position: relative;
}
.blurb-container p,
.blurb-container ul,
.blurb-container h2,
.blurb-container h3,
.blurb-container a {
    position: relative;
    z-index: 2;
}
.blurb-container > .backdrop {
    background-color: rgba(0, 23, 31, .8);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    backdrop-filter: blur(7px); 
    -webkit-backdrop-filter: blur(7px);
}

section .section-cta {
  border: 1px solid var(--black);
  color: var(--black);
  display: block;
  font-size: 1.25rem;
  margin-top: 1.5rem;
  padding: .5rem 1rem;
  width: 16rem;
}
section#who-i-am .section-cta,
section#web-development .section-cta,
section#contact-me .section-cta  {
  border-color: var(--primary-cyan);
  color: var(--primary-cyan);
}
section .section-cta div {
  display: flex;
  justify-content: space-between;
}
section .section-cta:hover {
  border: 1px solid var(--secondary-blue);
  color: var(--secondary-blue);
}

#web-development ul,
#who-i-am ul {
  padding-left: 1rem;
}

section#contact-me {
    color: var(--black);
    flex-direction: column;
    background: no-repeat url('/images/contact-me.webp') center;
    background-size: cover;

}

/* Utility classes */
.col-lg-6 {
    width: 50%;
}

.p-2 {
    padding: 1rem;
}
.px-2 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.ms-auto {
    margin-left: auto;
}

footer {
    padding: 3rem;
}

/* Mobile styles */
@media screen and (max-width: 992px) {
    h1 {
        font-size: 2.5rem;
    }
    h2 {
        font-size: 1.75rem;
    }
    h3 {
        font-size: 1.25rem;
    }
    p {
        margin-top: .5rem;
        margin-bottom: .5rem;
    }

    .name-text {
        font-size: 1.5rem;
    }

    header,
    section {
        padding: 1rem;
    }
    header div {
        display: none;
    }

    nav {
        width: 100%;
    }
    nav ul {
        flex-direction: column;
    }
    nav li {
        width: 100%;
    }

    .col-lg-6 {
        width: 100%;
    }

    section#web-development,
    section#who-i-am {
        flex-direction: column;
    }

    section#web-development img,
    section#who-i-am img {
      margin-top: 1rem;
    }

    section .section-cta {
      font-size: 1rem;
      margin-top: 1rem;
      padding: .5rem 1rem;
      width: 100%;
    }
}