@charset "utf-8";
/* CSS Document */


body{
background-image: url("../img/repeat-pattern-bground-navy.png");
background-color:#2d4863;
}


/*hero graphic*/
.w-full{
	/*margin-bottom:100px;*/
	margin-top:0px;
	padding-bottom:20px;
	padding-top:10px;
	padding-left: 20px;	
	margin-bottom:50px;
	width:100%;
}


/*added july 2025*/
.tabitem {
	overflow-y:auto;
}
.tabcontents {
	min-height: 100vh;
}



/*end added july 2025*/



.bg-clr_base:hover {
	background-color:#1982c4;
}

span .arrow:hover {
	background-color:#1982c4;
}

span .arrow {
	background-color:#1982c4;
}

div a .rounded, .border-blue {
	border-width: 1px;
	border-color:#1982c4;
}

.hover-blue:hover {
	background-color:#1982c4;
}

/*little hamburger menu*/
.drawerActiveIcon {
	background-color: #f4f5e4;
}
/*opened out hamburger menu*/
div .drawer {
	background-color:#2D4863;
}


.almond-txt {
	color:#f4f5e4;
}

#almond-txt {
	color:#f4f5e4;
}

div .bg-colblue {
	background-color:#1982c4;
	border-width: 3px;
	border-color:#2d4863;
}


.spacing{
	letter-spacing: 4px;
}

.main__logo {
	height: 200%;
	width: 200%;
}

div .abox {
	background-color:#1982c4;
}


@keyframes slow-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.spin-slow {
  animation: slow-spin 6s linear infinite; /* Adjust speed by changing '5s' */
}



.tablink, .rounded {
	border-width: 1px;
	border-color:#9fdb2c;
}

/*small arrow up at end of page*/
a .bi-arrow-up {
	color:#2d4863;
}
.lwrcase {
	text-transform:lowercase;
}

/* ------------ Logo slider */
.slide-track {
  width: calc(200px * 16);
  display: flex;
  align-items: center;
  animation: scroll 20s linear infinite;
  justify-content: space-between;
  height: 100%;
  gap: 50px;
  background-color:#9fdb2c;
  
}
.slide-track2{
  animation: scroll2 20s linear infinite;
}



/* Default (Desktop) */
.about__onethumb {
  display: flex;
  justify-content: flex-start; /* Default: align left on big screens */
}

.logo-extra {
  width: 100%;
  max-width: 450px;
}





div .grid, lg:grid-cols, .raiseup {
	margin-top:-20px;
}


.hero {
	width:100%;
}


.logosmall {
  margin-top: 20px;
  margin-bottom: -90px;
}



.pagethroughs {
	color: #f4f5e4;
	font-size: 22px;
	margin-right: auto;
	margin-left:auto;
}


.pagethroughs a:hover {
	color:#9fdb2c;
}




/* ...............PORTFOLIO GRID............. */
.image-grid {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 50px 0;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Default: 3 columns */
  gap: 26px;
  max-width: 1200px;
  width: 100%;
  text-align: center;
  visibility: visible !important;
  opacity: 1 !important;
}

.image-grid {
  overflow: visible !important;
}

/* Ensure the grid remains visible */
.image-grid, .grid-container {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 1200px;
  overflow: visible !important;
}

/* Ensure items are visible */
.grid-item {
  border: 2px solid #9fdb2c;
  border-radius:10px;
  padding: 6px;
  transition: border-color 0.3s ease, transform 0.3s ease;
  background: rgba(0, 0, 0, 0.2);
  min-height: 200px;
  overflow: visible;
}


.grid-item:hover {
  border-color: #f4f5e4;
  transform: scale(1.07);
}


.grid-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
  background-color: rgba(255, 0, 0, 0.2);
}

.grid-item p {
  margin-top: 10px;
  font-size: 16px;
  color: #f4f5e4;
}



/* === Responsive Fix === */

/* Tablets: 2 columns */
@media (max-width: 1024px) {
  .image-grid {
    display: grid !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;
  }

  .grid-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px !important;  /* Ensure gap is preserved */
    width: 100% !important;
    max-width: 100% !important;
    min-height: 200px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .grid-item {
    width: 100% !important;
    min-height: 200px !important;
  }
}


/* Phones: 1 column */
@media (max-width: 767px) {
  .grid-container {
    grid-template-columns: repeat(1, 1fr) !important;
    display: grid !important;
    width: 100% !important;
  }
}


/* Extra for 2 column grid */
/* ...............PORTFOLIO GRID (Default for portfolio1.html)............. */
.image-grid {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 50px 0;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Default: 3 columns */
  gap: 26px;
  max-width: 1200px;
  width: 100%;
  text-align: center;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Ensure the grid remains visible */
.image-grid, .grid-container {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 1200px;
  overflow: visible !important;
}

/* Ensure items are visible */
.grid-item {
  border: 2px solid #9fdb2c;
  border-radius:10px;
  padding: 6px;
  transition: border-color 0.3s ease, transform 0.3s ease;
  background: rgba(0, 0, 0, 0.2);
  min-height: 200px;
  overflow: visible;
}

.grid-item:hover {
  border-color: #f4f5e4;
  transform: scale(1.07);
}

.grid-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
  background-color: rgba(255, 0, 0, 0.2);
}

.grid-item p {
  margin-top: 10px;
  font-size: 16px;
  color: #f4f5e4;
}

/* === Responsive Fix === */

/* Tablets: 2 columns */
@media (max-width: 1024px) {
  .image-grid {
    display: grid !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;
  }

  .grid-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 200px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .grid-item {
    width: 100% !important;
    min-height: 200px !important;
  }
}

/* Phones: 1 column */
@media (max-width: 767px) {
  .grid-container {
    grid-template-columns: repeat(1, 1fr) !important;
    display: grid !important;
    width: 90% !important;
  }
}

/* ...............PORTFOLIO2 GRID (Only for portfolio2.html)............. */
.portfolio2-wrapper .grid-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important; /* 2 columns */
  grid-template-rows: repeat(6, auto) !important; /* 6 rows */
  gap: 40px !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}


/* === PORTFOLIO2 GRID (Tablet: 2 columns, Mobile: 1 column) === */
@media (max-width: 767px) { /* Mobile screens */
  .portfolio2-wrapper .grid-container {
    grid-template-columns: repeat(1, 1fr) !important; /* 1 column */
    grid-template-rows: repeat(12, auto) !important; /* 12 rows */
	  	width: 90% !important;
}



/* Debug borders to check if grids are being rendered */
/*@media (max-width: 1024px) {
  .image-grid {
    border: 2px solid red !important;
  }

  .grid-container {
    border: 2px solid blue !important;
  }
}
*/

/*-------END PORTFOLIO-------*/







@keyframes scroll {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(calc(-150px * 8));
  }
}
@keyframes scroll2 {
  0% {
    transform: translateX(calc(-150px * 8));
  }
  100% {
    transform: translateX(0px);
  }
}




/*.....LARGE LOGO TO SMALL LOGO......*/

/* Default state */
/*.logo-small {
  display: none;
  max-width: 380px;
  margin: 0 auto;
  margin-bottom: -80px;
}

.logo-large {
  display: block;
  max-width: 450px;
  width: 100%;
}*/

/* Tablet screens only (769px to 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  .logo-large {
    display: none;
  }

  .logo-small {
    display: block;
    max-width: 380px; /* Size specifically for tablet */
    margin-top: 20px;
    margin-bottom: -80px;
  }
}

/* Phone screens (≤768px) */
@media (max-width: 768px) {
  .logo-small {
    display: block;
    max-width: 380px;
  }
}
/*.....END LARGE LOGO TO SMALL LOGO......*/




	

/*......SKILLS % LABELS .......*/

 /* Default large screen view */
.skills-container {
  display:grid ;
  grid-template-columns:repeat(3, 1fr);  /* 3 equal columns */
  grid-template-rows:repeat(4, auto);    /* 4 rows for 12 items */
  gap:15px;                               /* Small gap between columns */
  justify-items:center;
  margin-top:40px;
	max-width:800px;      /* NEW: gives the grid enough space */
  margin-left:auto;     /* Center horizontally */
  margin-right:auto;
	
	
}

.skill-box {
  background-color:#2d4863;    /* Background color for each skill box */
  border:2px solid #f4f5e4;    /* Border color */
  border-radius:10px;
  padding:16px;                 /* Padding inside the box */
  text-align:left;
  width:215px;                  /* Box width */
  height:100px;                 /* Box height */
  display:flex;
  align-items:center;
  gap:15px;
  transition:border-color 0.3s;
}

.skill-box:hover {
  border-color:#9fdb2c;        /* Hover effect to change the border color */
}

.skill-content {
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.skill-text {
  color:#f4f5e4;               /* Text color should be white */
  font-size:16px;
}

.skill-percentage {
  color:white;                 /* Percentage text should be white */
  font-size:22px;
  font-weight:bold;
}

.icon {
  max-width:65px;
  height:auto;
}

/* RESPONSIVENESS: Tablet/Phone View */	
	
@media (max-width:768px) {
  .skills-container {
    grid-template-columns:repeat(2, 1fr); /* 2 columns on tablets */
    gap:12px;                             /* Reduce gap */
    max-width:330px;                      /* Limit the width of the grid */
    margin-top:30px;
    margin-left:auto;
    margin-right:auto;
  }
  
  .skill-box {
    width:160px;
    height:75px;
    padding:10px 16px 10px 10px;
    box-sizing:border-box;
  }

  .skill-content {
    padding-right:12px;
    max-width:65%;
  }

  .icon {
    max-width:32px;
  }

  .skill-text {
    font-size:12px;
  }

  .skill-percentage {
    font-size:14px;
  }
}
	
/* Mobile and small tablet (767px and below) */
@media (max-width: 767px) {
  .skills-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);  /* 2 columns */
    gap: 12px;
    max-width: 330px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}	

@media (max-width:600px) {
  .skills-container {
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
    max-width:330px;
    margin-left:auto;
    margin-right:auto;
  }

  .skill-box {
    width:160px;
    height:75px;
    padding:12px 16px 12px 10px;
    box-sizing:border-box;
  }

  .skill-content {
    padding-right:14px;
    max-width:70%;
  }

  .icon {
    max-width:38px;
  }

  .skill-text {
    font-size:13px;
  }

  .skill-percentage {
    font-size:16px;
  }
}

@media (max-width:480px) {
  .skills-container {
    grid-template-columns:repeat(2, 1fr);
    gap:10px;
    max-width:300px;
    margin-left:auto;
    margin-right:auto;
  }

  .skill-box {
    width:130px;
    height:65px;
    padding:10px 14px 10px 8px;
    box-sizing:border-box;
  }

  .skill-content {
    padding-right:12px;
    max-width:65%;
  }

  .icon {
    max-width:30px;
  }

  .skill-text {
    font-size:11px;
  }

  .skill-percentage {
    font-size:13px;
  }
}

/*......END SKILLS % LABELS .......*/


	
	
	





/*.....my SPINNING SECTION FLOWER.......*/
/* Tablets (768px and below) */
@media (max-width: 768px) {
  .spin-slow {
    width: 28px; /* Slightly smaller for tablets */
  }
}

/* Phones (480px and below) */
@media (max-width: 480px) {
  .spin-slow {
    width: 26px; /* Smaller for phones */
  }
}
/*.....my SPINNING SECTION FLOWER.......*/





/*.......HERO IMAGE....*/

/* On smaller screens (phones and tablets) */
@media (max-width: 768px) {
  .banner__thumb {
    left: 35%; /* Adjust position to move image closer to the text */
  }
}

/* On even smaller screens (optional tweak for phones) */
@media (max-width: 480px) {
  .banner__thumb {
    left: 30%; /* Move even more left if necessary */
  }
}

/*turning off the hero image for phone screens*/
@media (max-width: 767px) {
  .banner__thumb {
    display: none;
  }
}

/*.......END HERO IMAGE....*/








/*.....PERSONAL BOXES.....*/
/* Default (Large Screens) */
.grid-container2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Ensure 2-column layout */
    gap: 20px;    
}

/* Mobile Grid: Hidden by default */
.mobile-grid2 {
    display: none;
}
	
	

/* 📱 Mobile View (up to 768px) */
@media (max-width: 768px) {
    .grid-container2 {
        display: grid !important;
        grid-template-columns: 1fr; /* 1-column layout for small screens */
        gap: 07px; /* Gap between boxes */
		width: 95% !important; /* Take 85% of the screen width */
    }

    .abox {
        background-color: #1982c4;
        border: 2px solid #9fdb2c;
        font-family: Kanit, sans-serif;
        color: #f4f5e4;
        padding: 8px 12px 8px 10px; /* Reduce padding for mobile */
        border-radius: 10px;
        font-size: 0.83rem !important; /* Smaller text size */
        text-align: left;
        transition: transform 0.3s ease-in-out, border 0.5s ease-in-out;
    }

    .abox:hover {
        border-color: #f4f5e4;
        transform: scale(1.06);
    }

    .icons a {
        color: #f4f5e4;
        margin-right: 10px;
        font-size: 0.94rem !important; /* Smaller text for headings */
        text-decoration: none;
    }
}

/* Tablet View (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .grid-container2 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr); /* 2-column layout for tablets */
        gap: 12px; /* Gap between boxes */
    }

    .abox {
        background-color: #1982c4;
        border: 2px solid #9fdb2c;
        font-family: Kanit, sans-serif;
        color: #f4f5e4;
        padding: 12px; /* Padding for tablets */
        border-radius: 12px;
        font-size: 14px;
        text-align: left;
        transition: transform 0.3s ease-in-out, border 0.5s ease-in-out;
    }

    .abox:hover {
        border-color: #f4f5e4;
        transform: scale(1.05);
    }

    .icons a {
        color: #f4f5e4;
        margin-right: 10px;
        font-size: 18px;
        text-decoration: none;
    }
}

/* Large Screens (Desktop) */
@media (min-width: 1025px) {
    .grid-container2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2-column layout for large screens */
        gap: 20px; /* Gap between boxes */
    }
}

/* General Styles for .abox */
.abox {
    background-color: #2d4863; /* Default background for larger screens */
    border: 2px solid #2d4863;
    padding: 10px; /* Padding to keep boxes compact */
    border-radius: 10px;
    font-size: 12px; /* Reasonable font size */
    color: #f4f5e4;
    transition: transform 0.3s ease-in-out, border 0.5s ease-in-out;
    text-align: left;
}

.abox:hover {
    border-color: #f4f5e4;
    transform: scale(1.05); /* Slight scaling on hover */
}

.ptext {
    font-size: 14px;
    margin-bottom: 8px;
}

.icons a {
    color: #f4f5e4;
    margin-right: 10px;
    font-size: 18px;
    text-decoration: none;
}

	
	
	
	
	
	
	

/*..EXTRA PORTFOLIO STUFF..*/
@media (max-width: 1024px) {
  /* Force grid to be visible */
  .grid-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 200px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Ensure the parent container is not hiding it */
  .image-grid {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* Debugging border to check if it's rendering */
/*  .grid-container {
    border: 2px solid green !important;
  }*/
}



@media (max-width: 767px) {
  .grid-container {
    grid-template-columns: repeat(1, 1fr) !important; /* Set to 1 column */
    display: grid !important;
    width: 85% !important; /* Reduce width to add margin on left & right */
    max-width: 500px !important; /* Optional: Limit max width for better centering */
    margin: 0 auto !important; /* Centers the grid */
  }
}

/*..END EXTRA PORTFOLIO STUFF..*/



@media (max-width: 768px) {
	.tablinks {
	width:95%;
	padding: 2px;
	margin-right:2px;
	margin-left:2px;
	}

	}
	
	

	
/* SKILLS LABELS */	
/* Mobile and small tablet (767px and below) */
@media (max-width: 767px) {
  .skills-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);  /* 2 columns */
    gap: 12px;
    max-width: 330px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Tablet (768px and below) */
@media (max-width: 768px) {
  .skills-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);  /* 2 columns */
    gap: 12px;
    max-width: 330px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Desktop and larger screens (1025px and up) */
@media (min-width: 1025px) {
  .skills-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);  /* 3 columns */
    grid-template-rows: repeat(4, auto);    /* 4 rows for 12 items */
    gap: 15px;
    justify-items: center;
    margin-top: 40px;
    max-width: 800px;  /* Adjust for large screens */
    margin-left: auto;
    margin-right: auto;
  }
}