* {
  box-sizing: border-box;
  margin: 0;
  overflow-x: hidden;
}

.wrapper {
  position: absolute;
  width: 100%;
  min-height: 100vh;
}

body,
html {
  margin: 0; /* Ensuring no default margin */
  padding: 0;
}
::selection {
  color: #f8f7f3;
  background: #42423b;
}

h1 {
  font-size: 80.04px;
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  color: #434343;
}

h3 {
  font-size: 39px;
}

#flower {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 800;
  overflow: hidden;
  pointer-events: none;
}



#flower img {
  opacity: 0.5;

  width: 100vw;
  height: 110vh;
  position: absolute;
  bottom: 0;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  opacity: 0;
  transform: translateY(100%);
  animation: bloomSlideUp 4s forwards ease-in-out;
  transition: clip-path 1s ease, opacity 1s ease;
}

#flowers {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;

}

@keyframes bloomSlideUp {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
    opacity: 0;
    transform: translateY(100%);
  }
  60% {
    opacity: 1;
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
    transform: translateY(0);
  }
}

p {
  font-size: 20px;
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-variation-settings: "width" 100;
  position: relative; /* Added to ensure absolute positioning within */
}

#header {
  margin-left: 7%;
  margin-top: 3%; /* Pushes it to the bottom */

  background-color: white;
  overflow-y: hidden;
  height: 100vh;
  position: fixed; /* Added to ensure absolute positioning within */
}

#pfp {
  position: fixed;
  right: 0; /* Align to the right side */
  overflow-y: hidden;
  bottom: 0;
  top: 0;
  z-index: 30;

  height: 100vh;
  width: 40vw;
}

#pfp img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  /* Maintain aspect ratio */
  border-radius: 0; /* Adjust if you want rounded corners */
  animation-duration: 0.5s;
  animation-name: animate-fade;
  animation-delay: 1s;
  animation-fill-mode: backwards;
  transition: transform 0.2s; /* Animation */

  border: 20px solid white;
}

#pfp img:hover {
  transform: scale(
    1.2
  ); /* (150% zoom - Note: if the zoom is too large, it will go outside of the viewport) */
  animation-delay: 2s;
}

@keyframes animate-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#namecolor {
  font-size: 13vh;
  width: 35vw;
  animation-duration: 0.5s;
  animation-name: animate-fade;
  animation-delay: 0.5s;
  animation-fill-mode: backwards;
}

@keyframes animate-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#tagline {
  color: #434343;

  padding-top: 31px;
  font-size: 6vh;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  width: 45vw;

  margin-bottom: 2%;
}

.button {
  z-index: 1000;
  font-family: "Open Sans", sans-serif;

  position: relative;
  margin-right: 2%;
  background-color: #434343;
  border-radius: 4em;
  font-size: 16px;
  color: white;
  padding: 0.8em 1.8em;
  cursor: pointer;
  user-select: none;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s; /* Safari */

  animation-duration: 1.5s;
  animation-name: animate-fade;
  animation-delay: 3s;
  animation-fill-mode: backwards;
}

@keyframes animate-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.button:hover {
  transition-duration: 0.1s;
  background-color: #3a3a3a;
}

.button:after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 4em;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.5s;
  box-shadow: 0 0 10px 40px white;
}

.button:active:after {
  box-shadow: 0 0 0 0 white;
  position: absolute;
  border-radius: 4em;
  left: 0;
  top: 0;
  opacity: 1;
  transition: 0s;
}

.button:active {
  top: 1px;
}

#about {
  position: relative;
  overflow: hidden;
  margin-top: 46%;
  background-color: #fff;
  padding: 100px;
  text-align: center;
  width: 60%;
  z-index: 10;

  opacity: 0;
}

#aboutflower {
  overflow-y: hidden;
  display: none;

  position: absolute;
  text-align: center;
  left: 0;
  width: 100%;

  pointer-events: none;
  top: 0;
  opacity: 0;
  animation: slideDown 2s forwards;
}

@keyframes slideDown {
  from {
    top: -100px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

#about #rainbow {
  height: 10vh;
  filter: invert(70%);
}

#about #gif {
  width: 90%;
  padding-top: 5%;

  filter: grayscale(30%);
}

#about h3 {
  padding-top: 5%;
  font-size: 52px;
  text-align: center;
  color: #434343;
}

#about p {
  padding-top: 5%;
  padding-bottom: 2%;

  text-align: left;
  line-height: 3vw;
}

.social-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.icon-link {
  text-decoration: none;
  border: 0;
  width: 60px;
  height: auto;
  padding: 5px;
  margin: 20px;
  color: #434343;
  border-radius: 60%;
  border: 3px solid  #434343; /* White border added */
}

.icon-link:hover {
  transform: scale(
    1.1
  ); /* (150% zoom - Note: if the zoom is too large, it will go outside of the viewport) */
  animation-delay: 2s;
}

.niftybutton-instagram,
.niftybutton-linkedin,
.niftybutton-email {
  display: block;
  fill: currentColor;
}

.toggle {
  width: 57vw;
  margin: 0;
  margin-top: 1.3%;
  margin-left: 1.3%;
  background-color: white;
  opacity: 1;
  top: 0;
}

.toggle::-webkit-scrollbar {
  display: none;
}

.box {
  margin: 0px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  border-radius: 3px;
  overflow: hidden;
}

.tab-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  position: relative;
}

/* tab list*/
.tab-list::before {
  content: "";
  display: block;
  height: 2px;
  width: 33.333%;
  position: absolute;
  bottom: 0;
  background-color: white;
  transition: 0.001s;
}

.tab-item {
  border-radius: 2px;
  border: 2px transparent;
  flex: 1;
  text-align: center;
  transition: 0.001s;
  color: #42423b;
}

.tab-toggle {
  display: none;
}

.tab-content {
  display: none;
}

.tab-toggle:nth-child(1):checked ~ .tab-list .tab-item:nth-child(1),
.tab-toggle:nth-child(2):checked ~ .tab-list .tab-item:nth-child(2),
.tab-toggle:nth-child(3):checked ~ .tab-list .tab-item:nth-child(3) {
  opacity: 1;
  background-color: #434343;
  color: white;
}

/*  */
.tab-toggle:nth-child(1):checked ~ .tab-container .tab-content:nth-child(1),
.tab-toggle:nth-child(2):checked ~ .tab-container .tab-content:nth-child(2),
.tab-toggle:nth-child(3):checked ~ .tab-container .tab-content:nth-child(3) {
  display: block;
}

.tab-trigger {
  display: block;
  padding: 15px 0;
}

.tab-container {
  padding: 10px 5%;
  background-color: white;
  opacity: 1;
  padding-bottom: 1%;
}

.tab-container h1 {
  font-family: "Open Sans", sans-serif;
  font-size: 30px;
  font-weight: 80;
}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: black;
  opacity: 0.5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.container {
  display: flex;
  flex-direction: column;
  padding-bottom: 5%;
}
.image-text-wrapper {
  margin-top: 4.15%;
  position: relative;
}
.image-text-wrapper h1 {
  margin: 0;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
}
.container img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}

.overlay:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 1000px) {
  h1 {
    font-size: 10vw;
  }
  #flower {
    visibility: hidden;
  }


  #flowers {
    position: absolute;
    visibility:hidden;
    opacity: 1;
    pointer-events: none;
    z-index: 1000;
  
  }

  .button{
   font-size: 2vh;
   animation: none;
  }

  #about {
    opacity: 1;
    height: max-content;
  }

  #aboutflower{
    height: 100%;
  }

  #about #gif {
    padding: 0;
    width: 0;
    visibility: visible;
  }
  #header {
    margin-top: 2px;
    margin-left: 4% !important;
    display: inline-block;
    padding: 0px;
    padding-bottom: 12%;
    margin-bottom: 0px;
    position: relative;

    height:100%;
  }


  #name,
  #namecolor {
    font-size: 7vh;
    width: 80vw;
  }

  #tagline {
    height: auto;
    margin-left: 0 !important;
    padding-bottom: 6%;
    font-size: 3vh;
    width: 80%;
  }

  #hiddenheader {
    display: inline-block;
    width: 20%;
    visibility: hidden;
  }

  /* About section adjustments */
  #about {
    opacity: 1 !important;
    width: 100vw;
    left: 0;
    padding: 5%;
    padding-top: 0;
    z-index: 0;
    margin-top: 10px;
  }

  #about #rainbow {
    margin-top: 10%;
    height: 6vh;
  }

  #about h3 {
    font-size: 6vh;
    padding: 5%;
  }
  .icon-link {
    width: 26px;
  }

  #about p {
    font-size: 2.5vh;
    font-weight: 50;
    line-height: 4.5vh;
    margin: 0px;
  }

  /* Social icons adjustments */
  .social-icons {
    margin-top: 20px;
  }

  .icon-link {
    width: 8vh;
  }

  /* Toggle adjustments */
  .toggle {
    height: auto;
    width: 100vw;
    
  }

  .tab-container{
    height:100%;
  }

  .tab-item {
    margin: 2px;
    padding: 2px;
  }
  .toggle p {
    font-size: 3vw;
  }




  
}
