


/* Monospace (clean, coding/table style) */
@font-face {
    font-family: 'AnonymousPro';
    src: url('fonts/AnonymousPro-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Serif (like Times New Roman style) */
@font-face {
    font-family: 'AveriaSerif';
    src: url('fonts/AveriaSerifLibre-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Math / technical font (optional) */
@font-face {
    font-family: 'LatinModernMath';
    src: url('fonts/latinmodern-math.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


:root {

  
    

    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #0BCEAF;
    

    --secondary: rgb(14, 128, 242);
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #ffffff;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;





    --shadow-light: 0px 0px 10px rgba(255, 255, 255, 0.6);
    --shadow-light-2: 0px 0px 2px rgba(255, 255, 255, 0.4);
    --shadow-light-3: 3px 3px 2px 0px rgba(255, 255, 255, 0.6);
    --shadow-dark: 2px 0px 5px 2px rgba(5, 30, 34, 0.6);
    --shadow-dark-2: 0px 0px 2px rgba(0, 0, 0, 0.4);
    --shadow-dark-3: 5px 4px 5px 0 rgba(0, 0, 50, 0.5);

    
    
    --container-3-side-margin: 2px;
    --container-3-verticle-margin: 2px;
    --container-3-side-padding: 1px;
    --container-3-vertical-padding: 1px;

    --mainframe1-side-padding: 5rem;

    

    --color-white-1: rgb(255, 255, 255);
    --color-black-1: rgb(0, 0, 0);
    
    --color-teal-2: rgb(2, 63, 63, .5);
    
    --color-gray: rgb(98, 137, 156);

        --fontsize-footer: .75rem;
        --fontsize-maelezo: .9rem;
    
        --fontsize-maelezo-2: 1.4rem;
        --fontsize-maelezo-3: 1.6rem;
        --fontsize-maelezo-super-small: .7rem;
        --fontsize-maelezo-small: .8rem;
        --fontsize-maelezo-medium: 1.2rem;
        --fontsize-maelezo-large: 1.5rem;
        --fontsize-maelezo-xl: 2rem;
        --fontsize-maelezo-xxl: 3rem;
        --fontsize-top-navbar: .75rem;

    

        --fontsize-maelezo: clamp(0.6rem, 1vw + 0.5rem, 1rem);
        --fontsize-maelezo-medium: clamp(0.7rem, 1vw + 0.5rem, 1.2rem);
        --fontsize-maelezo-large: clamp(.8rem, 1.5vw + 0.5rem, 1.5rem);
        --fontsize-maelezo-xl: clamp(.9rem, 2vw + 0.5rem, 2rem);
        --fontsize-maelezo-xxl: clamp(1.2rem, 3vw + 0.5rem, 3rem);




        --color-orange: rgb(249, 79, 50);
        --color-gray: rgba(97, 58, 2, 0.6);
        --color-teal: rgb(2, 63, 63);
        --color-white: rgb(255, 255, 255);
        --color-white-faint: rgba(255, 255, 255, 0.15);
        --color-white-very-faint: rgb(248, 230, 197, .1);
        --color-white-alpha: rgba(255, 255, 255, 0.25);   /* white with XX% opacity */
        --color-dark: rgb(17, 36, 46);
        --color-dark-faint: rgba(0, 0, 0, 0.3);
        --background-white-alpha: linear-gradient(135deg, hsl(199, 17%, 70%), rgb(243, 245, 245), rgb(226, 226, 226, 0.5));
        --background-dark-alpha: linear-gradient(135deg, #071e28, #010f12, #2c5d72);

        --background-body: linear-gradient(135deg, #036d7b, #2f726e, #9b634e); 
        
        --background-btn: linear-gradient(180deg, #ce7405, #393501, #131001); 

        --bg-pupple: linear-gradient(135deg, #ad5389, #3c1053);
        --bg-green-yellow: linear-gradient(135deg, #188587, #5b420d);
        --bg-blue-pupple: linear-gradient(135deg, #42698b, #5d1d29);
        --bg-gray-green: linear-gradient(135deg, #5d5964, #0aa1a9);
        --bg-orange-yellow: linear-gradient(135deg, #5d221b, #70500c);
        --bg-gray: linear-gradient(135deg, #dedddd, #6a6a69);
        --bg-whitish: linear-gradient(135deg, #fdfafa, #f7f7f5);
        --bg-blackish: linear-gradient(135deg, #0a2231, #06141f);




        --container-1-side-padding:50px;
        --container-1-side-margin: 50px;

        --container-2-side-padding: 8px;
        --container-2-vertical-padding: 8px;
        --container-2-side-margin: 0px;
        --container-2-verticle-margin: 2px;
        --general-container-padding: 4px;


    


        --fontsize-small: .8rem;
        --fontsize-maelezo: 1rem;
        --fontsize-S: 1rem;
        --fontsize-M: 1.3rem;
        --fontsize-L: 1.6rem;
        --fontsize-large: 2rem;
        --fontsize-larger: 2.5rem;
        --fontsize-XL: 3rem;
        --fontsize-XXL: 4rem;


        ---off-on-sun: inline-flex;
        ---off-on-moon: none;
        --rotation-variable-sun: rotate(0deg) scale(1);
        --rotation-variable-smoon: rotate(90deg) scale(0.8);
        --opacity-sun: 1;
        --opacity-moon: 0;

        --radial-dark: rgba(13, 14, 13, 0.4);
        --radial-light: rgba(255, 255, 255, 0.2); /* use 255 instead of 256 */
        --radial-size: 3.5px 3.5px;

        --font-family-1: 'LatinModernMath', monospace;
        --font-family-1: 'AnonymousPro', monospace;
        --font-family-1: 'AveriaSerif', "Times New Roman", serif;
        
        

    





    
}

@media screen and (max-width: 2220px) {
    :root {
    --container-1-side-padding: clamp(1px, 15vw, 100px);
    --container-1-side-margin: clamp(1px, 15vw, 100px);
}
}

@media screen and (max-width: 1500px) {
    :root {
    --container-1-side-padding: clamp(1px, 5vw, 100px);
    --container-1-side-margin: clamp(1px, 5vw, 100px);




}
}
@media screen and (max-width: 992px) {
    .about-container {
    grid-template-columns: 1fr;
    }

    .bio-summary-box,
.physical-contact-box {
    grid-template-columns: repeat(2, 1fr) !important;
    }

    :root {
    --container-1-side-padding: clamp(1px, 2vw, 50px);
    --container-1-side-margin: clamp(1px, 2vw, 50px);
}

}

@media screen and (max-width: 716px) {
    
    .bio-summary-box,
.physical-contact-box,
.container-lenye-video-top {
    grid-template-columns: 1fr !important;
    }

    :root {
        --container-1-side-padding: clamp(1px, 1vw, 50px);
        --container-1-side-margin: clamp(1px, 1vw, 50px);
    }


}





body {

    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background:linear-gradient(135deg, rgb(30, 30, 30), rgb(36, 38, 38), rgba(70, 78, 80, 0.774));
    background-size: 1px 1px, cover; /* dots size, gradient full cover */
    background-attachment: fixed;
    background-position: 0 0, center top;
    background-repeat: repeat, no-repeat;
    font-family: var(--font-family-1); 

}

.container-one{
    width: 100%; 
    height: 100%; 
    padding: 5px; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    overflow: hidden;
    
} 

.contain-app {
    margin: 0 clamp(1px, 2vw, 50px);
    padding: 10px clamp(1px, 2vw, 50px);
    border-left: .5px solid var(--color-white-faint);
    border-right: .5px solid var(--color-dark-faint);
    display: flex;
    height: 100%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.1);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: margin 0.6s ease-in-out;
}


.contain-app{
    width:100%;
    padding-right:var(--bs-gutter-x, .75rem);
    padding-left:var(--bs-gutter-x, .75rem);
    margin-right:auto;
    margin-left:auto
}
@media (min-width: 576px){
    .contain-app{
        max-width:540px
    }
}
@media (min-width: 768px){
    .contain-app{
        max-width:760px
    }
}
@media (min-width: 992px){
    .contain-app{
        max-width:980px
    }
}
@media (min-width: 1200px){
    .contain-app{
        max-width:1140px
    }
}
@media (min-width: 1400px){
    .contain-app{
        max-width:1920px
    }
}











.container2,
.container3 {
    width: 100%;
    margin: 0 var(--container-2-side-margin);
    padding: var(--container-2-vertical-padding) var(--container-2-side-padding);
    box-shadow: var(--shadow-dark-2);
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    border: 0.5px solid var(--color-dark-faint);
    border-left: 0.5px solid var(--color-white-faint);
    border-top: 0.5px solid var(--color-white-faint);
    min-height: 0;
}

.container2 {
    height: auto;
    flex: 0 0 auto;
}

.container3 {
    flex: 1 1 auto;
    overflow: hidden;
}








.container-1 {
    margin: 0  var(--container-1-side-margin);
    padding: 0  var(--container-1-side-padding);
    border-left: 0.5px solid var(--color-white-faint);
    border-right: 0.5px solid var(--color-dark-faint);
    display: flex;
    flex-direction: column;
    justify-content: center; 
    align-items: center; 
    background-image:
        radial-gradient(
        /*circle at center,*/
        circle,
        var(--radial-dark),
        rgba(255,255,255,0.08) 0.35px,
        transparent 0.5px,
        transparent 80%
        ),
        var(--background-body);
    background-size: 5px 5px, cover; /* dots size, gradient full cover */
    background-attachment: fixed;
    background-position: 0 0, center top;
    background-repeat: repeat, no-repeat; 
    transition: margin 0.6s ease-in-out, padding 0.6s ease-in-out; 
    box-sizing: border-box;
}


.container-convex{
  border: 0.5px solid var(--color-white-faint);
  border-radius: 0px;
  padding: var(--general-container-padding);
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  box-sizing: border-box; 
 
}

.container-concave {
  border-top: 1px solid rgba(255, 255, 255, 0.2);  
  border-left: 2px solid rgba(255, 255, 255, 0.2); 
  border-bottom: 2px solid rgba(0, 0, 0, 0.4);      
  border-right: 2px solid rgba(0, 0, 0, 0.4);      
  padding: var(--general-container-padding);
  margin: 2px 0;
  background: var(--color-dark-faint);            
  transition: all 0.3s ease; 
  position: relative; 
  width: 100%;
  display: flex;                      
  align-items: center;
  justify-content: center;
}

.container-3 {
  width: 100%;
  margin:2px;
  padding: 2px;
  border-radius: 0px;
  border: 0.25px solid rgb(247, 244, 237, 0.2);
  box-sizing: border-box; 
  position: relative;  
  display: flex; 
  flex-direction: column; 
  align-items: center;
  justify-content: center;
}

.container-grid-1{
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  /*grid-template-columns: 2fr 1fr 1fr;*/
  gap: var(--general-container-padding);
  width: 100%;
  min-height: calc(100vh - 300px); 
  margin: 0;
  padding: var(--general-container-padding);
  border-top: 1px solid rgba(255, 255, 255, 0.2);  
  border-left: 2px solid rgba(255, 255, 255, 0.2); 
  border-bottom: 2px solid rgba(0, 0, 0, 0.4);      
  border-right: 2px solid rgba(0, 0, 0, 0.4);      
  padding: var(--general-container-padding);
  background: var(--color-dark-faint);            
  transition: all 0.3s ease; 
  position: relative; 
  box-sizing: border-box; 
}

@media screen and (max-width: 600px) {
  .container-grid-1 {
    grid-template-columns: 1fr;
  }
}


.counting-col-1 {
 
  border: .2px solid var(--color-white-faint);
  position: relative;
  width: 100%; 
  height: 100%;
  align-items: center; 
  justify-content: center;
  padding: var(--general-container-padding);
  margin: 0; 
  box-sizing: border-box;
  word-wrap: break-word; 
  overflow: hidden; 
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.counting-box-2 {
  display: flex;
  flex-direction: column;                      
  align-items: center;
  justify-content: center;
  margin: 0; 
  padding: var(--general-container-padding); 
  border: 0.5px solid var(--color-white-faint); 
  height: 100%; 
  width: 100%;
  box-sizing: border-box;
  font-family: var(--font-family-1);

}











.btn-1-box{
  margin: 10px auto;
  display: flex; 
  flex-direction: column;
  align-items: center; 
  justify-content: center;

}

.header-container{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); 
    gap: calc(1.0*var(--container-2-side-padding));
    width: 100%;
    margin: 0;
    padding: 4px; 
    border: 0.5px solid var(--color-white-faint); 
    box-sizing: border-box;
    
}
.header-container-col{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0px;
  width: 100%;
}

@media screen and  (max-width: 1000px) {
    .header-container{
        grid-template-columns: minmax(0, 1fr);
    }
}


#namesContainer {
    background: rgb(255, 255, 255);
    padding: 5px;
    width: 100%;
    min-height: 500px;
    display: flex;
    height: auto;
    box-sizing: border-box;
}

.table-wrapper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 90vh;
    min-height: 400px;
    overflow-x: auto;  
    overflow-y: auto;
    
}

.data-table {
    width: max-content;   /* allow natural expansion */
    min-width: 100%;      /* still fills small screens */
    border-collapse: separate;
    border-spacing: 1px;
}

/* General cell behavior */

.data-table thead th {
    background: #383737;
    color: #fff;
    padding: 2px 5px;
    text-align: center;
    font-family: var(--font-family-1);
    font-size: 0.8rem; 
    font-weight: 400;
    position: sticky;
    top: 0;
    z-index: 1;
    white-space: normal;
    text-align: center;
    vertical-align: middle;
    word-break: break-word;
    border: 0.2px solid rgba(0, 0, 0, 0.3);
}

.data-table td {
    padding: 2px 4px;
    border: 0.2px solid rgba(0, 0, 0, 0.3);
    font-family: var(--font-family-1);
    font-size: 0.8rem; 
    font-weight: 400;
    color: rgb(0, 0, 0);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    vertical-align: middle;
    
}

.data-table th:nth-child(1),
.data-table td:nth-child(1) {
    position: sticky;
    left: 1px;
    z-index: 1;
    background: rgb(239, 239, 239);
    width: 30px;
    min-width: 30px;
    padding: 2px;

}
.data-table th:nth-child(2),
.data-table td:nth-child(2) {
    position: sticky;
    left: 32px; /* width of column 1 + gap*/
    z-index: 1;
    background: rgb(239, 239, 239);
    text-align: left;
}

 
.data-table td:nth-child(3) {
    background: rgb(229, 252, 242);
}

.data-table td:nth-child(2) {
    text-align: left;
}

.data-table thead th:nth-child(1),
.data-table thead th:nth-child(2)  {
    z-index: 2; /* header + column intersection */
    background: #383737;
}

/* second column = id or next */
.data-table th:nth-child(2),
.data-table td:nth-child(2) {
    width: 150px;
    min-width: 150px;
}

/* MIDDLE COLUMNS (everything except last) */
.data-table th:not(:first-child):not(:last-child):not(:nth-child(2)),
.data-table td:not(:first-child):not(:last-child):not(:nth-child(2)) {
    width: 120px;
    min-width: 120px;
}

/* LAST COLUMN (AUTO GROW) */
.data-table th:last-child,
.data-table td:last-child {
    width: auto;
    min-width: 100px;
}

.data-table tbody tr:last-child td {
    font-weight: 500;
    background: rgb(247, 223, 223);
}



.table-row:hover,
.table-row:hover td:nth-child(1),
.table-row:hover td:nth-child(2),
.table-row:hover td:nth-child(3),
.data-table tbody tr:last-child:hover td {
    background: #a3fbf5;
}

#importBtn{
    opacity: 0.05;
}


.btn-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 4px;
    width: 100%;
    height: 100%;
    border: 0.5px solid rgba(255, 255, 255, 0.5);
    box-sizing: border-box;
}
.h2-1{
    padding: 4px;
    margin: 4px 0;
    font-family: var(--font-family-1);
    font-size: 1.2rem; 
    font-weight: 600;
    color: rgb(1, 46, 38);
    text-shadow: none;
    text-align: center;
    width: 100%;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.4);
}
.select-container{
    background: rgb(255, 255, 255);
    width: 100%;
    box-sizing: border-box;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: rgb(0, 0, 0);
    margin: 5px 0;
    padding: 6px;
    font-family: var(--font-family-1);
    font-size: 0.9rem; 
}
.select-container select{
    background: white;
    width: 100%;
    height: auto;
    min-height: 30px;
    border: 0.5px solid rgb(0, 0, 0);
    border-radius: 0;
    padding: 5px; 
    font-family: var(--font-family-1);
    font-size: 0.8rem; 
}
.select-container select option{
    
    font-family: var(--font-family-1);
    font-size: 0.8rem; 
}

.select-container label{
    width: 100%;
    height: auto;
    border-radius: 0;
    padding: 5px;
}




/*=========== Gallery=====================*/
.gallery-container1{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 200px;
    margin: 0;
    padding: 8px; 
    border: 0.5px solid var(--color-white-faint); 
    box-sizing: border-box;
}
.gallery-container2{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    min-height: 200px;
    margin: 0;
    padding: 4px; 
    border: 0.5px solid var(--color-white-faint); 
    box-sizing: border-box;
}
.main-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 5px auto;
   
}
.main-title h1 {
    position: relative;
    font-size: var(--fontsize-S);
    color: white;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1) ;
    width: 50%;
    height: 100%;
    padding: 10px;      
    margin: 0;
    font-family: var(--font-family-1);
    border: 0.5px solid rgba(255, 255, 255, 0.7);
    /*background: linear-gradient(135deg, rgba(202, 191, 204, 0.6),  rgba(222, 239, 241, 1), rgba(255, 255, 255, 0.5));*/
    border-radius: 0px;
    text-align: center;
}
.main-title h1::before {
    position: absolute;
    content: "";
    width:100%;
    height: 100%;
    left: 5%;
    bottom: 5px;
    border: 1px solid rgba(244, 65, 5, 0.7);
}

.main-title h1::after {
    position: absolute;
    content: "";
    width:100%;
    height: 100%;
    left: -5%;
    top: 5px;
    border: 1px solid rgba(0, 0, 0, 0.7);
}

@media (max-width: 500px) {
    .main-title h1 {
        
        width: 80%;
       
    }

}


.after-main-title{
    padding: 4px 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}


.gallery-container {
    column-count: 4;
    column-gap: 12px;
}

/* Control item sizing like masonry feel */
.gallery-item {
    flex-grow: 1;
    flex-basis: 250px;   /* base column width */
    max-width: 100%;
    break-inside: avoid;
    margin-bottom: 12px;
}

.gallery-item img {
    width: 100%;
    max-width:550px;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Optional hover effect */
.gallery-container img:hover {
    transform: scale(1.03);
    transition: 0.3s ease;
}

@media (max-width: 1200px) {
    .gallery-container { column-count: 3; }
}

@media (max-width: 768px) {
    .gallery-container { column-count: 2; }
}

@media (max-width: 480px) {
    .gallery-container { column-count: 1; }
}

/*======Btn===============*/


.btn-common {
    font-family: var(--font-family-1);
    font-size: 0.9rem;
    font-weight: 400;
    padding: 8px 20px;
    color: rgb(255, 255, 255);
    text-shadow: 0.5px 0.5px 1px rgb(10, 10, 10);
    border-radius: 0;
    border: 1px solid var(--color-white);
    width: auto;
    min-width: 25%;
    margin: 5px auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    box-shadow: 0.5px 0.5px 2px rgba(0, 0, 0, 0.5);
    background: radial-gradient(circle at center, rgba(36, 36, 36, 0.9) 0%, rgba(5, 5, 8, 0.85) 100%);
    user-select: none; 
    caret-color: transparent;
    outline: none;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    
}


.btn-common:hover{
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.9) 0%, rgba(193, 193, 205, 0.85) 100%);
    color: rgb(0, 0, 0);
    transform: scale(0.98);
    border-color: rgb(0, 0, 0);
}


.btn-common i{
    padding: 0;
    margin: 0;
    font-size: 1rem;
    display: inline-block; 
    transition: all 0.2s ease;
    animation: bounce-left-right 2s ease-in-out infinite;
    animation-direction: alternate;
}

@keyframes bounce-left-right {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(5px); /* move right */
    }
    100% {
        transform: translateX(0);
    }
}



#contact-overlay,
#loginOverlay,
#signupOverlay,
#anyMalyuTrixOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, rgba(75,75,75,0.85) 0%, rgba(14,14,19,0.9) 100%);
    z-index: 1000;
    flex-direction: column;
    align-items: center;       
    justify-content: center;   
    padding: 10px;
    gap: 0;
    box-sizing: border-box;
    
}
#loginForm, 
#signupForm,
#MalyuTrixForm,
#MalyuTrixUploadForm,
.nonMemberDashboard {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    align-items: center;       
    justify-content: center;   
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
    gap: 10px;
}

.nonMemberDashboard,
#MalyuTrixForm,
#MalyuTrixUploadForm {
    display: none;
}


#loginForm input, 
#signupForm input,
#MalyuTrixForm input,
#MalyuTrixUploadForm  input[type="text"] {
    width: 85%;
    height: 35px;  
    padding: 5px 10px;
    margin: 0;
    box-sizing: border-box;
    border: 0.5px solid black;
    border-radius: 0;
    font-family: var(--font-family-1);
    font-size: 0.9rem;
    background: rgb(255, 255, 255);
    color: rgb(0, 0, 0);
    
}

#loginForm input::placeholder,
#signupForm input::placeholder,
#MalyuTrixForm input::placeholder,
#MalyuTrixUploadForm input[type="text"]::placeholder,
#MalyuTrixUploadForm textarea::placeholder {

    font-family: var(--font-family-1);
    font-size: 0.85rem;
    color: rgb(155, 154, 154);
    opacity: 1;

}

#MalyuTrixUploadForm  textarea {
    width: 85%;
    max-height: 800px;
    overflow-y: auto;
    resize: vertical; /* allows height resize only */  
    padding: 5px 10px;
    margin: 0;
    box-sizing: border-box;
    border: 0.5px solid black;
    border-radius: 0;
    border-radius: 0;
    font-family: var(--font-family-1);
    font-size: 0.9rem;
    color: rgb(0, 0, 0); 
    background: rgb(255, 255, 255);
}

.checkbox-label {
    width: 100%;
    display: inline-flex; 
    align-items: center;
    justify-content: center;
    padding: 5px;
    margin: 0;
    box-sizing: border-box;
    font-family: var(--font-family-1);
    font-size: 0.9rem;
    color: black;
    gap: 15px;
    border-top: 0.5px solid rgba(0, 0, 0, 0.5);
}
.checkbox-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;

    width: 18px;
    height: 18px;
    padding: 0;

    background-color: rgb(255, 255, 255);
    border: 1px solid black;

    cursor: pointer;
    position: relative;
}

/* checked state */
.checkbox-label input[type="checkbox"]:checked::after {
    content: "✔";
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: none;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 14px;
    background-color: rgb(23, 77, 185);
    color: rgb(255, 255, 255);
}

#closeLoginOverlayBtn,
#closeSignupOverlayBtn{
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 20px;
    border: none;
    border-radius: 0;
    cursor: pointer;
}

/* wrapper keeps content centered and prevents jump */
#contact-message-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgb(178,220,187);
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    width: 80%;
    max-width: 700px;
    min-height: 250px;
    box-sizing: border-box;
}

/* message text */
#contact-message {
    margin-bottom: 20px; /* space between message and button */
    word-wrap: break-word;
    width: 100%;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    color: black;
}

#contact-overlay button{
    height: 40px;
    min-width: unset;
    width: 80px;
    margin: 5px 0;
    padding: 0;
}

#memberDashboard,
.memberDashboard2{
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    height: 100%;
    padding: 5px;
    margin: 0;
    box-sizing: border-box;
    border: 0.5px solid rgba(255, 255, 255, 0.4);
}

        .img-name-container,
        .internal-external-projects-container,
        .internal-external-projects-box{
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 45px;
            padding: 8px;
            gap: 8px;
            margin: 2px 0;
            box-sizing: border-box;
            border: 0.5px solid  rgba(255, 255, 255, 0.2);
        }
        .internal-external-projects-container,
        .internal-external-projects-box{
            flex-direction: column;
            justify-content: flex-start;
        }
        .internal-external-projects-box{
            max-height: 900px;
            overflow-y: auto;
            background: rgba(0, 0, 0, 0.3);
        }
        
        .member-account-img-box  {
            position: relative;
            display: flex;
            width:40px ;       
            height: 40px; 
            align-items: center;
            justify-content: center;
            flex-direction: column; 
            margin: 0;
            padding: 0; 
            box-sizing: border-box;
        }
        
        .member-img,
        .hex-bg-1,
        .hex-bg-2{
            position: relative;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            justify-content: center;
            clip-path: polygon(
                50% 0%,      /* top center */
                100% 20%,    /* top-right */
                100% 80%,    /* bottom-right */
                50% 100%,    /* bottom center */
                0% 80%,      /* bottom-left */
                0% 20%       /* top-left */
            );
            
            z-index: 2;
            padding: 0;
            transition: all 0.3s ease-in-out;
        }
        
        .hex-bg-1 {
            position: absolute;
            top: -6%;
            left: -5%;
            background: rgb(0, 0, 0);
            z-index: 1;
            transform: rotate(0deg); 
        }
        .hex-bg-2 {
            position: absolute;
            top: 6%;
            left: 5%;
            background: rgb(255, 255, 255);
            z-index: 1.5;
            transform: rotate(0deg); 
        }

        .member-img img {
            position: relative;
            display: flex;
            width: 100%;
            height:100%;
            object-fit: cover;
            margin: 0; 
            padding: 0;   
        }

                
        .expandable-box{
            box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4);
            background: rgba(166, 166, 166, 0.2);
            display: flex;
            width: 100%;
            position: relative;
            box-sizing: border-box;
            height: auto;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            margin: 5px 0;
            padding: 2px;
            z-index: 1;
            gap: 0;
            transition: all 0.5s ease;
            
        }

        .expandable-box.active{
            padding: 3px;
        }

        .title-expandable-box{
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            margin: 0;
            padding: 10px 12px;
            gap: 10px;
            cursor: pointer;
            user-select: none;
            background: rgba(0, 0, 0, 0.2);
            box-sizing: border-box;
            transition: all 0.5s ease;
        }

        .title-expandable-box h4 {
            margin: 0;
            padding: 0;
            color: var(--color-white);
            font-size: var(--fontsize-S); 
            text-align: left; 
            font-family: var(--font-family-1);
            font-weight: 400;
            text-shadow: 0.5px 1px 2px rgb(0, 0, 0);
                
        }
        
        .expandable-box.active{
            gap: 3px;
        }

        .expandable-box.active .title-expandable-box{
            background: var(--color-white);
            padding: 12px 15px;
            border: 0.5px solid rgba(0, 0, 0, 0.4);
        }

        .expandable-box.active .title-expandable-box h4{
            color: rgb(42, 0, 50);
            text-shadow: none;
        }


        .expanded-content{
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            max-height: 0;
            overflow: hidden;
            padding: 0 0;
            margin: 0;
            width: 100%;
            background: rgba(255, 255, 255, 0.4);
            border: 0.5px solid rgba(0, 0, 0, 0.4);
            transition: max-height 0.5s ease, padding 0.4s ease;
        }

        .project-item{
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 5px;
            margin: 0;
            margin-bottom: 4px;
            width: 100%;
            border: 0.5px solid rgba(255, 255, 255, 0.4);
            box-sizing: border-box;
            gap: 3px;

            user-select: none; 
            caret-color: transparent;
            outline: none;
            box-sizing: border-box;
            background: rgba(255,255,255,0.02);
            border-radius: 8px;
            transition:
                border-color 0.3s ease,
                transform 0.3s ease,
                box-shadow 0.3s ease,
                background 0.3s ease;
        }

        .project-item:hover{
            box-shadow: 2px 2px 8px rgba(4, 5, 5, 0.6);

            border-color:
                rgba(255,255,255,0.35);

            transform:
                translateY(-2px);

       
            /*
            background:
                radial-gradient(
                    circle at center,
                    rgba(10, 10, 14, 0.5) 0%,
                    rgba(142, 142, 154, 0.5) 100%
                );*/
            background:
                linear-gradient(
                    135deg,
                    rgba(255,255,255,0.10),
                    rgba(255,255,255,0.04)
                );

            border-color: transparent;
        }


        .project-item .btn-common{
            font-size: 0.7rem;
            padding: 5px 8px;
            font-weight: 200;
        }


        .h1-2{
            width: 100%;
            font-family: var(--font-family-1);
            font-size: 1rem;
            font-weight: 500;
            color: rgb(3, 19, 99);
            text-align: center;
            padding: 2px;
            margin: 2px 0;
        }
        .p1-1, .p1-2, .p2-1, .p2-2{
            width: 100%;
            font-family: var(--font-family-1);
            font-size: 0.9rem;
            font-weight: 400;
            color: rgb(1, 32, 32);
            padding: 2px 0px;
            margin: 2px 0;
            box-sizing: border-box;
        }
        .p1-2{
            font-size: 0.7rem;
        }
        .p2-1{
            font-size: 0.8rem;
            color: rgb(255, 255, 255);
            text-align: left;
            padding: 2px 10px;
        }
        .p2-2{
            font-size: 0.7rem;
            color: rgb(255, 255, 255);
            text-align: center;
            padding: 1px;
            margin: 0;
        }

        
    /* ===============Passing Text================ */
    .flexContainer-row1,
    .memberDashboard-row {
        position: relative;
        width: 100%;
        min-height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 5px;
        margin: 0;
        border: 0.5px solid rgba(255, 255, 255, 0.4);
    }






    
.overflow-box-1{
  border: 0.5px solid rgba(255, 255, 255, 0.3);
  border-radius: 0px;
  padding: var(--general-container-padding);
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: auto;
  text-align: center;
  box-sizing: border-box; 

}
   

   

.expandableCont{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 2px;
    margin: 8px 0;
    box-sizing: border-box;
    gap: 0;

    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            rgba(19, 19, 21, 0.96),
            rgba(20, 20, 39, 0.98)
        );

    backdrop-filter: blur(12px);

    box-shadow:
        0 4px 20px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.04);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease,
        padding 0.35s ease,
        background 0.35s ease,
        gap 0.35s ease;

    position: relative;
    
}

.expandableCont.active{
    padding: 10px;
    gap: 10px;
}



/* HOVER */
.expandableCont:hover{

    transform: translateY(-3px);

    border-color: rgba(120,170,255,0.35);

    background:
        linear-gradient(
            145deg,
            rgba(30,30,38,1),
            rgba(12,12,18,1)
        );

    box-shadow:
        0 10px 35px rgba(0,0,0,0.55),
        0 0 18px rgba(90,140,255,0.12),
        inset 0 1px 0 rgba(255,255,255,0.06);
}

 .expandableCont-header{
        padding: 5px 8px;
        margin: 0;
        cursor: pointer;
        user-select: none;
        box-sizing: border-box;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        border: 1px solid rgba(255, 255, 255, 0.041);
        border-radius: 10px;
    }

    .expandableCont.active .expandableCont-header{
        background: rgb(211, 255, 249);
    }
    .expandableCont.active .expandableCont-header p{
        color: rgb(0, 0, 0);
    }

    .expandableCont-content{
        max-height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        box-sizing: border-box;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        transition: max-height 0.4s ease, margin-top 0.4s ease;
    }

  
    








.header-container-app{
  display: grid;
  grid-template-columns: 1fr 6fr;
  gap: calc(1.0*var(--container-2-side-padding));
  width: 100%;
  height: calc(100vh - 80px);
  margin: 0;
  padding: 4px; 
  box-sizing: border-box;
  border: .2px solid var(--color-white-faint);
  min-height: 0;
  align-items: stretch;
}

.column-1-1,
.column-1-2 {
  border: 0.2px solid var(--color-white);
  position: relative;
  width: 100%;
  height: 100%;
  align-items: stretch;        /* <- was center */
  justify-content: flex-start; /* <- was center */
  padding: var(--general-container-padding);
  margin: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  min-height: 0;
  background: rgba(24, 24, 24, 0.5);
}
.column-1-2 {
  overflow: hidden;
}


.btn-to-openSideBar{
    display: none;
    width: 30px;
    height: 100%;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background: rgb(32, 32, 32);
}


.btn-to-openSideBar span{
    transform: rotate(90deg);
    display: inline-block;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    font-size: 14px;
    color: white;
    
}
@media screen and (max-width: 780px) {

    .header-container-app {
        grid-template-columns: 1fr;
    }

    .column-1-1 {
        height: 80vh;
        position: fixed;
        top: 5px;
        left: -100%;
        width: 300px; /* optional */
        display: flex;
        flex-direction: column;
        background: rgb(28, 28, 28);

        transition: left 0.3s ease;
        z-index: 99;
    }

    .column-1-1.active-sidebar {
        left: 0;
        
    }

    .btn-to-openSideBar{
        display: flex;
    }
}









.tab-header {
  display: flex;
  border: 0.0px solid var(--color-white);
  height: auto;
}

.tab-button {
      padding: 5px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      border: none;
      outline: none;
      box-sizing: border-box;
      width: auto;
      max-width: 400px;
      margin: 0 ; 
      background: rgba(94, 94, 94, 0.79);
      border-right: .5px solid var(--color-dark);
      color: var(--color-white);
      font-size: 0.8rem;
      font-family: var(--font-family-1);
      font-weight: 400;
      transition: all 0.2s ease-in-out;
}

.tab-button.active {
      background: var(--color-white);
      color: var(--color-dark);
      font-weight: 500;
      
}

.tab-container {
  border: 0.0px solid var(--color-white);
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden; 
}


.tab-content {
  position: absolute;
  inset: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;
  
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.2s ease,
    visibility 0.2s ease;

  overflow: hidden;
}

/* Active tab */
.tab-content.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}






#main-model-div,
#main-Results-div,
.btn-table-container,
.container-mainModel {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 1px;
  margin: 0;
  border-radius: 0;
  display: flex !important;
  flex-direction: column;                      
  align-items: center;
  justify-content: flex-start;
  overflow: auto; 
  background: rgba(255, 255, 255, 0.505);
  transition: top 0.3s ease, left 0.3s ease, transform 0.3s ease, opacity 0.3s ease-in-out;
}










    .passing-text-container {
        position: relative;
        width: 100%;
        height: 100%;

        overflow: hidden;
        white-space: nowrap;

        padding: 5px 0;

        background: rgba(17, 17, 17, 0.886);
        min-height: 35px;

        display: flex;
        align-items: center;
    }

    /* Moving text */
    .passing-text {
        display: inline-block;

        flex-shrink: 0;
        min-width: max-content;

        color: #fff;

        font-family: var(--font-family-1);
        font-size: var(--fontsize-small);
        font-weight: 200;
        letter-spacing: 1px;

        will-change: transform;

        animation: marqueeLeft 40s linear infinite;
    }

    /* Continuous smooth movement */
    @keyframes marqueeLeft {

        /* fully outside right */
        0% {
            transform: translateX(100vw);
        }

        /* fully outside left */
        100% {
            transform: translateX(-100%);
        }
    }




    /*---------Buttons---------------------*/
    .btn-app {
        /* Layout */
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: auto;
        padding: 4px 6px;
        margin: 4px auto;

        /* Typography */
        font-family: var(--font-family-1);
        font-size: 0.8rem;
        font-weight: 400;
        color: var(--color-white);

        background: linear-gradient(
            135deg,
            rgb(0, 0, 0),
            rgb(33, 33, 33),
            rgba(64, 64, 64, 0.997)
        );
        
        backdrop-filter: blur(20px) saturate(180%);
        -webkit-backdrop-filter: blur(18px) saturate(160%);

        border-radius: 0px;
        border: 0.5px solid white;
        /*
        border-top: 1px solid rgba(255, 255, 255, 0.2);  
        border-left: 1px solid rgba(255, 255, 255, 0.2); 
        border-bottom: 1px solid rgba(0, 0, 0, 0.4);      
        border-right: 1px solid rgba(0, 0, 0, 0.4);*/

        /* iOS soft depth */
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.6),
            inset 0 -2px 6px rgba(0, 0, 0, 0.2),
            0 8px 20px rgba(0, 0, 0, 0.25);

        transition: all 0.2s ease;
        position: relative;
    }


    .btn-app:hover {
        color: var(--color-dark);
        border-color: rgb(0, 0, 0);
        /*box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.3), inset -2px -2px 4px rgba(255, 255, 255, 0.6), 1px 1px 2px 1px rgba(252, 251, 251, 0.35);*/
        background: var(--color-white);
        text-decoration: none;
        /*transform: translateY(-2px);
        transform: scaleX(1.05); 
        transform: scaleY(1.05); */
        transform: scale(0.99, 0.99);
        
    }

    .btn-app::before {
        content: "";
        position: absolute;
        top: 0; 
        left: 0;
        width: 100%; 
        height: 100%;
        background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(5, 55, 62, 0.382), transparent 30%);
        pointer-events: none; /* let clicks go through */
        opacity: 0.6;
        transition: all 0.2s ease;
    }

    .btn-app:focus,
    .btn-app:active {
        
        transform: scale(0.97);
        box-shadow:
            inset 0  3px 8px var(--color-dark-faint),
            inset 0 -1px 3px var(--color-white-alpha);
        outline: none !important;  /* removes focus ring */

    }
    
    @media (prefers-reduced-motion: reduce) {
        .btn-app {
            transition: none;
        }
    }



.video-container {
    position: relative;
    width: 100%;
    height: 200px;
    /*height: 100%;
    min-height: 150px;*/
    background: #ffffff;
    padding: 0;
    margin: 0;
    margin-top: auto;
}
#player1,
#player2, 
#player3, 
#player4, 
#player5, 
#player6, 
.YouTube-PayerBox {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 2px;
}
#player1 iframe,
#player2 iframe,
#player3 iframe,
#player4 iframe,
#player5 iframe,
#player6 iframe,
.YouTube-PayerBox iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#playBtn1,
#playBtn2, 
#playBtn3, 
#playBtn4,
#playBtn5,
#playBtn6,
.YouTube-muteBtn {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(0,0,0,0.8);
    color: white;
    border: 1px solid rgb(255, 255, 255);
    padding: 10px;
    cursor: pointer;
}







