@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
  overflow: hidden;
}

main {
  display: flex;
  position: relative;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.logo img {
  height: 100px;
  width: auto;
}

.text {
  font-size: x-large;
  margin: 40px 0;
}

.text p {
  display: none;
}

.text .show {
  display: inherit;
  overflow: hidden;
  border-right: 0.15em solid red;
  white-space: nowrap;
  margin: 0 auto;
  letter-spacing: 0.15em;
  animation: typing 2.5s steps(40, end), blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

@keyframes blink-caret {
  from,
  to {
    border-color: transparent;
  }
  50% {
    border-color: red;
  }
}

.email {
  margin-bottom: 15px;
  text-decoration: none;
  color: inherit;
}

.email a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.socials {
  margin-top: 30px;
}

.socials ul {
  display: flex;
  margin: 10px;
  width: 100%;
  justify-content: space-between;
}

.socials ul li {
  list-style: none;
  display: flex;
  justify-content: space-between;
  margin: 20px;
}

.socials ul li a {
  text-decoration: none;
  color: #000;
  font-size: x-large;
}

.socials ul li a:hover {
  color: rgb(46, 128, 70);
}

.square {
  border: 10px solid rgba(247, 89, 89, 0.1);
  position: absolute;
  height: 750px;
  width: 750px;
  z-index: -10;
  animation: rescale 60s infinite linear;
}

@keyframes rescale {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.square2 {
  border: 10px solid rgba(56, 159, 243, 0.1);
  position: absolute;
  height: 750px;
  width: 750px;
  z-index: -10;
  animation: rescale2 60s infinite linear;
}

@keyframes rescale2 {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0deg);
  }
}

.square3 {
  border: 10px solid rgba(1, 153, 95, 0.1);
  position: absolute;
  height: 750px;
  width: 750px;
  z-index: -10;
  animation: rescale3 60s infinite linear;
}

@keyframes rescale3 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(180deg);
  }
}

.square4 {
  border: 10px solid rgba(3, 204, 211, 0.1);
  position: absolute;
  height: 750px;
  width: 750px;
  z-index: -10;
  animation: rescale4 60s infinite linear;
}

@keyframes rescale4 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-180deg);
  }
}

@media (max-width: 708px) {
  .logo img {
    height: 75px;
    width: auto;
  }

  .circle {
    clip-path: circle(275px at center);
  }

  .square,
  .square2,
  .square3,
  .square4 {
    width: 600px;
    height: 600px;
  }
}

@media (max-width: 450px) {
  .text {
    font-size: x-large;
  }

  .email a {
    font-size: large;
  }

  .socials {
    text-align: center;
    font-size: x-small;
    justify-content: center;
  }

  .logo img {
    height: 60px;
    width: auto;
  }
  .square,
  .square2,
  .square3,
  .square4 {
    width: 500px;
    height: 500px;
  }

  .socials ul {
    justify-content: space-around;
    margin: 0;
  }

  .socials ul li a {
    text-decoration: none;
    color: #000;
    font-size: medium;
  }
}

@media (max-width: 376px) {
  .logo img {
    height: 55px;
    width: auto;
  }

  .text {
    font-size: large;
  }

  .email a {
    font-size: medium;
  }
}

@media (max-width: 350px) {
  .logo img {
    height: 45px;
    width: auto;
  }
}

@media (max-height: 450px) {
  * {
    overflow: auto;
  }

  .logo img {
    height: 50px;
    width: auto;
  }
}
