
/*M RAHMAN, TO, ON CA
April 03, 2026*/

  
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      -webkit-transition: all 0.5s ease-in-out;
      -o-transition: all 0.5s ease-in-out;
      transition: all 0.5s ease-in-out;
    }


    
:root {	
	--ff-primary: system-ui, -apple-system, BlinkMacSystemFont, "Segoe-ui", "Roboto", "Helvetica Neue", 
             "Noto Sans", "Liberation Sans", Arial, sans-serif;
	--ff-secondary: 'kalpurush';
	--ff-iconic: 'neuro-font';
	--fw-1: 400;
	--fw-2: 500;
	--fw-3: 600;
	--fw-4: 700;
	--clr-primary: #6b6c6d;
	--clr-light: #78797a;
	--clr-black: #5a5b5ed7;
	--clr-white: #ffffff;
	--clr-red:  rgb(255, 94, 0);
  --clr-orange: #fc7c14;
	--clr-maroon: #9ecdf825;	
	--clr-blue: #426de6;
	--clr-green:#039603;
	--clr-yellow: #ffff11;
	--clr-turquoise: #e9fbffbe;
	--clr-nav: #f9fbfc;
	--clr-bg:  #f5f5f5;
	--clr-footer: #d1f0fa;
	
}








html { 
	font-size:1.0125em;
	font-family: var(--ff-primary);
	font-weight: var(--fw-1);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  	scroll-behavior: smooth;
}

/* Smooth scroll behavior */
	@supports (scroll-behavior: smooth) {
  	html {
    scroll-behavior: smooth;
  }
}



    body {
      font-family: var(--ff-primary);
      background: #f5f5f5;
      height: 100vh;
      width: 100vw;
      overflow-x: hidden;
      overflow-y: auto;
      overflow-wrap: anywhere; 
      background: var(--clr-bg);
      text-rendering: optimizeSpeed;
      min-height: 100vh;
      min-height: 100dvh;
      width: 100%;
      overflow-x: hidden;
      overflow-y: scroll;
      hyphens: auto; 
      touch-action: manipulation;

    }

    /* SMALLER SCROLLBAR - thin and subtle */
    body::-webkit-scrollbar {
      width: 6px;
    }




    

/* THE MOST BASIC PRIMARY OUTLINE--------------------- */
.the-page-wrapper {
    width: 100%;
    margin:  0;
    padding:  0;
    background: var(--clr-bg);
}



.the-page-wrapper-intro {
    width: auto;
    margin: 0;
    padding-block-end: 7.5svh;
    background: var(--clr-bg);
    }


  
    


    

.the-main-wrapper {
  width: 100%;
  margin: 0;
  padding-block: 20.5svh;
  
}



.the-page-wrapper-table {
  width: 100%;
  margin: 0;
  padding-block: 10.5svh;
  background: var(--clr-bg);
  
}



.the-page-wrapper-footer {
        width: auto;
        margin: 0 0;
        padding-block: 10.5svh;
        background: var(--clr-footer);
        }



        


.the-page-container {
	width: min(60rem + 30vw, 100vw - 10.5vw);
	margin-inline: auto;

	}






  
  /*--header wrapper oct 05, 2024--*/
	header {
	background: var(--clr-bg);
	transition: background-color 0.3s ease;
    transition: transform 0.3s ease, opacity 0.3s ease;
	}

	.the-header-wrapper {
		height: auto;
		position: -webkit-sticky; /*--Safari--*/
		position: sticky;
		z-index: +555;
		top: 0;
		margin: 0;
		padding-block: 0.125rem;
		display: flow-root;
		
	}
	
/*--Header style when scrolled--*/
	header.not-display {
	background: var(--clr-bg);
  transform: translateY(-100%);
	opacity: 0;
  }
	
		
	.the-header-container {	
		margin: 0 0;
		padding-block: clamp(1.125rem, 1.25rem + 1.125vh, 2.125rem);
		display: grid;
		grid-auto-flow: column;
		justify-content: space-between;
		place-items: start;
		grid-gap: 2.5em;
		-webkit-transition: all 0.5s ease-in-out;
		-o-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
		}

	
		.the-header-container > * {
			width: auto;
			object-fit: cover;
		}



	/*--custom navbar menu-------may 2023--*/
	.the-header-container .navbar-items {
		display: grid;
		grid-auto-flow: column;
		justify-content: space-between;
		width: 100%;
	}

	.the-header-container .navbar-items ul li {
		list-style: none;
		outline: 0;	
	}
	
	.the-header-container .navbar-items ul {	
		display: grid;
		grid-auto-flow: column;
		grid-gap: 1.45rem;
		display: -moz-inline-stack;	
		justify-content: space-between;
		place-items: center;
		
		}
	
	.the-header-container .navbar-items li {
		padding: 0;
		border: 0;
		list-style: none;
		display: -moz-inline-stack;
		color: var(--clr-light);
	}
	
	.the-header-container .navbar-items li:hover {
	  transform: scale(1.0);
	  transition: all 0.3s ease-in-out;
	}
	
	 .the-header-container .navbar-items a {
		font-size: clamp(0.95rem, 0.20rem + 0.75vw, 1.08rem);
		color: var(--clr-blue);
		text-decoration: none;
	}
	
	
	
	
	.the-header-container .navbar-items a:hover,
	.the-header-container .navbar-items a:focus {
		text-decoration: none;
		color: var(--clr-light);
		}
	
	
	.navbar-items li:last-child::after {
			content: '';
			display: block;
			width: 100%;
			position: relative;
			height: 0.25rem;
			margin: 0;
			bottom: 1.95rem;
			background-color: var(--clr-light);
			transition: background ease-in-out 250ms linear;
			}
			
		.navbar-items li:nth-child(3):hover::after {
			background-color: var(--clr-blue);
			}	
	
/*--header-wrapper-ended-above--*/
	

#the-brand {
	font-weight: var(--fw-1);
	font-family: var(--ff-primary);
	font-size: clamp(1.275rem, 0.25rem + 1.5vw, 1.85rem);	
	margin: 0 0;
	padding: 0 0;
	display: grid;
	grid-auto-flow: column;
	grid-gap: clamp(0.0125rem, 0.255rem + 1.125vw, 1.125rem);
}

#the-brand a {
	color: var(--clr-light);
	text-decoration: none;
	text-transform: capitalize;
	}
	
#the-brand :is(i) {
	color: var(--clr-red);
	text-decoration: none;
	font-size: clamp(1.145rem, 0.35rem + 1.75vw, 1.345rem);
	border-right: 0.0035rem solid var(--clr-light);
	padding: 0.145rem 0;
	align-content: end;
	display: inline-block;
	transform: translateY(-5.75%);
	transition: transform 500ms ease;
}

#the-brand :is(i:hover, a:hover) {
	color: var(--clr-light);
	
	}


#contact,
#question {
  padding-block: 1.10rem;
}


#question {
  border-bottom: 0.01rem dotted var(--clr-blue);    
}

#contact a,
#question a {
  color: var(--clr-blue);
  text-decoration: none;
  font-weight: var(--fw-2);
}

#contact a:hover,
#question a:hover {
  color: var(--clr-light);
  }




  

/*-the side-navbar--overlay screen--*/
.the-sidenav {
	display: grid;
	grid: auto-flow / minmax(7.5vw, 1fr) minmax(35vw, 100%) minmax(7.5vw, 1fr);
	min-height: 85%;
	min-height: 85dvh;
	width: 0%;
	position: fixed;
	top: 0;
	right: 0;
	background: var(--clr-nav);
	overflow: hidden;
	transition: 0.5s ease-in-out;
	padding-block: 2.125rem;
	z-index: 999;
	justify-content: space-between;
	place-items: start;
	}

.the-sidenav > * {
	grid-column: 2 / 3;
	object-fit: cover;
	}
	
	

.the-sidenav .the-sidenav-header :is(h2) {
	font-size: clamp(1.25em, 2.125vw + 0.65rem, 2.65em);
	padding-block: 1.25rem;
	margin: 0 ;
	color: var(--clr-light);
    text-decoration: none;
}




.the-sidenav-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(12.5rem, 100%), 1fr));
	grid-gap: 2.5125rem;
	position: relative;
	width: 100%;	
	padding: 0;
	min-height: 55vh;
	min-height: 55svh;
	place-content: center;
	justify-content: end;
	}


.the-sidenav-container :is(ul, li) {
	list-style: none;
	text-decoration: none;	
	margin: 0;
	width: 100%;
	border: 0;
	outline: 0;
	text-align: right;
		
}


.the-sidenav-container :is(li) {
  width: 100%;
	font-size: clamp(1.05rem, 0.24rem + 0.65vw, 1.45rem);
	font-weight: var(--fw-1);
	line-height: 1.5;
	padding-block: 0.6rem;
	color: var(--clr-light);
  border-top: 0.010rem solid #848385;
}



/*--icons -navabr-menu & footer--*/
.the-sidenav-container :is(a > i) {
	display: inline; 
	display: -moz-inline-stack;
	zoom: 1;
	font-family: var(--ff-iconic);
	text-decoration: none;
	font-size: clamp(1.525rem, 0.55rem + 1.65vw, 2.7125rem);
	color: var(--clr-red);
	padding-block: 0.525em;
	margin: 1.125rem 0.75rem 1.125rem 0;
	border-right: 0.005em solid var(--clr-light);
}


.the-sidenav-container :is(a > i:hover) {
	color: var(--clr-light);
	transform: translateY(-6.75%);
	transition: transform 500ms ease;
}

/*--icons-navbar-& footer-end--*/




.the-sidenav  .closebtn {
  position: absolute;/*absolute/relative can be used*/  
  font-size: clamp(2.75rem, 2.25rem + 2.75vw, 5.5rem);
  font-weight: var(--fw-2);
  line-height: 1;
  padding: 2.25rem 0;
  text-decoration: none;
  color: var(--clr-black);
  top: 0;
  right: 0;
  z-index: 999;  
  }
  
  .the-sidenav  .closebtn::after {
  position: relative;/*absolute/relative can be used*/  
  font-size: clamp(2.75rem, 2.25rem + 2.75vw, 5.5rem);
  font-weight: var(--fw-2);
  content: " ";
  display: block;
  width: 3.99rem;
  height: 0.165rem;
  background-color: var(--clr-blue); 
  transform: rotate(180deg);
	margin-block: 1.85rem;
  }
  




/*--HEADER ENDED ABOVE--*/





.the-intro-container  {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(20.5rem, 100%), 1fr));
	grid-column-gap: 2.125rem;
	margin-block: 3.5svh;
	width: 100%;
	padding: 0;
	}


.the-main-container  {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(19.5rem, 100%), 1fr));
	grid-column-gap: 2.125rem;
	margin-block: 7.25svh;
	width: 100%;
	padding: 0;
	}


  
.the-table-container  {
	display: grid;
	grid-template-columns: 0.5fr 1.25fr 2fr;
	gap: 2.125rem;
	margin-block: 5.25svh;
	width: 100%;
	padding: 0;
	}

  .the-table-container  {
    width: 100%;
    object-fit: cover;
  }

  

/*--footer-Container-----*/
.the-footer-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(15.75rem, 100%), 1fr));
	width: 100%;
	gap: 2.5rem;
	margin: 0;
  padding-block: 10.5svh;
  opacity: 0.75;
}

 .the-footer-container > * {
    width: 100%;
    object-fit: cover;
    }




    
body :where(a, a:active) {
	color: var(--clr-blue);
	text-decoration: none;
	}
	
body :where(a:hover) {
	text-decoration: none;
	color: var(--clr-black);
}
	

body :where(ul, li) {
	width: 100%;
	list-style: none;
	border: 0;
	margin: 0;
}

body :where(li) {
	width: 100%;
	font-size: clamp(0.98rem, 0.75vw + 0.25rem, 1.6rem);
	font-weight: var(--fw-1);
	line-height: 1.5;
	padding: 0.6em 0;
	color: var(--clr-light);
	border-top: 0.010em dotted #858486;
}


* :is(p) {
	color: var(--clr-light);
	font-family: var(--ff-primary);
	font-size: clamp(1.05rem, 0.25rem + 0.65vw, 1.15rem);
	line-height: 1.5;
	padding-bottom: 2.65rem;
	word-spacing: 0.01em;
	letter-spacing: 0.01em;
	text-rendering: optimizeLegibility;
	}

	
.bangla {
	font-family: var(--ff-secondary);
	}



	
* :is(i) {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: wrap;
	text-decoration: none;
	font-family: var(--ff-iconic);
	font-size: clamp(1.95rem, 0.15rem + 2.25vw, 2.25rem);
	margin-right: 2.125vw;
	padding-block: 0.5rem;
	border-right: 0.015rem solid var(--clr-light);
	color: var(--clr-blue);
}

* :is(i:hover) {
	color: var(--clr-blue);
	-webkit-transform: translateY(-1.75rem);
	transform: translateY(-1.75rem);
	transition: transform 0.5s ease-out;
	
	}




  
h1, h2, h3, h4, h5 {
	text-align: left;
	line-height: 1.2;
	margin-bottom: 1.25rem;
	text-transform: normal;
	display: block;
	text-rendering: optimizeLegibility;
	color: var(--clr-light);
	font-weight: var(--fw-4);	
  }
  
  h1 {
	font-size: clamp(1.85rem, 0.25rem + 7.5vw,  2.85rem);	
	}
	
	span {
	color: var(--clr-blue);	
	}
	
	h2 {
	font-size: clamp(1.5rem, 0.125rem + 4.25vw, 2.25rem);
    
	}
	
	h3 {
	font-size: clamp(1.10rem, 1.05rem + 1.5vw, 2.5rem);
	
	}
	
	h4 {
	font-size: clamp(1.07rem, 0.95rem + 1.5vw, 1.25rem);
	letter-spacing: 0.01rem;
	}

	h5 {
	font-size: clamp(1.25rem, 0.75rem + 1.85vw, 1.5rem);
	letter-spacing: 0.01rem;
	color: var(--clr-light);
	}




img,
picture,
video {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1.25rem;
	display: block;	
  object-fit: cover; 
  object-position: center;
	margin-inline: auto;
	}
	
	img:hover,
  picture:hover,
  video:hover {
	transform: translateY(-6.75%);
	transition: transform 500ms ease;
	opacity: 0.7;
	}





  
/*--long arrow icon--*/
.long-arrow-right {
	display: inline-block;
	position: relative;
	width: 25px;
	height: 25px;
	border-top: 3px solid var(--clr-blue);
	border-left: 3px solid var(--clr-red);
	transform: rotate(+180deg); 
}



.long-arrow-right::before {
  content: "";
  display: block;
  width: 2.5px;
  height: 45px;
  background-color: var(--clr-light);
  transform: rotate(-45deg) translate(15px, 3px);  
}

.long-arrow-right:hover {
	transform: translateY(-6.75%);
	transition: transform 500ms ease;
	}
/*--long-arrow-right--*/






























    
    /*--SLIDER CSS BELOW--*/

    .the-slide-wrapper {
      width: 100%;
      margin-block: 0;
      padding-block: 0;
      place-self: center;
    }

    /* SPLIT LAYOUT: GRID — 2 columns, each 50% */
    .the-slide-container {
      display: grid;
      grid-template-columns: 20%  80%;
      width: 100%;
      height: 70%;
    }


  

    

   /* RIGHT PANEL - 50% - SLIDESHOW */
    .slideshow-panel {
      height: 100%;
      position: relative;
      overflow: hidden;
    }

    /* Carousel track - slides horizontally */
    .carousel-track {
      display: flex;
      height: 100%;
      width: 100%;
      will-change: transform;
     transition: transform 0.5s cubic-bezier(0.25, 0.9, 0.4, 1);
      cursor: grab;
    }

    .carousel-track:active {
      cursor: grabbing;
    }


     /* Each slide takes 50% width → exactly 2 cards visible */
    .slide {
      flex: 0 0 50%;
      height: 100%;      
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      padding: 0;  /* Small gap between slides */
	    aspect-ratio: auto;
    }

    /* Card styling - relative positioning for caption overlay */
    .card {
      position: relative;
      width: 100%;
      flex: 1;
      overflow: hidden;      
      cursor: pointer;
      transition: transform 0.3s ease;
      aspect-ratio: 4 / 3;
      
    }

    .card:hover {
      transform: scale(1.0);
    }



.card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
    aspect-ratio: 4 / 3;
    }

    .card:hover img {
      transform: scale(1.15);
    }



    /* TITLE BELOW CARD - always visible */
    .card-title-below {
	display: grid;
      padding-block: 2.5svh;
      padding-inline: 0;     
      margin-top: 0;     
      font-weight: 600;
      color: #1e293e;
      font-size: 1rem;
         }

    .card-title-below .title {
      font-size: clamp(1.1rem, 1.0125 + 2vw, 1.125rem);
      font-weight: 700;
      color: #1b6afd;
      margin-bottom: 4px;
    }

    .card-title-below .description {
      font-size: 0.8rem;
      color:  var(--clr-light);
      font-weight: 400;
    }

    .card-title-below .title:hover {         
      color: var(--clr-light);      
    }

    /* CAPTION OVERLAY - appears on hover */
    .card-caption {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to left, rgba(3, 4, 5, 0.85), rgba(4, 5, 6, 0.75), transparent);
      color: white;
      padding-inline: 5.25vw;
      padding-block: 2.5svh;
      transform: translateY(100%);
       transition: transform 0.35s cubic-bezier(0.2, 0.9, 0.4, 1.1);
	    display: grid;
	    width: 100%;
      justify-content: left; 
      
    }

    .card:hover .card-caption {
      transform: translateY(0);
    }

    .caption-title {
      font-size: 1.3rem;
      font-weight: 700;
      margin-bottom: 0.25rem;
      letter-spacing: -0.2px;
    }

    .caption-sub {
      font-size: 0.85rem;
      opacity: 0.85;
      font-weight: 400;
    }

    /* No navigation bars */
    .nav-dots, .arrows, .indicators {
      display: none;
    }

    /* ============================================ */
    /* MOBILE RESPONSIVE: SINGLE SLIDE (max-width: 48.125rem = 770px) */
    /* ============================================ */
    @media (max-width: 48.125rem) {
      .the-slide-container {
        grid-template-columns: 100%;
        height: auto;
      }
      
           
      /* SINGLE SLIDE ON MOBILE - each slide takes 100% width */
      .slide {
        flex: 0 0 100%;
        padding-block: 0;
      }      
      .slideshow-panel {
        height: auto;
        min-height: 400px;
      }

      .card-title-below {
        padding-inline: 5.25vw;
      }

     





  .the-header-container .navbar-items ul li {
	  display: none;
	  }

  
.the-table-container {
  grid-template-columns: 1fr;
}

      
/*--hamburger icons-APR TWENTY 24----TO CA--*/
#hamburger-icon {
	display: inline-block;
	cursor: pointer;
	justify-content: center;
	place-content: center;  
	}

.bar1, .bar2, .bar3 {
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;	
	height: 0.19rem;
	margin: 0.35rem 0;
	}

.bar1, .bar3 {width: 2.75rem; background-color: var(--clr-light);}	
.bar2 {width: 1.85rem;  background: var(--clr-red);}
/*--hamburger icons end here--*/



.blank{ display: none;}  
    }
/*Query end*/    
