:root{
  --primary-color:#be1e2c;
  --font-size:20pt;
}

body{
  margin:0;
  padding: 0;
}

.btn{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size);
  padding: 4px 12px;
}

hr{
  border-top: 1px solid #000;
  width: 100%;
  padding: 0;
  margin: 0;
}

.field{
  display: flex;
  font-size: 16pt;
  width: 90%;
  gap:10px;
  margin-top: 10px;
}

.field input,.field textarea{
  width:100%;
  border:1px solid #000;
}

/* footer */

footer{
  width: 100%;
  border-top:1px solid #000;
  position: relative;
  height: 60px;
  display: flex;
  position: absolute;
  justify-content: end;
  left:0;
  margin-top: 50px;
  align-items: center;
}

footer h2{
  position: absolute;
  left:50%;
  transform: translateX(-50%);
}

footer a{
  margin-right: 20px;
}

footer a img{
  width: 50px;
  height: 50px;
}

/* navbar styling */

nav{
  width: 100%;
  display: flex;
  position: relative;
  height:40px;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #000;
}

.title{
  color:var(--primary-color);
  font-weight: 100;
  font-size: 20pt;
}

ul.menu{
  position: fixed;
  top:0;
  visibility: hidden;
  margin: 0;
  padding: 0;
  transition: .2s ease;
  z-index: -1;
  background: #fff;
  width: 100%;
  height: 100vh;
  opacity: 0;
}

ul.menu.active{
  visibility: visible;
  z-index: 10000000 !important;
  opacity: 100%;
}

ul.menu li{
  list-style-type: none;
  font-size: 20pt;
  margin-top: 50px;
}

ul.menu li:nth-child(1){
  margin-top: 30px;
  margin-bottom: 30px;
}

ul.menu .link{
  text-decoration: none; 
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-radius: 50px;
  border-top-left-radius: 0;
  padding: 10px 0px;
  border-bottom-left-radius: 0;
  padding-left: 20px;
  padding-right: 20px;
  color: #000;
}

#menu-button{
  background: none;
  border:none;
  position:absolute;
  left:24px;
  top:0;
  font-size: 20pt;
  font-family: Libre Caslon;
  cursor: pointer;
  height: 100%;
  gap:2px;
  color: var(--primary-color);
}

.menu-icon{
  width: 20pt;
  color:#000;
  height: 18pt;
 
}

/* Hero Section  */

#hero-section{
  position: relative;
}

.hero-images{
  position: relative;
  display: flex;
  padding-left:100px;
}

.main-image{
  width:68vw;
  object-fit: contain;
}

.side-image{
  position: relative;
  width: 23%;
  height: 23%;
  transform: translate(10%,20%);
}

.hero-menu{
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  border-right:2px solid #000;
  width: 60%;
  display: flex;
  justify-content: space-between;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  padding: 20px 20px;
  margin-top: -30px;
}

.hero-menu a{
  color:var(--primary-color);
  font-size: var(--font-size);
  text-decoration: none;
  transition: .2s ease;
}

.hero-menu a:hover{
  filter: brightness(150%);
}

/* post section */

#post-section{
  display: flex;
  flex-wrap: wrap;
  padding: 50px;
  margin-top: 50px;
  gap: 100px;
}


.card img {
  width: 325px; /* Make the image take the full width of the card */
  height: 200px; /* Maintain aspect ratio */
  border-radius: 50px; /* Optional: for rounded corners */
}


.blog-card{
  width: 325px;
}

.blog-card p{
  font-size: 20pt;
  padding:10px;
}

.blog-card-link {
  text-decoration: none;
  color: inherit;
}

.card{
  width: 325px;
  height: 200px;
  box-shadow:  0 0 0 25px var(--primary-color);
  border:1px solid #000;
  border-radius: 50px;
}


/* contact us section */

.contact-section {
  width: 100%;
  display: grid;
  gap: 10px;
  margin-top: 180px;
  grid-template-columns: 1fr 1.5fr 1fr;
  align-items: start; 
}

.contact-section .contact-card {
  border: 1px solid #000 !important;
  border-radius: 50px;
  position: relative;
  display: flex;
  min-height: 400px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}


.contact-section .contact-card .header-image{
  width: 225px;
  position: absolute;
  top: -150px;
}

.contact-card .field{
  margin-top: 50px;
}

.contact-section .contact-card span a{
  text-decoration: none;
  color: black;
}

.contact-section .contact-card p {
  font-size: var(--font-size);
  width: 80%;
  padding-bottom: 50px; 
  margin-top: auto; 
  margin-bottom: auto; 
}

.contact-section .contact-card span{
  width: 80%;
  margin-top: 40px;
  font-size: var(--font-size);
}

/* Projects Page */

#project-page{
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 180px;
}

.projects{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:20px;
}

.project{
  text-decoration: none;
  color:#000;
  width: 100%;
}

.project .details{
  padding-top:20px;
  padding-left:40px;
}

.project .details h2,.project .details p{
  font-size: 26pt;
  margin: 0;padding: 0;
}

.project .project-card{
  border:1px solid #000;
  border-radius: 50px;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.project .project-text{
  font-size: 60px;
  font-family: 'Times New Roman', Times, serif;
}

.projects .header-image{
  position: absolute;
  left:50%;
  top:25%;
  transform:translate(-50%,-50%);
  width: 225px;
}


/* About us page */

#about_us{
  display: flex;
  padding: 50px;
}

#about_us .header-image{
  width: 250px !important;
  height: 250px !important;
  transform: translate(20%,-10%);
}

.about-us-card{
  border: 1px solid #000;
  border-radius: 60px;
  padding: 20px 50px;
}

.about-us-card h2{
  font-size: 17pt;
}

.about-us-card p{
  font-size: 17pt;
}

/* team section of contact.html */
#team-section{
  width: 70%;
  margin-top: 200px;
  margin-left: 100px;
  display: grid;
  position: relative;
  gap:30px;
  grid-template-columns: repeat(3,1fr);
}

#team-section .header-image{
  position: absolute;
  right: -23%;
  z-index: 1000000000;
  top:-200px;
  width: 300px;
}

#team-section .team-card{
  min-height: 300px;
  width: 285px;
  position: relative;
}

#team-section .team-card img{
  width: full;
  object-fit: contain;
  height: 280px;
  width: 280px;
}

#team-section .team-card .details h2{
  font-weight: 100;
  font-size: 20pt;
  padding:0;
  margin:0;
  margin-top: 20px;
}

#team-section .team-card .details p{
  font-size: 13pt;
  margin:0; padding:0;
  margin-top: 2px;
}

#team-section .team-card .star{
  position: absolute;
  width: 130px;
}

#team-section .team-card .top-left{
  top:-23%;
  left:-20%;
}

#team-section .team-card .bottom-right{
  bottom:24.5%;
  right:-18%;
}

#team-section .team-card .bottom-left{
  bottom:32.5%;
  left:-22%;
}

/*  Breakpoints */
@media screen and (max-width:1080px) {
  #team-section{
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width:980px) {

  .projects .header-image{
    position: inherit;
    transform: none;
  }

  :root{
    --font-size: 16pt;
  }

  .hero-images{
    padding:0;
    flex-direction: column-reverse;
  }

  .blog-card {
    width: 100%;
  }

  .blog-card p{
    margin-top: 50px;
  }

  .main-image{
    width: 100%;
  }

  .side-image{
    max-width: 250px;
    width: 50vw;
    transform: none;
    padding:20px;
  }

  .hero-menu{
    margin-top: 30px;
    width: 95%;
    padding: 20px 10px;
  }

  .card{
    width: 100%;
  }

  /* contact us page */
  .contact-section{
    display: grid;
    grid-template-columns: 1fr;
    gap:200px;
  }

  /* Projects Page */

  #project-page{
    margin-top:30px;
  }

  
  .projects{
    grid-template-columns: 1fr ;
  }

  .project .details h2,p{
    font-size: 20pt;
    margin: 0;padding: 0;
  }

  /* about page  */

  #about_us{
    flex-direction: column;
  }

  #team-section{
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 1fr;
  }

  #team-section .header-image{
    position: absolute;
    transform: translate(-10px,50px);
    width: 200px;
  }

  

}