* {
  box-sizing: border-box;
}




body {
  font-family: 'DM Sans';
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  place-items: center;
}


@media only screen and (max-width: 768px) {
  body {
      font-size: 16px;
      font-weight: 400;
      
  }

  .container {
    flex-direction: column;
  }

  .container .image {
      order: 1;
  }

  .banner1 {
    flex-direction: column;
  }
  .banner1 img{
    width:90%;
  }

  .cards {
    /*flex-direction:column;*/
    background-color: transparent;
    justify-content: center;
    order:1;
    
  }

  .card{
    min-width:80%;
    background-color: transparent;
    justify-content: center;
    justify-items: center;
    
  }

}

@media only screen and (min-width: 769px) {
  body {
      font-size: 18px;
      
      font-weight: 200;
  }
  .container {
    flex-direction: row;
  }
  .container .image, .container .text {
    width:50%;
  }
  .img{
    width:90%;
  }
 

  .banner1 {
    flex-direction: row;
    max-height:auto;
  }
  .banner1 img {
    width:27%;
  }

  .cards {
    flex-direction:row;
    
  }

  .card{
    width:60vh;
  }


}


.top-ribbon {
background-color: white; /* Background color of the ribbon */
background-color: rgb(0, 0, 7);
display:flex;
color: #141414; /* Text color */
padding: 10px; /* Padding around the elements */
position: fixed; /* Fixed positioning to stay at the top */
top: 0; /* Align the ribbon to the top */
left: 0; /* Align the ribbon to the left */
height: 70px;
width: 100%; /* Full width */
margin-bottom: 10px;

z-index: 1000; /* Ensure the ribbon stays on top of other content */
display: flex; /* Use flexbox for layout */
align-items: center; /* Center align items vertically */
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); /* Add bottom shadow */
justify-content:left; /* Distribute items evenly along the main axis*/

padding-left:10px;

}

.bottom-ribbon {
  background-color: rgb(1, 8, 22); /* Background color of the ribbon */
  background-color: rgb(0, 0, 7);
  color: white; /* Text color */
  padding: 10px; /* Padding around the elements */
  margin-top: 0px;
  padding-left:10px;
  position: relative; 
  justify-content:left;
  bottom: 0px; 
  left: 0px;
  height: 100px;
  width: 100%;


  z-index: 1000; /* Ensure the ribbon stays on top of other content */
  display: flex; /* Use flexbox for layout */
  align-items: center; /* Center align items vertically */
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2); /* Add bottom shadow */
  justify-content:left; /* Distribute items evenly along the main axis*/
  padding-left:10px;

  }
  
.bottom-ribbon.fixed{
  position:fixed;
}
  

.logo-icon {
  cursor: pointer; /* Show pointer cursor on hover */
  position: relative;

  
  }
.menu-icon {
cursor: pointer; /* Show pointer cursor on hover */

}
.title {
  position: relative;
  color:white;
  
    font-size: 1.5em; /* Adjust the font size of the title */
    list-style: none;
    text-decoration:none;
    font-family:DM Sans;
    margin-left: 10px;
    width : auto;
    text-align:left;
    align-self:flex-start;
    white-space: normal;
    margin-bottom:30px;

    font-weight:200;
}

.menu-container {
  display: flex;
  position: absolute;
  right:20px;
  justify-content: right;
  align-self:end; 
  align-items:end;
  min-width:300px;
  height:20px;
}

.menu-links {
display: flex; /* Use flexbox for layout */
list-style: none; /* Remove default list styling */
font-size: 0.9em;
font-family:DM Sans;
margin: 0; /* Remove default margin */
padding: 0; /* Remove default padding */
color: white;
margin-top: 25px;

justify-content:end;
align-self:end;
width : auto;
text-align:left;
white-space: normal;
font-weight:200;

}
.menu-links ul{
  align-self:flex-end;
  align-items:end;
}



.menu-links-bot {
  display: flex; /* Use flexbox for layout */
  list-style: none; /* Remove default list styling */
  font-size: 0.8em;
  margin: 0; /* Remove default margin */
  padding: 0; /* Remove default padding */
  color: black;
  margin-bottom: 20px;


  }
.menu-links a{
text-decoration: none; /* Remove the underline */
  color: #1f1f1f; /* Set the color of the links */
  color:white;
  margin-left:10px;
  font-weight:200;

}
.menu-links b{
  text-decoration: none; /* Remove the underline */
    color: #ffffff; /* Set the color of the links */
    font-weight:100;
    margin-left:10px;
    font-weight:200;
  }
.menu-links li {
margin-right: 5px; /* Add spacing between menu links */
font-family:DM Sans;
    font-weight:100;
}
.menu-links li:last-child {
margin-right: 10px; /* Remove margin from last menu link */
font-size:1em;
}

.menu-icon img{
    margin-top: 5px;
    width:30px;
    height: auto;
    
}

.logo{
  align-self:flex-start;
}

.logo img {
    width: 40px; /* Adjust the width of the logo */
    height: auto; /* Maintain aspect ratio */
    margin-bottom:10px;
    align-self:flex-start;
}

.banner-section {
  position: relative;
  width:100%;
  height: 400px; /* Set the height of the banner section */
  display: flex;
  justify-content: center; /* Center the banner horizontally */
  align-items: center; /* Center the banner vertically */
  align-self:center;
  margin-bottom:0px;
  background-color:black;

  }

  .banner-image{
    display:flex;
    position:relative;
    justify-items:right;
    justify-self:center;
    justify-content:center;
    background-color:white;
    flex-grow:1;
  }

  .banner-link img{
    display:flex;
    position:relative;
    justify-self:right;
    border-color:white;
    border-style:solid;
  }

  .banner {
    max-height: 80vh;
    /*width: calc(100% + 40px);*/
    width:100%;
    
    position: relative;
    display: flex;
    flex-direction:column;
    justify-content: center; 
    align-items: center; 
    overflow: hidden; 
    align-self:center;
    /*padding: 0 0 25px 0;*/
    background-color: rgb(0, 0, 7);
    border-radius: 0px;
    margin-top: 60px;

    padding:5px;
  }
  
  .banner img {
    display: flex;
    max-height: 75vh;
    border-radius: 10px;
    width:100%;
    padding: 10px;
    object-fit: contain;
    margin: 10px;
    justify-content: center; 
    align-items: center; 
    padding-bottom:50px;
    align-self:center;
  }

  .nav-button {
    position: absolute;

    background-color: rgba(0, 0, 0, 0);
    color: #FF5300;
    color:white;
    border: none;
    padding: 0px;
    cursor: pointer;
    font-size: 24px;
    z-index: 1;
    bottom:5px;
}

.nav-button.left {
    left: 10px;
}

.nav-button.right {
    right: 10px;
}

  .pagination-dots {
    
    display:flex;
    margin-top: 10px;
    padding-top:10px;
    text-align: center;
    position: relative; /* Position the pagination dots relative to the banner container */
    bottom: 0px; /* Adjust the distance from the bottom of the banner container */
    justify-self:center;
    justify-content:space-around;
  }
  
  .pagination-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 5px;;
    background-color: #999; /* Color for inactive dots */
    margin: 0 10px;
    margin-bottom: 10px;
    
  }
  
  .pagination-dot.active {
    
    background-color: white; /* Color for inactive dots */
    background-color: #ee3f09; /* Color for active dot */
    width:50px;
    
  }
  .pagination-dot:hover {
    
    cursor:pointer;
    
  }
  
.intro {
    position:relative;
    display:flex;
    width:100%;
    
    background-color:black;
    background-color:  rgb(7, 20, 32);
    background-color: rgb(11, 21, 30);
    height: auto;
    margin-top:0px;
    padding: 0px;
    padding-bottom: 10px;
    padding-left: 0px;
    flex-direction:column;
    justify-content:center;
  
}

.intro img{
  display:flex;
  position:relative;
  flex-grow:1;
  flex-shrink:1;
  object-fit:fill;

}

.container {
    position:relative;
    display: flex;
    max-width: 1200px;
    width:100%;

    padding:0px;
    justify-content:space-around;
    align-items:center;
    align-self:center;
}

.container .text {
  flex: 1;
  padding-left: 20px;
  padding-right: 20px;
  width:90%;
}

.container .image {
  flex: 1;
  width:90%;
  margin:0px;
}

.container .image img {
  width: 100%;
  height: auto;
}

.container img{
  max-width: 90%; /* Ensure the image does not exceed the width of the container */

  border-radius: 10px;
  padding: 0px;
  display: flex;
  margin: 0px;
  object-fit:contain;
  justify-content: center; 
  align-items: center;
  justify-self:center;
}



.intro-content {
  flex-shrink:0;
  margin-bottom: 0px;
  font-family:"DM Sans";
  width: 90%; /* Set the width of the intro content */
  float:left; /* Float the content to the left */ 
  padding-right: 10px; /* Add some spacing */
  color: white;
  font-weight:100;  

}

.intro-content img{
  padding:0px;
  object-fit:contain;

}

.intro-content h2 {
  font-size: 2em;
  font-weight:300;
  margin-bottom: 0px;
  margin-left:0;
  text-align:left;
  width:100%;

}



.intro-content h4 {
  font-size: 0.8em;
  font-weight:200;
  margin-bottom: 0px;
  margin-left:0;
  text-align:justify;
  width:100%;

}

.intro-content p {
  font-size: 0.9em;
  font-weight:normal;
  margin-bottom: 20px;
  text-align:justify;

}

.buttons {
    display: flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content: space-around;
    width: 100%; /* Set the width of the cards */
    
}

.btn {
    
  background-color: rgba(red, green, blue, 0); /*transparant color*/
  background-color: rgb(0, 0, 10,0.5);
  color: #FFC700;
  color:white;
  border-radius: 20px;
  border-width:3px;
  padding:0px;
  display:flex;
  margin-top:20px;
  margin-bottom:20px;
  border-color:#FFC700;
  border-style:solid;


  /*box-sizing: border-box; /* Include padding and border in the element's total width and height */
  position: relative; /* Set position to relative for absolute positioning */
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:5px;
  overflow:hidden;
  min-width:15vw;
  max-width:30vw;
}

.cards {
  display:flex;
  flex-wrap:nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  gap:16px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling:touch;

  
  justify-content: space-around;
  object-fit:contain;
  align-items:center;
  width: 100%;
  padding: 10px;
  margin:0px;
  
}

.cards::-webkit-scrollbar {
  display: none;              /* Chrome / Safari */
}

.card{
    
    background-color: transparent; /*transparant color*/
    background-color: rgb(0, 0, 5,0.8);
  
    border:white;
    color: white;
    border-radius: 0px;
    border-width:0px;
    padding:0px;
    margin:10px;
    display:flex;
    margin-top:20px;
    margin-bottom:20px;
    /*box-sizing: border-box; /* Include padding and border in the element's total width and height */
    /*position: relative; /* Set position to relative for absolute positioning */
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:hidden;
    object-fit:contain;
    min-width: 200px;

}

.btn img{
  max-width:100%;
}

.btn:hover {
  background-color: #e0e0e0;
  background-color:rgb(201, 201, 201);
  transform: scale(1.0);
  color:black;
  font-weight:400;
  justify-content:center;
    align-items:center;
    text-align: center;
    border-color:rgb(201, 201, 201);
}

.btn.active {
  
  
  background-color:#FF3901; /* Change to your preferred active state color */
  background-color:rgb(201, 201, 201);
  background-color:#FFC700;
  color:black;
  border:#FF3901;
  border-width:2px;
  transform: scale(1.0); /* Ensure the active card has the hover effect */
  font-weight:600;
  justify-content:center;
    align-items:center;
    text-align: center;
}


.btn h4 {
    font-size: 1em;
    font-weight:800;

    position:relative;
    
    margin-top:0;
    margin-bottom: 0px;

    font-weight:normal;
    justify-content:center;
    align-items:center;
    text-align: center;
  
    
    color:#141414;
    color:white;
}

.canvas-container {
  position: absolute; /* Set position to relative for absolute positioning */
  display: flex;
  align-self:baseline;
  justify-content:center;

}

.canvas {
  position: absolute; /* Set position to absolute for precise placement */
  top:auto; /* Position canvas 20px from the top */
  left:50%; /* Position canvas 20px from the right */
  transform: translateX(-50%); /* Center the pagination dots horizontally */
  /*border: 2px solid black; /* Add border for visualization */
}

.tile-section {
  width:90%;
  display: flex;
  position: relative;
  flex-direction:row;
  justify-content: space-around;
  margin-top: 0px; /* Adjust margin as needed */
  flex-wrap: wrap;
  align-items: center;
  justify-content:space-around;
}

.prod-tile {
  flex: 1 1 100;
  flex-direction: column;
  width: 70px; /* Set width of each tile */
  height: 70px; /* Set height of each tile */

  background-color: #ddd; /* Set background color */
  background-color: rgb(0, 0, 10,0.8);
  border-radius: 10px; /* Add border radius for rounded corners */
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: center;
  margin:10px;
  margin-bottom:30px;
  margin-top:20px;
}

.prod-tile a {
  text-decoration: none;
  color: #333; /* Set color of text */
  font-size: 0.9em;
  justify-content:center;

  display: block;
}
.prod-tile img {
  max-width: 80%;
  max-height: 80%;
  position:relative;
  margin-top:5px;
  object-fit: cover; /* Ensure the image covers the entire space */
  justify-content:center;
  align-items:first baseline;
}
.prod-tile h4 {
  font-size: 1.1em;
  font-family:DM Sans;
  margin-top: 20px;
  font-family:DM Sans;
  font-weight:200;
  justify-content:center;
  align-items:center;
  text-align:center;
  
  /*color: rgb(247, 200, 47);*/
  color:white
}

.prod-tile p {
  margin: 0;
  padding: 5px;
}

h4 {
  font-size: 1.2em;
  font-family:DM Sans;
    font-weight:200;
    margin-top:30px;
    margin-bottom: 10px;
    margin-left:10px;
    margin-right:10px;
    color: rgb(4, 18, 37);
    color:white;
    justify-content:center;
    align-items:center;
    text-decoration: none;
    

}

h2 {
  font-size: 2em;
  font-family:DM Sans;
    font-weight:200;
    margin-top:10px;
    margin-bottom: 10px;
    margin-left:10px;
    margin-right:10px;
   
    color:white;
    justify-content:center;
    align-items:center;
    text-decoration: none;
    

}

.para {
  font-size: 0.9em;
  font-family:DM Sans;
  width:95%;
  text-align:justify;
  margin-top:20px;
  margin-bottom: 10px;
  float: left; /* Float the content to the left */
  justify-content: justify; 
  margin-left: 50px;
  margin-right: 50px;
  color: black;

  font-weight:400;


}

.email-link{
  color:inherit;
  text-decoration:underline;

}




.banner1 {
  width: 100%; /* Set the width of the banner container */
  display: flex; /* Use flexbox to center the image horizontally and vertically */
  position:relative;
  justify-content:center; /* Center the image horizontally */
  align-items:center; /* Center the image vertically */
  overflow:hidden; /* Hide any overflow content */
  position: relative;
  /*background-color:#0C1622;*/
  margin-top: 0px;
  margin-bottom:0px;
  
}



.banner1 img{
  border-radius: 10px;
  padding: 0px;
  display: flex;
  position:relative;
  object-fit:contain;
  justify-content: space-around; 
  align-items: center;
}

.banner2 {
  width: 100%;
  height: auto; /* Auto height to fit content */
  display: grid; /* Use CSS grid */
  grid-template-columns: repeat(auto-fit, minmax(600px, 1fr)); /* Adjust based on image size */
  padding:20px;
  margin-top: 60px;
  margin-bottom:0px;
  gap: 10px; /* Adjust gap between images */
  justify-items: center;
  justify-content: space-around;
  align-items: center; /* Center images vertically */
  background-color: #0C1622;

  text-align:center;
  overflow:hidden;
  
}

.banner2 img {
  width:60%; /* Set image width to fill grid cell */
  height: 60%; /* Auto height to maintain aspect ratio */
  border-radius: 10px;
  justify-items: center;
  align-items: center;
  justify-content: space-between;

}



.domain {
    
  background-color: rgba(red, green, blue, 0); /*transparant color*/
  background-color: rgb(255, 0, 10,0);
  border:white;
  color: white;
  border-radius: 10px;
  border-width:5px;

  width:100%;
  height:20px;
  display:flex;
  margin:10px;
  /*box-sizing: border-box; /* Include padding and border in the element's total width and height */
  position: relative; /* Set position to relative for absolute positioning */
  justify-content:center;
  align-items:center;
  text-align: center;
}
.domain h4 {
  font-size: 0.9em;
  font-weight:200;

  position:relative;
  
  margin-top:0;
  margin-bottom: 0px;

  justify-content:center;
  align-items:center;
  text-align: center;
  
  color:#141414;
  color:white;
}
  
.dotted-line {
  border: none;
  border-top: 2px dotted rgb(114, 114, 114);
  margin: 20px 0;
  width:50%;
  transform: translateX(50%);
}

.box{
  justify-content:left;
  justify-self:left;
  align-items:baseline;
  align-self:baseline;
}

.scroll-container {
  width: 100%;
  overflow: hidden;
}

.scroll-track {
  display: flex;
  gap: 16px;
  width: max-content;
}



.tile1 {
  min-width: 320px;
  height: 200px;
  background: transparent;

  display: flex;
  align-items: left;
  justify-content: left;
  justify-self:left;

  text-decoration: none;
  color: #000;
  cursor: pointer;

  user-select: none;

}

.tile1 img {
height:100%;
  object-fit:contain; /* ⭐ key */
  justify-content:flex-start;
  justify-self:left;
}

.scr-img{
  display: flex;
  position:relative;
  flex-shrink:1;
  flex-wrap: wrap;
  object-fit:contain;
  align-items:stretch;
  justify-content:flex-start;
  
  height:10px;
}


