/* Setup snippet */
html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, footer, header, nav, section {
  display: block;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

figcaption, figure, main {
  display: block;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: inherit;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details, menu {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
  color: white;
  background: #000;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  scroll-behavior: smooth;
}

*, *:before, *:after {
  box-sizing: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* Back To Top button */
.backToTop {
  position: fixed;
  width: 50px;
  top: 85%;
  right: 5%;
  transform: translateX(100%);
  opacity: 0;
  transition: 0.25s linear;
  z-index: 99;
  cursor: pointer;
}

.backToTop img {
  width: 100%;
}

/* General Styles */
.wrapper {
  max-width: 1400px;
  width: 75%;
  margin: 0 auto;
}

body {
  position: relative;
}

section {
  margin-block: 10rem;
}

/* Nav */
nav {
  margin: 0 auto;
  border-bottom: 1px rgba(255, 255, 255, 0.231) solid;
  width: fit-content;
}

nav ul {
  margin: 0;
  padding: 1rem;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 5rem;
  list-style: none;
}

nav ul a {
  color: white;
  font-size: 1.15rem;
  text-decoration: none;
  transition: 0.15s linear;
}

nav ul a:hover {
  color: #cf91c9;
}

/* Header */
header {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  height: 90vh;
}

.firstView {
  animation: firstView 1s ease-in;
}

@keyframes firstView {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0.1;
  }
  20% {
    opacity: 0.2;
  }
  40% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.4;
  }
  60% {
    opacity: 0.5;
  }
  70% {
    opacity: 0.6;
  }
  80% {
    opacity: 0.7;
  }
  90% {
    opacity: 0.9;
  }
  100% {
    opacity: 1;
  }
}
/* Brief desc. */
h1 {
  font-size: 3rem;
}

h1 span .last-name {
  position: absolute;
}

h1 span.typing {
  font-size: 2rem;
  position: relative;
  color: violet;
  transition: 0.5s linear;
}

h1 span.mobileSubHeading {
  font-size: 2rem;
  color: violet;
  display: none;
}

h1 span.typing:empty::before {
  display: none;
}

h1 span.typing::before {
  content: "";
  position: absolute;
  top: 52%;
  right: -4%;
  transform: translateY(-50%);
  height: 2rem;
  width: 0.25rem;
  background: violet;
  animation: blink 0.5s infinite;
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Hero Image + rotating text. */
.hero-container {
  position: relative;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.image {
  position: absolute;
  width: 250px;
  height: 250px;
  background: url(/Assets/myFace.png);
  background-size: cover;
  filter: grayscale(1);
  border-radius: 50%;
}

.rotating-text {
  margin: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotateText 30s linear infinite;
}

.rotating-text span {
  font-weight: 700;
  position: absolute;
  left: 50%;
  top: 0%;
  font-size: 1.5rem;
  transform-origin: 0 9.5rem;
}

@keyframes rotateText {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
/* DIVIDERS*/
/* projects divider */
.divider {
  position: relative;
}

.divider h2 {
  margin: 0;
  font-size: 8rem;
  position: relative;
  color: #9f2994;
  z-index: 1;
  top: 20rem;
  left: 15rem;
  display: inline;
}

.divider h2 span {
  font-size: 2.5rem;
  color: white;
  position: absolute;
  top: -10px;
  left: 10px;
  z-index: 1;
}

.waves {
  background-color: rgba(214, 214, 214, 0.2);
  text-align: center;
  padding: 9rem;
  --mask: radial-gradient(
        calc(4.47rem + 0.5px) at 50% calc(100% + 4rem),
        #0000 calc(99% - 1px),
        #000 calc(101% - 1px) 99%,
        #0000 101%
      )
      calc(50% - 4rem) calc(50% - 1rem - 0.5px + 0.5px) / 8rem calc(2rem + 1px),
    radial-gradient(
        calc(4.47rem + 0.5px) at 50% -4rem,
        #0000 calc(99% - 1px),
        #000 calc(101% - 1px) 99%,
        #0000 101%
      )
      50% calc(50% + 1rem + 0.5px) / 8rem calc(2rem + 1px);
  -webkit-mask: var(--mask);
  mask: var(--mask);
  transform: skewY(-10deg);
}

/* PROJECT STYLES */
.works {
  margin-top: 12.5rem;
}

.work {
  display: flex;
  margin-bottom: 8rem;
  gap: 2rem;
}

.work-images {
  position: relative;
}

.work-images .desktop,
.work-images .mobile {
  border-radius: 5px;
}

.work-images .desktop {
  width: 35rem;
  border: 2px solid #6a1762;
}

.work-images .mobile {
  width: 6rem;
  border: 2px solid #9f2994;
  position: absolute;
  filter: drop-shadow(6px -4px 14px #000000);
  transform: translateY(7rem) translateX(-37rem);
}

.project-brief {
  flex: 1;
}

.project-brief h2 {
  font-size: 2rem;
  margin: 0;
  position: relative;
}

.updating {
  position: absolute;
  top: -3rem;
  left: 0rem;
  background-color: rgb(249, 126, 237);
  font-size: 1.5rem;
  font-weight: 400;
  border-radius: 10px;
  padding: 0.5rem;
}

.project-brief p {
  font-size: 1.25em;
}

/* STACK UL (Projects) & Links */
.stack,
.links {
  padding: 0;
  display: flex;
  list-style: none;
  gap: 1.15rem;
  align-items: center;
}

.links a {
  cursor: pointer;
}

.stack {
  margin-bottom: 2rem;
}

.links {
  margin: 0;
}

.stack li img,
.links li img {
  width: 40px;
}

.links li img {
  cursor: pointer;
}

.stack .html-css {
  display: flex;
  justify-content: center;
  position: relative;
}

.stack .html-css img {
  position: relative;
}

.stack .html-css img:nth-child(1) {
  left: 0.25rem;
  z-index: 98; /* on top of HTML svg. */
}

.stack p {
  font-size: 2rem;
}

@media screen and (max-width: 500px) {
  .updating {
    position: absolute;
    top: -3rem;
    left: 2.8rem;
    font-size: 1rem;
    padding: 0.5rem;
  }
}
/* MY STORY */
.about {
  margin-top: 5.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.story-block {
  padding: 2.5rem;
  height: fit-content;
  width: 100%;
  border-top: 2px solid #9e5597;
}

.story-block h2 {
  font-size: 2rem;
  text-align: center;
}

.story-block p {
  font-size: 1.25rem;
}

.story-block p span, .story-block p span:nth-child(2) {
  color: #9e5597;
}

.story-block p span:nth-child(2) {
  font-size: 1.5rem;
  color: red;
}

.story-block button {
  width: fit-content;
  padding: 5px 15px;
  border-radius: 5px;
  border: none;
  background-color: #9e5597;
  transition: 0.25s ease-in-out;
}

.story-block button a {
  font-size: 1.15rem;
  text-decoration: none;
  font-weight: 600;
  transition: 0.25s linear;
  color: white;
}

.story-block button:hover {
  background-color: rgba(158, 85, 151, 0.7215686275);
}

.story-block button:active,
.story-block button:active a {
  color: #cf91c9;
  border-color: #cf91c9;
}

/* Contact Form */
.contact {
  margin-bottom: 12rem;
  display: flex;
  gap: 1rem;
  flex-direction: column;
  align-items: center;
  border: none;
  background-image: url("/Assets/speechBubblesvg.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 100px;
}

.contact h2 {
  margin-bottom: 1.25rem;
  color: #9f2994;
}

.contact form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  border: none;
}

.contact form .submit {
  width: fit-content;
  padding: 5px 15px;
  border-radius: 5px;
  border: none;
  background-color: #9e5597;
  transition: 0.25s ease-in-out;
}

.contact form .submit:hover, .contact form .submit:focus {
  background-color: rgba(158, 85, 151, 0.7215686275);
}

.contact fieldset {
  display: flex;
  flex-direction: column;
  width: 50%;
  padding: 0;
  border: none;
}

.inputContainer {
  position: relative;
  margin-bottom: 2.5rem;
}

.inputContainer .formLabel {
  position: absolute;
  left: 15px;
  font-size: 1.15rem;
  transition: 0.25s ease-in-out;
  color: gray;
}

.inputContainer .focused {
  transform: scale(1.15) translateY(-25px);
  color: #cf91c9;
}

.inputContainer .formInput, textarea {
  width: 100%;
  resize: none;
  border: none;
  border-bottom: 1px solid grey;
  padding: 5px;
  background-color: rgba(0, 0, 0, 0);
  transition: 0.2s linear;
}

.inputContainer .formInput, textarea {
  color: rgba(0, 0, 0, 0);
}

.inputContainer .formInput:focus, textarea:focus {
  border: #cf91c9 1px solid;
  outline: none;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
}

.inputContainer .filled {
  color: #cf91c9;
}

.contact ul {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}

.contact ul li {
  list-style-type: none;
  width: 45px;
}

.contact li img {
  width: 100%;
  transition: 0.2s ease-in-out;
}

.contact li img:hover,
.contact li img:focus,
.contact li img:target {
  transform: scale(1.1);
}

/* Bottom wave Cover. */
.bottom-waves {
  width: 100%;
  position: fixed;
  bottom: 0;
  height: 10%;
  z-index: 98; /* always on top of everything but not outgoing project links */
}

.top-wave {
  position: absolute;
  bottom: 0;
  height: 75%;
}

.bottom-wave {
  position: absolute;
  bottom: 0;
  height: 50%;
  /* opacity: .5; */
}

/* Mobile */
@media (max-width: 475px) {
  html {
    overflow-x: hidden;
  }
  body {
    text-align: center;
    overflow-x: hidden;
    font-size: 0.8rem;
  }
  /* increase wrapper width to allocate more screen-space to users */
  .wrapper {
    width: 90%;
    margin: 0 auto;
  }
  /*Back to Top button  */
  .backToTop {
    width: 35px;
    top: 88%;
    right: 3%;
  }
  h1 span.typing {
    display: none;
  }
  h1 span.mobileSubHeading {
    display: inline-block;
  }
  /* Dividers */
  .divider {
    text-align: left;
  }
  .divider h2 {
    font-size: 4rem;
    margin: 0;
    left: 2rem;
    top: 8rem;
  }
  .divider h2 span {
    font-size: 1.25rem;
  }
  .divider .waves {
    margin: 0;
    padding: 6rem;
  }
  .story-block {
    padding: 1rem;
  }
  .work {
    margin-bottom: 3rem;
    flex-direction: column;
    align-items: center;
  }
  .work .project-brief {
    width: 90%;
  }
  .works {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 0;
  }
  .work .work-images .desktop {
    display: none;
  }
  .work .work-images .mobile {
    position: static;
    transform: translateX(0) translateY(0);
    width: 8rem;
  }
  .work .links,
  .work .stack {
    display: flex;
    justify-content: center;
  }
  .stack li img,
  .links li img {
    width: 30px;
  }
  .stack .html-css img:nth-child(1) {
    width: 30px;
  }
  /* about */
  .about .torontoSkyline {
    width: 50%;
  }
  .about .story-block p {
    font-size: 1rem;
  }
  .bottom-waves {
    right: 50%;
    width: 100%;
  }
  /* Contact form */
  .contact {
    background-position: 0px;
    margin-bottom: 5rem;
  }
  .contact form {
    width: 100%;
  }
  .contact fieldset {
    width: 80%;
  }
}/*# sourceMappingURL=styles.css.map */