body { 
  background-color:   rgb(255, 255, 255);   
  font-family: 'Montserrat', sans-serif;
} 
html {
  scroll-behavior: smooth;
}
@font-face {                                 
   font-family: "birdb";
   src:url("fonts/birdb.TTF")
}
img{
  max-width: 100%;
  height: auto;
} 
/* landing gradient blue */
.landing {
  position: relative;
  height: 350px;
  background: 
    linear-gradient(
      to bottom,
      rgba(0, 107, 166, 0.95) 0%,   
      rgba(0, 107, 166, 0.85) 25%,
      rgba(0, 107, 166, 0.4) 60%,
      rgba(0, 107, 166, 0.0) 100%  
    ),
    url('./images/phil-dumptruck.jpg') center/cover no-repeat;
}
a{
  text-decoration: none;
}
.landing{
   height: 100%;
   position: relative;
}
.landing-nav {
   padding: 20px 0;
 
}
.menu {
   display: flex;
   justify-content: space-evenly; /* spreads evenly */
   align-items: center;
   list-style: none;
   padding: 0;
   margin: 0;
   position: fixed;/* fixed nav */
   width: 100%;
   z-index: 9999;
   background-color: rgb(0, 107, 166);
   top: 0;
}
.menu li {
   color: white;
   font-weight: 600;
   cursor: pointer;
   padding: 10px 20px;
   border-radius: 25px;
   transition: 0.3s ease;
   filter: drop-shadow(5px 5px 5px black);
}
.menu li:hover {
   color: rgb(0, 107, 166);
   background-color: yellow;
}
.menu li a{
  color: inherit;
  text-decoration: none;
  display: block;
}
/* logo in nav */
.logo{
  font-family: birdb;
  color: white;
  letter-spacing: 4px;
  font-size: 35px;
  filter: drop-shadow(5px 5px 5px black);
}
.landing-content {
  text-align: center;
  color: white;
  padding-bottom: 40px;
  filter: drop-shadow(5px 5px 5px black);
}
/* Heading H1 MPAE styling */
.landing-content h1 {
  font-family: birdb;
  font-size: 80px;
  margin-bottom: 10px;
  text-transform: lowercase;
  filter: drop-shadow(5px 5px 5px black);
}

.landing-content p {
  font-size: 18px;
  margin-bottom: 20px;
  opacity: 0.9;
  filter: drop-shadow(5px 5px 5px black);
}
/* landing CTA's */
.landing-btn {
  display: inline-block;
  padding: 8px 25px;
  background-color: white;
  color: rgb(0, 107, 166);
  text-decoration: none;
  border-radius: 25px;
  font-weight: 600;
  transition: 0.3s ease;
}

.landing-btn:hover {
  background-color: yellow;
}

.back-button{
 display: flex;
 position: fixed;
 bottom: 20px;
 right: 20px;
 z-index: 1000;
 display: inline-flex;

}
/* hero pic/landing */
.hero{
  position: relative;
  height: 90vh;
  background: url('./images/phil-dumptruck.jpg');
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
/* hero pic/landing overlay position */
.hero-overlay{
  position: absolute;
  inset: 0;
}
/* hero pic/landing text */
.hero-content p{
  font-family: birdb;
  font-size: 20px;
  margin-bottom: 20px;
  letter-spacing: 2px;
}
/* CTA STYLING */
.hero-btn{
  display: inline-block;
  background-color: rgb(0, 107, 166);
  color: white;
  text-decoration: none;
  border-radius: 90px;
  transition: 0.3s ease;
}
/* CTA STYLING */
.hero-btn:hover{
  background-color: #004f7a ;
}
/* CTA STYLING */
nav li:hover{
  color: rgb(0, 107, 166);
  background-color: yellow;
  border-radius: 25px;
  padding: 10px;
}
/* tyre */
.tyre{
  position: fixed;
  top: -120px;
  right: 50px;
  left: auto;
  transform: translate(-50px, -120px);
  will-change: transform;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle at center,
  yellow 40%,
  rgb(0, 107, 166) 41%,
  #000 60%,
  #333 61%,
  #000 100%);
  box-shadow: 
  inset 0 0 10px rgba(255,255,255,0.2),
  0 10px 20px rgba(0,0,0,0.6);
  z-index: 2000;
  pointer-events: none;
  font-family: birdb;
  color: white;
  text-align: center;
  font-size: 10px;
  
}
/* tyre position */
.tyre span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform-origin: 0 40px; 
  font-family: birdb;
  font-size: 14px;
  color: white;
}

.section-1 {
  margin-top: 50px;
  display: block;
  align-items: center;
  gap: 20px;
  padding: 80px 0;
}
/* shoelace tool tip for find out more */
sl-tooltip::part(base){
  background: linear-gradient( 135DEG, #006ba6, #00c6ff);
  color: white;
  font-weight: bold;
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  font-size: 25px;
}
sl-tooltip::part(arrow){
  background: #006ba6;
}
/* section styling */
.section-1-text{
  margin: 60px;
  text-align: center;
}
/*alternate bakground colour*/
.section-2-container{
  background-color: azure;
}

.section-2 {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 50px;
  flex-direction: row-reverse;
}

.section-2-image{
  width: 35%;
  filter: drop-shadow(5px 5px 5px grey);
  padding: 20px;
  border-radius: 50px;
}

.section-2-text{
  flex: 1;
  margin: 60px;
}
/* dark overlay position*/
.why-choose-wrapper {
  position: relative;
}
/* background toggle switch toggled */
.lights-toggle{
  display: flex;
  z-index: 4998;
  background-color: rgb(239, 252, 57);
  width: 100px;
  height: 25px;
  justify-content: space-around;

}
.light-center{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  
}
/* switch overlay */
.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    black,
    rgba(0,0,0,0.6));
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
/* OVERLAY TEXT STYLING */
.overlay-text {
  font-family: birdb;
  font-size: 120px;
  color: rgba(255,255,255,0.9);
  letter-spacing: 8px;
}
/* no overlay */
.overlay.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.section-3 {
  background-color: azure;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 50px;
}

.section-3-image{
  width: 35%;
  filter: drop-shadow(5px 5px 5px grey);
  padding: 20px;
  border-radius: 50px;
}

.section-3-text{
  flex: 1;
  margin: 60px;
}
/* HEADING STYLING */
.section-heading {
  font-size: 80px;
  font-family: birdb;
  display: flex;
  justify-content: space-around;
  background: linear-gradient(
    90deg,
    #004a73,
    #006ba6,
    #00aaff,
    #ffffff
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 100px;
  margin-top: 100px;
  
}

.installs-section{
  margin-top: 100px;
  background-color: azure;
}

.grid-container{
  justify-content: center;
  padding: 10px;
  display: flex;
  padding: 20px;
}
/* PART CARD STLING */
.part-card {
  width: 200px;
  border-radius: 8px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.1);
  transition: 0.3s;
  overflow: hidden;
  font-family: sans-serif;
  background-color: white;
  margin: 10px;
  padding: 10px;
}

.part-card:hover {
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}
/* PART CARD IMAGE SIZE */
.part-image {
  width: 200px;
  height: 200px;
  object-fit: cover;
  border-radius: 5px;
}

.part-details {
  padding: 16px;
}

.part-name {
  margin: 0 0 10px 0;
  font-size: 20px;
}
/* VIEW PART BUY BUTTON */
.buy-btn {
  background-color:rgb(0, 107, 166);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
}

.buy-btn:hover {
  background-color:rgb(0, 107, 166);
}
/* LIGHTBOX GALLERY POSITION */
.lightbox-gallery{
  justify-content: center;
}
/* LIGHTBOX STYLING */
.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 0 auto;
  max-width: 1200px;  
}
/* LIGHTBOX IMAGE STYLING */
.gallery img {
  object-fit: cover;
  width: 200px;
  height: 200px;
  display: block;
  border-radius: 25px;
}

.whats-new-section{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  text-align: center;
}

.whats-new-section img{
  width: 350px;
  filter: drop-shadow(5px 5px 5px grey);
  padding: 20px;
  max-width: 60%;
  border-radius: 50px;

}

.whats-new-section p{
 max-width: 80%;
}

.footer-section{
  font-family: birdb;
  font-size: 30px;
  font-weight: 40;
  background: linear-gradient(
    to bottom,
    #4fb3ff,
    #006ba6
  );
  -webkit-backdrop: text;
  -webkit-text-fill-color: transparent;
  text-shadow:
    0 1px 1px rgba(246, 237, 237, 0.912),
    0 -2px 2px rgba(0,0,0,0.5);
    z-index: 5;
} 

/* MEDIA QUERIES */
@media (max-width:1024px){
/* HEADING CHANGES */
  .section-heading{
    font-size:50px;
    text-align:center;
  }
/* LAYOUT CHANGES TO SUIT MAX WIDTH */
  .section-2,
  .section-3{
    flex-direction:column;
    text-align:center;
  }

  .section-2-image,
  .section-3-image{
    width:80%;
  }

  .grid-container{
    flex-wrap:wrap;
  }

  .gallery img{
    width:45%;
    height:auto;
  }

}
@media (max-width:768px){

  /* NAV */
  .logo{
    display: none;
  }
  .menu{
    display: none;
    flex-direction:column;
    gap:10px;
    font-size: 10px;
    padding: 5px;
  }

  /* LANDING*/
  .landing-content h1{
    font-size:32px;
  }

  .landing-content p{
    font-size:16px;
  }

  /* SECTION HEADING ALTERATION */
  .section-heading{
    font-size:36px;
    margin:60px 0;
  }

  /* STACKED FOR MOBILE */
  .section-2,
  .section-3{
    flex-direction:column;
    justify-content: center;
    align-items: center;
  }
/* REDUCE TEXT MARGINS */
  .section-1-text,
  .section-2-text,
  .section-3-text{
    margin:20px;
  }
 /* IMAGE RESTYLING */
  .section-2-image,
  .section-3-image{
    width:100%;
    padding:10px;
  }
  .warning-light{
    display: none;
  }
  /* parts cards */
  .grid-container{
    flex-direction:column;
    align-items:center;
  }

  .part-card{
    width:90%;
  }

  /* GALLERY RESTYLING */
   .gallery {
    justify-content: center;
  }

  .gallery a {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .gallery img {
    width: 80%;
  }


  /* IMAGES FOR MOBILE */
  .whats-new-section img{
    width:60%
  }

  /*SMALLER TYRE */
  .tyre{
    width:60px;
    height:60px;
    font-size:8px;
  }

}
/* wARNING LIGHT POSITIONING */
.warning-light{
  top: 20px;
  left: 40px;
  width: 70px;
  z-index: 6000;
}
/* LIGHT DIV  */
.light-svg{
  width:100%;
  height:auto;
}

/* MOUNT */
.light-base{
  fill:#333;
}

/* DOME */
.light-dome{
  fill:#ffb300;
  animation: flashLight 1s infinite;
}

/* LIGHT*/
.light-shine{
  fill:white;
  opacity:0.4;
  animation: flashGlow 1s infinite;
}

/* FROM TO */
@keyframes flashLight{
  0%,100%{
    fill:#ffb300;
    filter: drop-shadow(0 0 4px #ffb300);
  }
  50%{
    fill:#ffd54f;
    filter: drop-shadow(0 0 18px #ffc107);
  }
}

/* LIGHT FLASHING */
@keyframes flashGlow{
  0%,100%{ opacity:0.25; }
  50%{ opacity:0.6; }
}

