@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,300;0,600;0,900;1,200;1,300;1,600&display=swap');
@media only screen and (max-width: 600px){
  :root{
      --logoHeight: 30vh;
      --helloHeight: 50vh;
      --navHeight: 8vh;
      --logoWidth: 100%;
      --siteWidth: 100vw;
      --headerNavWidth: 100%;
      --headerNavContentJustify: flex-start;
      --headerNavDirection: column;
      --headerContainerDirection: column;
      --functionFontSize: 4.1vw;
      --contactFontSize: 10vw;
      --optionBoxWidth: 100%;
  }
  nav{
      overflow: hidden;
  }
  nav a{
      width: 100%;
      height: 100%;
  }
  nav a p{
      width: 100%;
  }
  #about-container p {
    text-align: center;
  }
  #hello-image img{
    clip-path: circle(40% at 50% 50%) ;
  }
  #hello-image{
    position: relative;
    left: 18%;
  }
  #contact-container p a span{
    max-width: 220px;
  }
}
@media only screen and (min-width: 601px) {
  :root{
      --logoHeight: 30vh;
      --helloHeight: 72vh;
      --navHeight: 8vh;
      --logoWidth: 100%;
      --siteWidth: 100vw;
      --headerNavWidth: 100%;
      --headerNavContentJustify: flex-start;
      --headerNavDirection: column;
      --headerContainerDirection: column;
      --functionFontSize: 3vw;
      --contactFontSize: 8vw;
      --optionBoxWidth: 100%;
  }
  #header-container{
      flex-direction: column;
  }
  nav{
      flex-direction: column;
      overflow: hidden;
  }
  nav a{
      width: 100%;
      height: 100%;
  }
  nav a p{
      width: 100%;
  }
  #about-container p {
    text-align: center;
  }
  #hello-image{
    position: relative;
    left: 14%;
  }
  #hello-image img{
    clip-path: circle(42% at 50% 50%) ;
  }
}
@media only screen and (min-width: 768px) {
  :root{
      --logoHeight: 30vh;
      --helloHeight: 72vh;
      --navHeight: 8vh;
      --logoWidth: 100%;
      --siteWidth: 100vw;
      --headerNavWidth: 100%;
      --headerNavContentJustify: flex-start;
      --headerNavDirection: column;
      --headerContainerDirection: column;
      --functionFontSize: 2.3vw;
      --contactFontSize: 6vw;
      --optionBoxWidth: 100%;
  }
  nav{
      overflow: hidden;
  }
  nav a{
      width: 100%;
      height: 100%;
  }
  nav a p{
      width: 100%;
  }
  #about-container p {
    text-align: center;
  }
  #hello-image img{
    clip-path: circle(39% at 40% 50%) ;
  }
}
@media only screen and (min-width: 992px) {
  :root{
      --logoHeight: 30vh;
      --helloHeight: 70vh;
      --navHeight: 10vh;
      --logoWidth: 30%;
      --siteWidth: 100vw;
      --headerNavWidth: 70%;
      --headerNavContentJustify: space-around;
      --headerNavDirection: row;
      --headerContainerDirection: row;
      --functionFontSize: 1.7vw;
      --contactFontSize: 5vw;
      --optionBoxWidth: 65%;
  }
  nav a:nth-child(1){
    display: none;
  }
  #about-container p {
    text-align: justify;
  }
  #hello-image img{
    clip-path: circle(39% at 35% 50%) ;
  }
}
@media only screen and (min-width: 1200px) {
  :root{
      --logoHeight: 30vh;
      --helloHeight: 80vh;
      --navHeight: 10vh;
      --logoWidth: 30%;
      --siteWidth: 100vw;
      --headerNavWidth: 60%;
      --headerNavContentJustify: space-around;
      --headerNavDirection: row;
      --headerContainerDirection: row;
      --functionFontSize: 1.4vw;
      --contactFontSize: 4vw;
  }
  #hello-image{
    position: relative;
    left: 15%;
  }
  #hello-image img{
    clip-path: circle(40% at 38% 50%) ;
  }
}
@media only screen and (min-width: 1440px) {
  :root{
      --logoHeight: 30vh;
      --helloHeight: 80vh;
      --navHeight: 15vh;
      --logoWidth: 30%;
      --siteWidth: 1440px;
      --headerNavWidth: 60%;
      --headerNavContentJustify: space-around;
      --headerNavDirection: row;
      --headerContainerDirection: row;
      --functionFontSize: 1.3vw;
      --contactFontSize: 3vw;
  }
  #hello-image{
    position: relative;
    left: 17%;
  }
  #hello-image img{
    clip-path: circle(42% at 38% 50%);
  }
}
@media only screen and (min-width: 1900px) {
  :root{
    --functionFontSize: 1.2vw;
  }
}
@media only screen and (min-width: 2300px) {
  :root{
    --functionFontSize: 1.1vw;
  }
  #hello-image img{
    clip-path: circle(40% at 40% 50%) ;
  }
}
@media only screen and (min-width: 2600px) {
  :root{
    --functionFontSize: 1vw;
  }
}

* {
  margin: 0;
  font-family: 'Raleway', sans-serif;
}

body{
  position: relative;
  overflow-x: hidden;
}


#top-section {
  background: linear-gradient(180deg, rgb(20, 0, 9) 30%, rgb(59, 41, 40) 100%);
}

header {
  min-height: 30vh;
  width: 100%;
  display: flex;
  justify-content: center;
}

#header-container {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: var(--headerContainerDirection);
  text-shadow: 1px 1px 10px black;
}

#logo {
  display: flex;
  place-content: center;
  place-items: center;
  height: var(--logoHeight);
  width: var(--logoWidth);
  font-size: 3rem;
  color: white;
  cursor: default;
}
#logo img{
  height: 30vh;
  aspect-ratio: 1/1;
}


nav {
  display: flex;
  align-items: center;
  flex-direction: var(--headerNavDirection);
  height: var(--navHeight);
  width: var(--headerNavWidth);
  justify-content: var(--headerNavContentJustify);
  z-index: 10;
}

nav a {
  min-height: var(--navHeight);
  font-size: 1.4rem;
  text-decoration: none;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

nav a p {
  height: 100%;
  box-sizing: border-box;
  padding: 2% 20% 2% 20%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 40px;
  cursor: default;
  width: fit-content;
  text-align: center;
}

nav a p:hover {
  transform: scale(1.1);
}

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

nav a p span{
  width: 0;
  background-color: white;
  margin-top: 7%;
  height: 1px;
  animation: unmarkLink 1s;
}

nav a p:hover span{
  animation-name: markLink;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}

.section{
  display: flex;
  justify-content: center;
  width: 100%;
}

.container {
  width: var(--siteWidth);
  height: 100%;
}

.container h1 {
  font-size: var(--contactFontSize);
  width: 80%;
  margin-top: 2%;
}

#hello-box{
  position: relative;
  height: var(--helloHeight);
  box-sizing: border-box;
  overflow: hidden;
}

#hello-text{
  z-index: 3;
  display: none;
  top: 0;
  position: absolute;
  height: 100%;
  color:white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  margin-left: 2%;
  text-align: center;
}
#hello-text span{
  font-size: 1.4rem;
  padding-bottom: 26%;
}
#hello-image{
  display: flex;
  align-items: center;
  justify-content: right;
  height: 100%;
}

#hello-image img{ 
  height: 100%;
}
#dog1{
  position: absolute;
  z-index: 2;
}
#dog2{
  position: absolute;
  z-index: 1;
}

#motto{
  padding-top: 15%;
  padding-bottom: 15%;
}

#motto-container{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#motto-container p{
  width: 80%;
  font-size: 1.7em;
  text-align: center;
}
#motto-container p:nth-child(2){
  text-align: right;
  font-size: 1.2em;
}
#hashtag{
  background-image: url("../Images/backgroundP4.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  block-size: auto;
  min-height: 572px;
  display: flex;
  align-items: center;
}
#hashtag-container{
  display: flex;
  align-items: center;
  justify-content: center;
}
#hashtag-container p{
  font-size: var(--contactFontSize);
  font-weight: bold;
  color: white;
  z-index: 2;
}

#about-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-bottom: 5%;
}
#about-container p {
  font-size: 1.5em;
  width: 80%;
}
#offer{
  overflow: hidden;
  min-height: 70vh;
}
#offer ul{
  padding-left: 23px;
}
#offer-container{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#offer-box{
  margin: 20px 0 20px 0;
  width: 90%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding-bottom: 20px;
}

.offer{
  position: relative;
  font-size: 1em;
  aspect-ratio: 4/3;
  width: 50%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  box-sizing: border-box;
  padding: 5%;
  box-shadow: 5px 5px 15px rgb(0, 0, 0);
  border-radius: 15px;
}
.offer:nth-child(1){
  background-color: antiquewhite;
  left: 7px;
  left: -100%;
}
.offer:nth-child(2){
  background-color: rgb(160, 129, 127);
  top: 20px;
  left: 100%;
  text-align: center;
}
.offer p{
  margin: 2% 0 0 0;
  padding-left: 5%;
}
.offer p:nth-child(1){
  padding-left: 0;
  margin-bottom: 3%;
}
#certificates {
  background-image: url("../Images/backgroundP3.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
  min-height: 1080px;
}

#certificates-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#certificates-box{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.cert{
  position: relative;
  margin: 4%;
  width: 300px;
  aspect-ratio: 5/7;
  z-index: 2;
  
}

@keyframes showDesc {
  from { opacity: 0; }
  to{ opacity: 1; }
}

@keyframes hideDesc {
  from { opacity: 1; }
  to{ opacity: 0; }
}

.cert:hover .cert-desc{
  animation-name: showDesc;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-direction: alternate;
}

.cert img{
  width: 100%;
  z-index: 4;
  box-shadow: 5px 5px 15px rgb(0, 0, 0);
}
.cert-desc{
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: antiquewhite;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  font-size: var(--functionFontSize);
  z-index: 5;
  opacity: 0;
  box-sizing: border-box;
  padding: 10%;
  animation: hideDesc 1s;
}
.cert:nth-child(even) .cert-desc{
  background-color: rgb(160, 129, 127);
}
.cert-desc img{
  width: 50px;
  aspect-ratio: 1/1;
  box-shadow: none;
}

#gallery-container{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

#gallery-box{
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 580px;
  overflow: hidden;
  z-index: 5;
}

#gallery-mask{
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: gray;
  opacity: 0;
  display:flex;
  align-items: center;
  justify-content: center;
}

.gallery-button{
  position: absolute;
  background-color: #9D9494;
  width: 180px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: default;
  font-size: 1.2rem;
}

#goToGallery{
  opacity: 0;
}
.gallery-button:hover{
  transform: scale(1.1);
}

#hideGallery{
  top: 0;
  right: 5px;
  z-index: 10;
}

.gallery-element{
  margin: 5px;
  min-width: 420px;
  max-width: 420px;
  aspect-ratio: 3/2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-element img, .gallery-element video{
  max-height: 100%;
  max-width: 100%;
}

.gallery-element:hover img{
  border: 1px solid rgb(0, 0, 0);
}

#opinions-container {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#opinion-box{
  position: relative;
  margin: 3% 5% 0 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: var(--optionBoxWidth);
  min-height: 50vh;
  overflow-x: hidden;
}

.opinion{
  box-sizing: border-box;
  position: absolute;
  max-height: 90%;
  min-width: 95%;
  max-width: 95%;
  background-color: antiquewhite;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3%;
  border-radius: 20px;
  box-shadow: 5px 5px 15px rgb(0, 0, 0);
}
.opinion:nth-child(1){
  right: 2.5%;
}
.opinion:nth-child(2){
  right: -100%;
}
.opinion p{
  width: 70%;
  padding: 2% 0 2% 0;
  font-size:medium;
}
.opinion p:nth-child(1){
  text-align: center;
}
.opinion p:nth-child(2){
  text-align: right;
}

#contact {
  height: 40vh;
}

#contact-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#contact-container h1{
  text-align: center;
}

#contact-container p {
  /* width: fit-content; */
  font-size: 1.5em;
  display: flex;
  align-items: center;
}

#contact-container p a{
  color: black;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  /* text-align: center; */
  z-index: 10;
}

.contactIcon{
  font-size: 1.6em;
}

footer {
  background: linear-gradient(180deg, rgb(59, 41, 40) 30%, rgb(20, 0, 9) 100%);
  height: 10vh;
  color: white;
  font-size: 0.9rem;
}

#footer-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

#goToTop {
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  position: fixed;
  right: 5%;
  background-color: rgb(255, 255, 255);
  border: solid black 1px;
  z-index: 10;
  bottom: 5%;
  border-radius: 30px;
  aspect-ratio: 1/1;
}

#paws{
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: auto;
  right: auto;
}

.paw{
  z-index: 1;
  position: absolute;
  opacity: 20%;
  width: 10vw;
  aspect-ratio: 1/1;
}

#paws img:nth-child(1){
  top: 10%;
  left: 5%;
  transform: rotate(-10deg);
}
#paws img:nth-child(2){
  top: 20%;
  left: 25%;
  transform: rotate(-15deg);
}
#paws img:nth-child(3){
  top: 30%;
  left: 15%;
  transform: rotate(-25deg);
}
#paws img:nth-child(4){
  top: 40%;
  left: 50%;
  transform: rotate(-30deg);
}
#paws img:nth-child(5){
  top: 50%;
  left: 40%;
  transform: rotate(-40deg);
}
#paws img:nth-child(6){
  top: 60%;
  left: 90%;
  transform: rotate(-50deg);
}
#paws img:nth-child(7){
  top: 70%;
  left: 80%;
  transform: rotate(-60deg);
}
#paws img:nth-child(8){
  top: 80%;
  left: 60%;
  transform: rotate(70deg);
}
#paws img:nth-child(9){
  top: 90%;
  left: 20%;
  transform: rotate(80deg);
}

