

        /* Defining the custom font */
        @font-face {
            font-family: 'OldEnglishFive'; 
            src: url('/fonts/OldEnglishFive.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Canterbury'; 
            src: url('/fonts/Canterbury.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'OldLondonAlternate'; 
            src: url('/fonts/OldLondonAlternate.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'OldLondon'; 
            src: url('/fonts/OldLondon.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'EnglishTowne'; 
            src: url('/fonts/EnglishTowne.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'OldeEnglish'; 
            src: url('/fonts/OldeEnglish.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'BLKCHCRY'; 
            src: url('/fonts/BLKCHCRY.TTF') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Forgore'; 
            src: url('/fonts/Forgore.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'CircusAgeDEMO'; 
            src: url('/fonts/CircusAgeDEMO.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'SoulsideBetrayed'; 
            src: url('/fonts/SoulsideBetrayed.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'FenwickWoodtype'; 
            src: url('/fonts/FenwickWoodtype.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Chelsea'; 
            src: url('/fonts/Chelsea.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'ChelseaAlternates'; 
            src: url('/fonts/ChelseaAlternates.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Joilway'; 
            src: url('/fonts/Joilway.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Garogier'; 
            src: url('/fonts/Garogier.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'latinmodern-math'; 
            src: url('/fonts/latinmodern-math.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'AnonymousPro-Regular'; 
            src: url('/fonts/AnonymousPro-Regular.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'AveriaSerifLibre-Regular'; 
            src: url('/fonts/AveriaSerifLibre-Regular.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Akeila'; 
            src: url('/fonts/Akeila.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'BesondaRegular'; 
            src: url('/fonts/Besonda\ Regular.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Miagara'; 
            src: url('/fonts/Miagara.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'CravedStory-Regular'; 
            src: url('/fonts/CravedStory-Regular.ttf') format('truetype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'ArthurDisplayRegular-L3rW5'; 
            src: url('/fonts/ArthurDisplayRegular-L3rW5.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }
        @font-face {
            font-family: 'Agina'; 
            src: url('/fonts/Agina.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
            font-display: swap; /* Helps with loading speed */
        }














/********** Template CSS **********/
:root {
    --primary: #06A3DA;
    --secondary: #F57E57;
    --light: #EEF9FF;
    --dark: #091E3E;

    --blue-1: rgb(18, 130, 171);
    --blue-1: rgb(30, 135, 184);

    --white-1: #ffffff;
    --black-1: #01050d;
    --gray-1: rgb(206, 210, 210);
    --orange: rgb(226, 64, 4);


    --green: rgb(1, 205, 188);
    --pupple: rgb(33, 7, 48);
    --deepgray: rgb(70.18, 86.5, 88.13);
    --color-white: rgb(255, 255, 255);
    --color-black: rgb(0, 0, 0);
    --PG-background: linear-gradient(135deg, rgba(32, 13, 43, 1),  rgba(81, 38, 105, 1), rgba(160, 116, 199, 1));
    --PG2-background: linear-gradient(135deg, rgba(57, 13, 53, 0.4),  rgba(80, 40, 83, 0.4), rgba(18, 2, 16, 0.3));
    --GW-background: linear-gradient(135deg, rgb(176, 158, 184), rgb(134, 152, 118));
    
    --White-background: linear-gradient(
        135deg, 
        rgba(203, 184, 184, 0.1), 
        rgba(221, 232, 235, 0.15),  
        rgba(255, 255, 255, 0.15)
    );

    --Linearwhite-background: linear-gradient(
        135deg, 
        rgba(255, 255, 255, 0.6), 
        rgba(212, 231, 231, 0.6),  
        rgba(229, 217, 235, 0.6)
    );
    



    --teal: #8ccec3; ;

    --fontsize-maelezo-small: .7rem;
    --fontsize-maelezo-1: 0.85rem;
    --fontsize-title-1: 1.6rem;
    --fontsize-title-2: 1.4rem;
    --fontsize-title-3: 1.1rem;
    --fontsize-title-4: .8rem;

    --fontsize-S: 0.9rem;
    --fontsize-M: 1.3rem;
    --fontsize-L: 1.8rem;
    --fontsize-large: 2rem;
    --fontsize-larger: 2.5rem;
    --fontsize-XL: 3rem;
    --fontsize-XXL: 4rem;
    --font-family-1: 'Agina';
    --font-family-1: 'latinmodern-math', 'AveriaSerifLibre-Regular', 'Averia Serif Libre', cursive, sans-serif, serif;
    

}

  







.btn-search-box{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 4px;
    margin: 0;
}


.btn-search{
    width: 30px;
    height: 30px;
    background: var(--color-white);
    color: var(--pupple); 
    border: 1px solid; 
    border-radius: 2px; 
    margin: 2px; 
    padding: 2px; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 1;
}
.fa-search,
.bi-search{
    font-size: 0.8rem; 
    margin: 0;
    padding: 0;
}
.btn-search:hover {
    background: url("../img/bg7.svg") center/cover no-repeat;
    color: var(--color-white);
    transform: scale(1.12);
}




html, 
body {
    display: flex;
    flex-direction: column;
    margin: 0;
    background: var(--PG-background);
    background: url("../img/bg6.svg") center/cover no-repeat;
    padding: 0; 
    max-width: 100vw;
    min-height: 100vh;
    scroll-behavior: smooth;
}

.container {
    background: var(--PG2-background);
    border-radius: 0px; 
    padding: 30px;
    margin-top: 10px;
    margin-bottom: 50px;
    /*box-shadow: 1px 1px 4px  rgba(0, 0, 0, 0.5);  soft floating effect */
    transition: all 0.3s ease-in-out;
    box-sizing: border-box;
    position: relative;
}

.general-container-1, 
.general-container-2,
.footer-container-1 {
    
    margin: 0 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
/* 
    background:
        radial-gradient(circle at 20% -40%, rgba(0,140,170,0.9), transparent 60%),
        radial-gradient(circle at 60% -60%, rgba(0,110,150,0.8), transparent 60%),
        radial-gradient(circle at 90% -40%, rgba(20,40,80,0.9), transparent 60%),
        linear-gradient(90deg,#063c49,#1a2b5f);

background:
        radial-gradient(800px 200px at 40% 0%, rgba(255,255,255,0.05), transparent 70%),
        radial-gradient(1200px 300px at -10% 120%, #0b5c6b 0%, transparent 70%),
        radial-gradient(900px 250px at 30% -40%, #1f6f8a 0%, transparent 70%),
        radial-gradient(1000px 300px at 70% -60%, #214a7a 0%, transparent 70%),
        radial-gradient(1200px 300px at 110% 120%, #1b2a5a 0%, transparent 70%),
        linear-gradient(90deg,#0b3c48,#1c2a55);
    avoiding | 
    user-select: none; 
    caret-color: transparent;
    outline: none;*/

}








.footer-container-1{
    
    background: rgba(253, 255, 255, 0.04);
    border: none;

}
.footer-container-1 .container{
    background: url("../img/bggreen1.svg") center/cover no-repeat;

    padding: 10px;
    margin-top: 0.5px;

}


.footer-signup-form{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 35px;
    box-sizing: border-box;
    margin: 4px auto;
    padding: 2px;
    background: url("../img/bggreen1.svg") center/cover no-repeat; color: #c4c4c4;
    position: relative;
}
.footer-input-group{
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0.5px solid white;
}










.container-header{
    background: var(--PG2-background);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    box-shadow: 0.5px 0.5px 1px rgba(0, 0, 0, 0.5);

}
.container-CEO{
    background: var(--White-background);


}

.about-row {
    display: grid;
    grid-template-columns: 3fr 2fr;  
    gap: 10px;
    position: relative;
}
.about-row-2 {
    display: grid;
    grid-template-columns: 3fr 1fr;  
    gap: 10px;
    position: relative;
    width: 100%;
    height: 100%;
}
.WoRINet-row {
    display: grid;
    grid-template-columns: 1fr 3fr;  
    gap: 10px;
    position: relative;
}

.about-col{
    position: relative;
    box-shadow: 2px 4px 15px rgba(0,0,0,0.4);  
    display: flex;  
    flex-direction: column;
    padding: 5px;
    gap: 5px;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    background: var(--White-background);
}


.CEO-row {
    display: grid;
    grid-template-columns: 1fr 2fr;  
    gap: 10px;
    position: relative;
    padding: 0;
    margin: 0;
}


.CEO-row .expandable-box,
.CEO-row .expandable-box1{
    margin: 3px auto;
}
.CEO-row .title-expandable-box,
.CEO-row .title-expandable-box1{
    padding: 8px 15px;
}

.CEO-col{
    position: relative;
    display: flex;  
    flex-direction: column; 
    padding: 15px;
    margin: 0;
    gap: 5px;
    align-items: center;
    justify-content: flex-start;
    border-radius: 0px;
    width: 100%;
    height: 100%;
}







.CEO-col h3, 
.CEO-col h2{
    color: var(--pupple); 
    padding: 4px 25px; 
    font-size: var(--fontsize-maelezo-1); 
    text-align:left; 
    font-weight: 400;
    line-height: 1.2rem;
    font-family: var(--font-family-1);
    width: 100%;
    position: relative;
}

.CEO-col h2{
    color: var(--pupple); 
    font-weight: 600;
    text-align:left; 
    margin-top: 40px;
    
}

.header-bg{
    height:120px;
    color:white;

    background:
        radial-gradient(circle at 20% -40%, rgba(0,140,170,0.9), transparent 60%),
        radial-gradient(circle at 60% -60%, rgba(0,110,150,0.8), transparent 60%),
        radial-gradient(circle at 90% -40%, rgba(20,40,80,0.9), transparent 60%),
        linear-gradient(90deg,#063c49,#1a2b5f);

}


.WoRINet-maelezo-box,
.quote-box,
.CEO-quote-box{
    position: relative;
    background: linear-gradient(135deg, rgb(240, 239, 241),  rgb(189, 206, 206), rgb(216, 131, 204));
    background: url("../img/bgW.svg") center/cover no-repeat;
    padding: 40px;
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border-radius: 0px;
}
.WoRINet-maelezo-box{
    padding: 10px 20px;
}

.CEO-quote-box {
    padding: 50px 20px;
    border-radius: 0px;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.9) 0%, rgba(156, 229, 247, 0.85) 100%);
    background: linear-gradient(135deg, rgb(225, 249, 250),  rgb(255, 255, 255), rgb(168, 135, 161));
}
.zigzag-box-1 {
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, rgba(170, 216, 228, 0.1) 100%);
    background: linear-gradient(135deg, rgba(99, 112, 112, 0.2),  rgba(255, 255, 255, 0.2), rgba(168, 135, 161, 0.2));
}

.CEO-quote-box::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; max-width: 300px;
    height: 100%;
    background-image: url("../img/WoRI_Logo3.png");
    background-size: contain; /* keeps aspect ratio */
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none; /* won’t block text */
    z-index: 0; /* behind text */
    opacity: 0.1;
    border-radius: 50%;
}
.CEO-quote-box h2,
.CEO-quote-box h3{
    color: rgb(50, 0, 60);
    /*text-shadow: 2px 2px 10px rgba(250, 249, 249, 0.8);*/
}

.CEO-word-col{
    background: rgba(255, 255, 255, 0.4);
}
.CEO-word-col .span1,
.CEO-word-col .span2,
.CEO-word-col::after,
.CEO-word-col::before{
    position: absolute;
    top: -2px;
    left: -2px;
    content: "";
    width: 30px;
    height: 30px;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.9) 0%, rgba(156, 229, 247, 0.85) 100%);
    border-radius: 4px;
    z-index: 2;
}
.CEO-word-col .span2{
    left: unset;
    right: -2px;
}
.CEO-word-col::after,
.CEO-word-col::before{
    top: unset;
    bottom: -2px;
}
.CEO-word-col::before{
    left: unset;
    right: -2px;
}





.expandable-box1{
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4);
    background: url("../img/bggreen1.svg") center/cover no-repeat;
    display: flex;
    width: 100%;
    height: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 10px 0;
    padding: 2px;
    z-index: 1;
    
}

.title-expandable-box1{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 10px;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}



.title-expandable-box1 h4 {
    margin: 0;
    padding: 0;
    color: var(--color-white);
    font-size: 0.7rem !important;
    text-align: left; 
    font-family: var(--font-family-1);
    font-weight: 400;
    text-shadow: 0.5px 1px 2px rgb(0, 0, 0);
          
} 

.expanded-content1{
    height: auto;
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    padding: 0px 2px;
    margin: 0;
    background: url("../img/bgW.svg");
    box-sizing: border-box;
    transition: max-height 0.3s ease-in-out;
}

.expanded-content1-box1{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    opacity: 0;
    padding: 0px 20px;
    margin: 0;
    border: 0.5px solid rgba(0, 0, 0, 0.3);
    transition: all 0.2s ease;
}


.expanded-content1.show {
    max-height: 2000px; /* large enough to fit content */
}
.expanded-content1.show .expanded-content1-box1{
    opacity: 1;
    padding: 10px 20px;
    margin: 5px 0;
}

.expandable-box1.active .title-expandable-box1 {
    background: rgb(186, 186, 186);
}
.expandable-box1.active .title-expandable-box1 h4{
    text-shadow: none;
    color: rgb(0, 0, 0);
}


.expanded-content1-box1 a{
    font-size: var(--fontsize-maelezo-1);
    color: var(--pupple);
    font-family: var(--font-family-1);
    line-height: 1.1rem;
    width: 100%;
    padding: 10px 5px;
    padding-left: 24px;
    margin: 0;
    border-left: 1.2px solid;
    position: relative;
    display: block;
    cursor: pointer;
    user-select: none; 
  caret-color: transparent;
  outline: none;
    transition: all 0.2s ease;
    
}
.expanded-content1-box1 a::after{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 1.2px;
    width: 16px;
    background: var(--pupple);
    padding: 0;
    margin: 0;
    transition: all 0.2s ease;
}
.expanded-content1-box1 a:hover{
    background: rgb(76, 123, 128);
    color: var(--color-white);
    padding: 14px 4px;
    padding-left: 28px;
    margin: 1px 0;
    margin-left: 4px;
    border-left: none;
}
.expanded-content1-box1 a:hover::after {
    background: var(--color-white);
    width: 20px; 
}



.WoRINet-maelezo-box h2,
.WoRINet-maelezo-box h3,
.WoRINet-maelezo-box a{
    font-size: var(--fontsize-maelezo-1) !important;
    color: var(--pupple) !important;
    font-family: var(--font-family-1);
    line-height: 1.2rem;
    margin: 0;
    width: 100%;
    text-align: left !important;
}
.WoRINet-maelezo-box h4,
.WoRINet-maelezo-box p,
.WoRINet-maelezo-box ol,
.WoRINet-maelezo-box ul{
    font-size: var(--fontsize-maelezo-1);
    color: var(--pupple) !important;
    font-family: var(--font-family-1);
    line-height: 1.2rem;
    margin: 0;
    width: 100%;
    text-align: left;
    margin: 5px 0;
}
.WoRINet-maelezo-box h4{
    font-weight: 800;
    border-bottom: 1px solid;
    width: fit-content;
    margin-right: auto;
}


.WoRINet-maelezo-box h2{
    border-bottom: 1px solid;
    font-weight: 800 !important;
}

.quote-icon {
    position: absolute;
    font-size: 20px;
    color: rgb(60, 32, 66);
    
}

.quote-icon.left {
    top: -20px;
    left: 10px;
}

.quote-icon.right {
    bottom: -20px;
    right: 10px;
}


.CEO-img-box-1,
.member-img-box-1,
.team-item {
    position: relative;
    width: 100%;       
    height: 100%;        
    display: flex;
    align-items: center;
    justify-content: center; 
    margin: 0;
    padding: 15px 10px;
    flex-direction: column;
    box-sizing: border-box;
}

.member-img-box-1{
    margin: 2px 0;
    height: auto;  
}

.team-item {
    padding: 10px;
}



.CEO-img-box,
.member-img-box,
.TEAM-img-box,
.member-account-img-box  {
    position: relative;
    display: flex;
    width: 300px ;       
    height: 300px; 
    align-items: center;
    justify-content: center;
    flex-direction: column; 
    margin: 0;
    padding: 0; 
    box-sizing: border-box;
}

.CEO-img-box {
    width: 100%; max-width: 400px;       
    height: auto;
    max-height: 500px; 
}

.member-img-box{
    width: 200px;       
    height: 250px; 
}

.member-account-img-box {
    width: 50px;       
    height: 60px; 
}

.TEAM-img-box {
    width: 100%;  
    max-width: 220px;     
    height: 100%;
    min-height: 240px;
    max-height: 240px;

}


.team-text-box {
    position: relative;
    height: auto;
    min-height: 90px;
    width: 100%;
    text-align: center;
    margin: 0;
    margin-top: auto;
    padding: 4px;
    padding-top: 10px;
    z-index: 2;
    background: url("../img/bg7.svg") center/cover no-repeat;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
    display: flex; 
    flex-direction: column; 
    align-items:center ; 
    justify-content: flex-start;
    border-radius: 0px;
}

.team-text-box h1{
    font-size: var(--fontsize-S); 
    font-weight: 500; 
    font-family: var(--font-family-1); 
    color: var(--green); 
    border-bottom: 0.5px solid;
    width: 90%;
    word-break: break-word;
    overflow-wrap: anywhere;
    padding: 0px;
    padding-bottom: 3px; 
    margin: 0;
    margin-bottom: 4px;
}
.team-text-box h2{
    font-size: var(--fontsize-maelezo-1); 
    font-weight: 400; 
    font-family: var(--font-family-1); 
    color: rgb(211, 237, 211);
    word-break: break-word;
    overflow-wrap: anywhere;
    padding: 0px;
    margin: 0;
}

.team-item:hover .CEO-img {
    transform: scale(0.95);
}

.team-item:hover .team-text-box{
    transform: scale(1.01);
    background: var(--green);
}

.team-item:hover .team-text-box h1{color: var(--pupple);}
.team-item:hover .team-text-box h2{color: var(--color-white);}








.CEO-img,
.member-img,
.hex-bg-1, 
.hex-bg-2,
.team-item .animated-squares-box, 
.CEO-img-box .animated-squares-box {
    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;
}

.team-item .animated-squares-box,
.CEO-img-box .animated-squares-box {
    position: absolute;
    width: 120%;
    height: 120%;
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.3;
}



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

.CEO-img img{
    position: relative;
    width: auto;
    margin: 0;
    padding: 0;
    height:100%;
    object-fit: cover; 
}

.hex-bg-1 {
    position: absolute;
    top: -6%;
    left: -5%;

    background: url("../img/bggreen1.svg") center/cover no-repeat;
    z-index: 1;
    transform: rotate(0deg); 
}
.hex-bg-2 {
    position: absolute;
    top: 6%;
    left: 5%;
    background: url("../img/bgw3.svg") center/cover no-repeat;
    z-index: 1.5;
    transform: rotate(0deg); 
}





.header-col{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.header-col h1, h2{
    color: var(--color-white); 
    margin: 0 auto; 
    padding: 4px 40px; 
    font-size: var(--fontsize-large); 
    text-align: center; 
    font-family: var(--font-family-1);
    font-weight: 500 !important;
}
.header-col h1 span {
    color: var(--green);
}
.header-col h2 {
    margin: 30px 0;
    font-size: var(--fontsize-maelezo-1); 
    line-height: 1.5rem;
}







.login-form-container{
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    margin: 0;
}

.login-form-column,
.login-form{
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 15px;
    margin: 0; 
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
    background: rgba(9, 30, 62, 0.5);
    transition: all 0.3s ease;
}


.member-login-form,
form {
    position:relative;
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0px;
    margin: 0;
}

#forgot-link{
    text-align: center;
    padding: 5px 25px;
    margin: 15px 0;
    margin-bottom: 0;
    color: var(--color-white); 
    font-size: var(--fontsize-maelezo-1); 
    font-family: var(--font-family-1);
    font-weight: 400;
    cursor: pointer;
    border: 0.5px solid transparent;
    transition: all 0.2s ease;

    user-select: none; /*no copy/select to*/
    caret-color: transparent; /*no caret*/
    outline: none;
}

#forgot-link:hover{
    color: rgb(26, 231, 213); 
    border-color: rgb(26, 231, 213);
}

.deactivated-overlay{
    position: absolute;
    inset: -5px;
    background: rgba(46, 46, 47, 0.75);
    z-index: 1;
    user-select: none; /*no copy/select to*/
    caret-color: transparent; /*no caret*/
    outline: none;
}

#forgot-form{
    padding: 0px;
    margin-top: 0px;
    border: 0.5px solid rgba(255, 255, 255, 0.2);

    opacity: 0;
    max-height: 0;
    visibility: hidden;

    transition:
        max-height 0.35s ease,
        padding 0.3s ease,
        margin 0.3s ease,
        opacity 0.25s ease,
        visibility 0s linear 0.25s; /* delay hiding */
}

#forgot-form.showforgot-form{
    opacity: 1;
    visibility: visible;

    max-height: 600px;
    padding: 10px;
    margin-top: 25px;
    transition:
        max-height 0.35s ease,
        padding 0.3s ease,
        margin 0.3s ease,
        opacity 0.25s ease,
        visibility 0s;
}

#forgot-form .icon-close:hover{
    background: rgba(251, 252, 252, 0.1);
    border-color: var(--green) !important;
}

#forgot-form .icon-close:hover .slash-x-1,
#forgot-form .icon-close:hover .slash-x-2{
    border-color: var(--green) !important;
}



.member-login-form .row,
.login-form .row{
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center; 
    gap: 8px;
}

.member-login-form .col-12,
.login-form .col-12{
    padding: 1px;
    background: white;
    border-radius: 0;
    margin: 0;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-form-control{
    padding: 4px !important;
    margin: 0;
    display: flex;
    width: 100%;
    min-height: 35px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 1);
    color: rgba(0, 0, 0, 0.5);
    padding: 6px;
    border:  0.5px solid var(--pupple);
    font-size: 0.9rem;
    font-family:  var(--font-family-1);
    font-weight: 400;
    font-size: var(--fontsize-maelezo-1);
}
.login-form-control::placeholder{
    color: rgba(0, 0, 0, 0.5);
    
}

.login-form-container h1,
.login-form-container h3,
#forgot-form h2,
#forgot-form p{
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 10px auto;
    color: var(--color-white) !important; 
    font-size: var(--fontsize-maelezo-1) !important; 
    text-align: center; 
    font-family: var(--font-family-1);
    font-weight: 400;
}
#forgot-form h2{
    font-size: var(--fontsize-L); 
}

.login-form-container h3{
  font-size: var(--fontsize-S); 
  text-align: left;
  margin-top: 30px; 
}

.group-1{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
    color: var(--pupple);
}
.group-1 h4{
    width: 100%;
    height: auto;
    padding: 3px 5px;
    margin: 0.6px auto;
    color: var(--pupple); 
    font-size: var(--fontsize-maelezo-1); 
    text-align: left; 
    font-family: var(--font-family-1);
    font-weight: 400; 
    background: white;
}


.login-form-container a,
.login-form-container label{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 2px;
    margin: 10px auto;
    color: var(--color-white); 
    font-size: var(--fontsize-maelezo-1); 
    text-align: center; 
    font-family: var(--font-family-1);
    font-weight: 400;
}
.login-form-container p{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    padding: 20px;
    margin: 10px auto;
    color: var(--pupple); 
    font-size: var(--fontsize-maelezo-1); 
    font-family: var(--font-family-1);
    font-weight: 400;
    max-height: 300px;
    overflow: auto;
    border: 0.5px solid rgba(0, 0, 0, 0.2);
}

.login-form-container label{
    color: var(--pupple);
    width: fit-content;
    margin: 0;
    padding: 2px 10px;
    gap: 8px;
    white-space: nowrap;
}

.form-check-input{
    margin: 0;
    padding: 0;
    height: 15px;
    width: 15px;
    border-radius: 0px !important;
    border-color: var(--pupple);
    
}

.login-form-container a{
    width: fit-content;
}

input[name="dob"]{
    outline: none;
    border: 0.2px solid rgba(0, 0, 0, 0.3);
    margin: 0 0px;
    padding: 3px 10px;
}

form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0.5px solid rgba(0,0,0,0.2);
    border-radius: 0 !important;   /* force square corners */
    overflow: hidden;              /* clip any native rounding */
    padding: 5px 30px 5px 10px;
    background-color: rgb(255, 255, 255);
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23000" height="10" width="10" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><polygon points="0,0 10,0 5,5"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 10px !important;
    -webkit-border-radius: 0 !important; /* extra for old WebKit */
    background-clip: padding-box !important;        /* ensures bg respects border */
}

/* Keep custom focus styles */
form select:focus,
form input:focus,
form textarea:focus {
    outline: none;
    border: 2px solid var(--green);
    box-shadow: 0 0 8px rgba(50,10,65,0.3);
}


.col-12-to-switch{
  /* avoiding | */
  user-select: none; 
  caret-color: transparent;
  outline: none;
}

@media (max-width: 600px){
    .col-12-to-switch{
        display: grid !important;
        grid-template-columns: 1fr;  
        gap: 10px !important;
    }
}






.terms-container{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: 500px;
    overflow-y: auto;
    padding: 10px 20px;
    border: 0.5px solid rgba(0, 0, 0, 0.2);
}

.terms-container h2{
    width: 100%;
    text-align:center;
    margin: 10px 0;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-M);
    color: var(--pupple);
}

.terms-container h3{
    width: 100%;
    text-align:left;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-S);
    color: var(--pupple);
}



.terms-container ul{
    padding-left:20px;
}

.terms-container li{
    margin-bottom:6px;
}

.terms-container address{
    font-style:normal;
    margin-top:10px;
}







.phone-field-container{
    display:flex; 
    align-items:center; 
    gap:10px;
    margin: 0;
    padding: 0;
    gap: 0;
}

.countryFlag-box,
.residence-flag-box {
    display: flex;
    height: 100%;           
    width: 80px;            
    margin: 0 5px;
    padding: 0;
    overflow: hidden;
    align-items: center;   
    justify-content: center;
    transition: width 0.3s easy;
}

#countryFlag, 
#countryFlag2 {
    display: none;          
    height: 32px;           
    width: auto;
    border: 0.5px solid rgba(0, 0, 0, 0.2) !important;
    border-radius: 0px;
}


input[name="phoneCode"]{
    outline: none;
    border-right: none;
}

input[name="phone"]{
    border-left: 0.1px solid rgba(0, 0, 0, 0.1)
}

#phoneWarning {
    position: absolute;
    bottom: 115%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(239, 237, 236);
    color: rgb(255, 60, 0);
    font-size: var(--fontsize-maelezo-1);
    font-family: var(--font-family-1);
    font-weight: 400;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#phoneWarning.showwarning{
    opacity: 1;
}






.reg-row {
    display: grid;
    grid-template-columns: 4fr 1fr;  
    gap: 20px; 
    height: auto;
}

.reg-col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0px;
    margin: 0;
    height: auto;
}


.member-dashboard-1,
.expandable-boxes,
.expandable-boxes1{
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 25px;
    margin: 0;
    /*border: 0.5px solid rgba(255, 255, 255, 0.2);*/
    box-shadow: 0px 2px 6px rgba(5, 5, 5, 0.5);
}
.member-dashboard-1,
.expandable-boxes{
    padding: 2px;
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    box-shadow: none;
}

.fluid-box{
    height: auto;
    padding: 20px !important;
}

.member-dashboard-1{
    border: none;
    padding: 0; 
    overflow-y: auto;
    overflow-x: hidden;
    
}

.member-dashboard h2{
    border: 0.0px solid rgba(255, 255, 255, 0.2);
    width: 100%;
    padding: 5px 10px;
    margin: 5px 0;
    color: rgb(0, 0, 0);
    font-size: var(--fontsize-S);
    background: rgba(255, 255, 255, 0.7);
    font-family: var(--font-family-1);
    font-weight: 400;
}

/*
.member-dashboard span{
    border: 0.0px solid rgba(255, 255, 255, 0.2);
    display: flex; align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    padding: 3px 10px;
    margin: 2px 0;
    color: var(--pupple); 
    font-size: var(--fontsize-maelezo-1);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    background: var(--Linearwhite-background);
    font-family: var(--font-family-1);
    font-weight: 400;
    line-height: 1.1rem;
}

.member-dashboard p{
    margin: 0;
    padding: 0; 
    text-align:left; 
}*/

.expandable-box{
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.4);
    background: url("../img/bggreen1.svg") center/cover no-repeat;
    display: flex;
    width: 100%;
    height: auto;
    flex-direction: column;
    margin: 10px 0;
    padding: 2px;
    z-index: 1;
    
}




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

.title-expandable-box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    margin-bottom: 1px;
    padding: 12px 15px;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    background: var(--PG2-background);
    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);
          
}


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


.expandable-box.active .title-expandable-box{
    background: var(--color-white);
    padding: 10px 15px;
    border: 0.5px dotted rgba(0, 0, 0, 0.4);
}
.expandable-box.active .title-expandable-box h4{
    color: rgb(42, 0, 50);
    text-shadow: none;
}


/* Button styling */
.btn-expandable-box, 
.btn-expandable-box1 {
    cursor: pointer;
    user-select: none;
    display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   margin: 0;
   width: fit-content;
   height: fit-content;
}

/* Hide minus initially */
.close-btn {
    display: none;
}


.open-btn,
.close-btn{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    padding: 0;
    margin: 0;
 
  
}
.close-btn{
  display: none;
}

/* When active, switch buttons */
.expandable-box.active .open-btn,
.expandable-box1.active .open-btn{
    display: none;
}

.expandable-box.active .close-btn,
.expandable-box1.active .close-btn{
    display: inline;
}
.expandable-box.active .close-btn .horizontal-slash,
.expandable-box1.active .close-btn .horizontal-slash {
    border: 1px solid rgb(0, 0, 0);
    background: rgb(255, 255, 255);
    height: 1.8px;
}



.NoCursorSlash{
  /* avoiding | */
  user-select: none; 
  caret-color: transparent;
  outline: none;
}








#account-content-box h1,
#account-content-box h2{
    width: 100%;
    padding: 20px 20px;
    color: var(--pupple);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    font-weight: 400;
    margin: 2px 0;
}

#account-content-box h1{
    padding: 10px 20px;
    border-bottom: 0.5px solid;
    font-size: var(--fontsize-M);
    font-weight: 900;
}





.passing-text-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  padding: 0px;
  margin: 0;
  display: flex;
}

.passing-text {
  display: flex;
  padding: 5px;
  padding-left: 100%; /* starts off-screen */
  animation: moveText 10s linear infinite, glowText 2s ease-in-out infinite alternate;
  font-family: var(--font-family-1);
  font-size: var(--fontsize-small);
  font-weight: 200;
  color: var(--color-white);
  letter-spacing: 1px;
}

.passing-text p,
.passing-text a {
  padding: 0;
  margin: 0;
  font-family: var(--font-family-1);
  font-size: var(--fontsize-maelezo-small);
  font-weight: 200;
  color: var(--color-white);
  letter-spacing: 1px;
}
/* scrolling effect */
@keyframes moveText {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* glowing effect 
@keyframes glowText {
  from {
    text-shadow: 0 0 5px var(--color-dark-faint),
                 0 0 10px var(--color-white-faint),
                 0 0 20px var(--color-dark-faint);
  }
  to {
    text-shadow: 0 0 10px var(--color-white),
                 0 0 20px var(--color-white),
                 0 0 30px var(--color-white);
  }
}
*/



.animated-squares-box {
    position: relative;          
    width: 100%;               
    height: 100%;                
    min-height: 200px;          
    overflow: hidden;
    border-radius: 2px;
    opacity: 0.15;

    background: radial-gradient(circle at center, rgba(15, 15, 26, 0.9) 0%, rgba(5, 5, 8, 0.85) 100%);
    perspective: 1000px;

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



.animated-squares-box-1,
.animated-squares-box-2 {
    position: absolute;
    opacity: 0.1;
    left: 0;
    top: 0;          
    width: 30%;               
    height: 150%;          
    overflow: hidden;
    perspective: 1000px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.animated-squares-box-2 {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    background: radial-gradient(circle at center, rgba(15, 15, 26, 0.9) 0%, rgba(5, 5, 8, 0.85) 100%);
    opacity: 0.2;
    border-radius: 50%;
    flex: 0 0 190px;  /* ensures flex container doesn’t shrink it */
    pointer-events: none; /* won’t block clicks */
}






/* Individual squares */
.square {
    position: absolute;
    width: 40px;
    height: 40px;
    opacity: 0;
    will-change: transform, opacity;
    transform-style: preserve-3d;
    animation: flyToFront linear forwards;
    background: transparent !important;
    backdrop-filter: none !important;
    border: 1px solid;
    border-radius: 0px;
    /*----animation-name: flyToFront, fadeOut;
    animation-timing-function: linear;---*/
}


@keyframes fadeOut {
    0%   { opacity: 1; }
    90%  { opacity: 0.75; }
    100% { opacity: 0; }
}

/* Animation */
@keyframes flyToFront {
    0% {
        transform: translate3d(var(--x), var(--y), -2000px) scale(0.2) rotate(0deg);
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    100% {
        transform: translate3d(var(--x), var(--y), 600px) scale(2) rotate(360deg);
        opacity: 0;
    }
}





.container-topbar,
.container-topbar-moving-text{
    transition: all 0.3s ease;
}

@media (min-width: 1083px){
    .container-topbar{display:block !important}
    .container-topbar-moving-text{display:none !important}
}

@media (max-width: 1082.99px){
    .container-topbar-moving-text{display:block !important}
}

@media (max-width: 770px){
    .container-topbar-moving-text{display:none!important}
}




.container-topbar{
    padding: 0px 20px; 
    padding-right: 0;
    margin: 0; 
    display: none; 
    justify-content: center; 
    align-items: center; 
    text-align: center; 
    /*background: url("../img/bggreen1.svg") center/cover no-repeat;*/
    background: rgb(0, 0, 0);
}

.top-email-box, 
.top-text-1{
    padding: 5px 0; 
    font-family: var(--font-family-1); 
    font-size: 0.7rem; 
    font-weight: 300; 
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px ; 
    height: auto;
}
.top-text-1{
   float: left;
}

.top-email-box p, 
.top-text-1 p{
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right:0.5px solid;
    padding-right: 10px;
    
}
.top-email-box i, 
.top-text-1 i{
    padding: 0;
    margin: 0;
    font-size: 0.7rem;
    
}
.top-email-box a, 
.top-text-1 a{
    padding: 0;
    margin: 0;
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
   
}
.top-email-box a:hover, 
.top-text-1 a:hover{
    
    color: var(--orange);
   
}

.top-shape {
    position: relative;
    height: auto;
    display: inline-flex; 
    align-items: center;
    justify-content: center;
    align-items: center;
    padding: 0  30px;padding-left: 5px;
    float: right;
    gap: 10px ;
    background: url("../img/bg7.svg") center/cover no-repeat;
}







.btn-1,
.btn-2  {
    background: var(--PG-background);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    color: var(--color-white);
    padding: 5px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 1px 1px 4px 1px rgb(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    margin-top: auto;
    width: fit-content;
    font-weight: 400;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}


.btn-1:hover,
.btn-2:hover {
    background: var(--Linearwhite-background);
    color: var(--pupple);
}

.btn-2 {
    width: 100%; 
}




.btn {
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    font-weight: 400;
    transition: all 0.3s ease;
    padding: 4px;
}



.btn-common, 
.btn-common-1 {
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    font-weight: 400;
    padding: 10px 20px;
    color: rgb(255, 255, 255);
    text-shadow: 0.5px 0.5px 1px rgb(10, 10, 10);
    border-radius: 0 !important;
    border: 1px solid var(--color-white);
    width: auto;
    min-width: 25%;
    margin: 5px auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    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-1 {
    background: none;
}

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


.btn-common i,
.btn-common-1 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(10px); /* move right */
    }
    100% {
        transform: translateX(0);
    }
}










#login-error-message{
    display: flex;
    padding: 12px;
    margin: 20px auto;
    border-radius: 0px;
    justify-content: center;
    align-items: center;
    background: rgba(125, 210, 240, 0.6);
    color: white;
    font-weight: bold;
    height: 100%;
    min-height: 40px;
    width: 100%;
    text-align: center;
}

#login-error-message.login-error {
    display: flex;
    padding: 12px;
    margin: 20px auto;
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    background: rgba(73, 109, 122, 0.6);
    color: white;
    font-weight: bold;
    min-height: 40px;
    text-align: center;
    width: 100%;
    height: 100%;
    font-size: 0.9rem;
}


.overlay-message-wrapper{
    
    position: fixed;
    top:0; left:0;
    width:100%; height:100%;
    background: rgba(0, 0, 0,0.3);
    display:none;
    align-items:center;
    justify-content:center;
    z-index: 110;
}
                                            
  
.overlay-message{
    background: rgba(0,0,0,0.8);
    color:#fff;
    padding: 15px 25px;
    border-radius: 8px;
    text-align:center;
    font-size:16px;
    position: relative;
}
                                                



.profile-photo-overlay{
    position: fixed;
    inset: 0; 
    background:rgba(0,0,0,0.7);
    display: flex; 
    align-items:center; 
    justify-content:center; 
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

                                      

.profile-photo-overlayContent{    
    position:relative; 
    width:20%; min-width: 300px; 
    height:30%; min-height: 350px;
    background: white; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    flex-direction:column;
}



.profile-photo-overlay.show{
    opacity: 1;
    visibility: visible;
}

.member-img-onOverlay{
    position:relative; 
    width:200px; 
    height:200px; 
    border-radius: 10px;
    border: 0.2px solid rgb(75, 75, 75, 0.2); 
    overflow:hidden;
}

.overlay-btns-box{
    display:flex; 
    flex-direction:row; 
    gap:30px; 
    margin-top: auto; 
    justify-content: space-between;
    padding: 15px;
    width: 100%;
    height: auto;
}
.overlay-btn-box{
    display:flex; 
    flex-direction: column;
    justify-content: flex-start; 
    align-items: center;
    gap: 2px; 
    margin: 0; 
    padding: 0;
    width: 100%;
    height: auto;
}
.overlay-btn-box p{
    text-align: center;
    margin: 0; 
    padding: 0;
    width: 100%;
    height: auto;
    color: var(--pupple);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    font-weight: 400;
}

#photo-upload,
#photo-capture{
    width:70px; 
    height:50px;
    border-radius: 8px;
    background: var(--PG-background);
    cursor: pointer;
    display:flex; 
    justify-content: center; 
    align-items: center;
    color: white;
    font-size: 2rem;
    transition: all 0.3s ease;
}
#photo-upload:hover,
#photo-capture:hover{
    background: var(--GW-background);
    color: var(--pupple);
}

#close-photo-overlay{
    position:absolute; 
    top:5px; 
    right:5px; 
    width:40px; 
    height:40px;
    border-radius: 50%; 
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    background: rgb(178, 174, 173);
    font-size: 1.5rem;
    font-weight: 400;
    color: white;
}







.col-md-6{
    padding: 0;
    margin: 0;
}




.navbar-brand-1{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}

.navbar-brand {
  position: relative;
  display: flex;
  height: 100%; 
  align-items: center;
  justify-content: center;
  gap: 8px; 
  transition: all 0.3s ease;
  padding: 0px;
  margin: 0;
  margin-right: 10px; 
  
}

.navbar-brand img {
  height: 40px; 
  width: 40px;
  border-radius: 6px;
  object-fit: contain;
  display: block;
  margin: 0;
  padding: 0;
}

.navbar-brand h1 {
  margin: 0;
  font-size: clamp(var(--fontsize-maelezo-small), 0.1vw + 0.5rem, var(--fontsize-S)) !important;
  color: var(--deepgray);
  font-family: var(--font-family-1);
}
.navbar-brand h1 span {
  color: var(--deepgray);
   display: block;       /* forces it to its own line */
    
}


.container-services, 
.container-project-1{
    background:var(--color-white); 
    padding: 30px;
    margin: 0px auto;
    position: relative;
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center;
}



.service-intro-box{
    
    padding: 10px  5px; 
    margin: 5px auto 15px auto;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.4);  
}


.container-1{
    padding: 0;
    margin: 0;
    height: 90px;
}

.container-2{
    background: rgb(46, 120, 132, .2);
    padding: 2px; 
}
.container-3{
    background: rgb(255, 255, 255);
    padding: 2px; 
    height: 600px;
}
.container-3 .row {
  display: flex;
  justify-content: center; 
}

.banner {
    position: relative;
    margin: 0px;
    padding: 2px;
    border: 0.5px solid var(--white-1); 
}

.service-items-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; 
    position: relative;
}


.footer-container{
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--color-white); 

}

.footer-box-2,
.team-row {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px; 
    background: url("../img/bgw3.svg") center/cover no-repeat;
    width: 100%;
    padding: 10px;
}

.team-row {
    gap: 25px;
    background: none;
}
.team-row::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../img/bgw3.svg") center/cover no-repeat;
    opacity: 0.0; /* 👈 control opacity here */
    z-index: 0;
}

.container-quote{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px; 
    position: relative;
    width: 100%;
    padding: 0px;
    margin: 0;
}

.container-quote-col{
    display: flex;
    flex-direction: column;   
    border: 0.5px solid var(--color-white); 
    padding: 5px;
    box-sizing: border-box; 
    background: var(--color-white);
}

.quote-carousel {
    overflow: hidden; 
    width: 100%;      
    height: 100%; 
    margin: 0 auto;
    background: var(--pupple);   
}


.quote-item img{
    width: 60px;
    height: auto;
    margin-top: auto;
}




.footer-item-box{
  
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
    padding: 5px ;
    box-sizing: border-box; 
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: url("../img/bgW.svg") center/cover no-repeat;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.footer-item-box h1{
    font-family: var(--font-family-1); 
    color: var(--pupple);
    font-size: clamp(var(--fontsize-S), 0.5vw + 0.1rem, var(--fontsize-M));  /*clamp(min, preferred, max)*/
    border-bottom: 1px solid;
    padding: 5px 10px;
    flex-direction: column;
    width: 100%;
}

.footer-contact-item{
    display: flex;
    width: 100%; 
    align-items: center; /*centers icon vertically */
    padding: 0px 5px;
    color: var(--pupple); 
    margin: 0px;
}

.footer-contact-item i {
    margin-right: 7px;
    font-size: 0.8rem;
}

.footer-contact-item p,
.footer-item-box p {
    font-family: var(--font-family-1); 
    font-size: var(--fontsize-maelezo-small);
    margin: 0;
    padding: 0px;
    text-align: left;
    word-break: break-word;
    overflow-wrap: break-word;
}

.quick-links .footer-contact-item,
.footer-item-box .footer-contact-item {
    padding: 2px  10px;
    transition: all 0.15s ease; /* smooth transition for everything */
}

.quick-links .footer-contact-item:hover,
.footer-item-box .footer-contact-item:hover {
    width: 98%;
    color: var(--color-white);
    transform: translateX(4px); /* slide to the right */
    padding: 1px 5px; 
    margin-left: 2px;
    letter-spacing: 0.05rem;
    background: url("../img/bg7.svg");
}

.footer-social-media {
   margin-top: auto;
   padding: 4px 3px;
   border-top: 0.2px solid var(--deepgray);  
   border-bottom: 0.2px solid var(--deepgray);
   display: flex;
   flex-direction: column;
   width: 100%;  
}

.footer-social-media h2{
    font-size: clamp(var(--fontsize-maelezo-small), 1vw + 0.1rem, var(--fontsize-maelezo-small));
    font-family: var(--font-family-1); 
    color: var(--pupple);
    border-bottom: 0.2px solid;
    padding: 5px 10px;
    margin: 0 auto 10px auto;
    display: flex;
    width: 100%;  
}


.footer-social-media-btn-box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 5px;                   
    box-sizing: border-box;        
    
}







.footer-gallery-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    position: relative;

    /* IMPORTANT */
    width: 100%;
    height: 100%; /* or set a fixed height like 300px */
}

.footer-gallery-item-box {
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    position: relative;
    border-radius: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;

    width: 100%;
    height: 100%;  
}

.footer-gallery-item-box img {
    width: 100%;
    max-width: 150px;
    height: auto;
    max-height: 100px;
    object-fit: cover;       /* fill the box while keeping aspect ratio */
    object-position: center; /* center the image */
    display: flex;          /* remove inline-block spacing */
    border-radius: 4px;
}


.team-item .footer-gallery-item-box{
    padding: 25px !important;

}




.footer-gallery-item-box p,
.footer-gallery-item-box h5  {
    position: absolute;
    width: 60%;
    height: 60%;
    top: 50%;    
    left: 50%;             
    transform: translate(-50%, -50%);
    color: white;
    font-size: var(--fontsize-maelezo-small);
    font-family: var(--font-family-1);
    background: rgba(255, 255, 255, 0.3);
    padding: 2px;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.7); /* make text readable */
    border-radius: 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.footer-gallery-item-box p {
    height: auto;
    top: 30px;
    background: rgba(255, 255, 255);
    transform: translate(-50%, 0);
    justify-content: flex-start;
    color: rgb(0, 0, 0);
}



.footer-gallery-item-box span {
    position: absolute;
    top: 50%;              
    left: 50%;          
    transform: translate(-50%, -50%);
    font-size: var(--fontsize-maelezo-small);
    text-align: center;
    background: rgba(168, 16, 142, 0.6);
    font-size: 5rem; 
    width: 60%; 
    height: 60%;
    opacity: 0;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-family: 'Courier New', Courier, monospace;
}

.footer-gallery-item-box a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    width: 95%;
    height: 95%;
}

.footer-gallery-item-box:hover span{
    opacity: 1;
} 
.footer-gallery-item-box:hover a{
    color: white;
} 

.footer-gallery-item-box:hover p,
.footer-gallery-item-box:hover h5{
    opacity: 0;
} 



.quick-links{
    display: flex; 
    flex-direction: column; 
    width: 100%;
}




.header-2-row{
    height: 100%; 
    display: flex;
    align-items: stretch; 
}

@media (max-width: 1400px) {
    .service-items-container {
        grid-template-columns: repeat(2, 1fr);
    
    }
}

@media (max-width: 1200px) {
   
    .team-row{grid-template-columns: repeat(3, 1fr);} 

}

@media (max-width: 992.5px) {
    
    .team-row{grid-template-columns: repeat(2, 1fr);} 
    .team-text-box{min-height: 120px;}
}


@media (max-width: 992.5px) {
    .header-2-row { height: auto;} /* let row content dictate height on smaller devices */

    .header-carousel{height: 400px !important;}

    .footer-box-2{grid-template-columns: repeat(2, 1fr);} 

    .reg-row, 
    .about-row,
    .about-row-2, 
    .CEO-row,
    .exam-page-row,
    .WoRINet-row,
    .container-quote  {
   
        grid-template-columns: 1fr ;  
   
    }


}





@media (max-width: 750px) {
    .service-items-container {
        grid-template-columns: 1fr;
    }

}



@media (max-width: 440px) {
    .footer-box-2, .team-row{grid-template-columns: 1fr;}
    .team-item-social {
        padding: 2px;
        top: 55% !important; 
        
    }
    .container {
        padding: 3px;
    }

    .CEO-img-box {
        
        width: 200px;       
        height: 280px;        
        
    }
    .member-img-box {
        
        width: 100px;       
        height: 120px;        
        
    }
}

@media (max-width: 375px) {
    .col-6.col-lg-3 {
      flex: 0 0 100%;     
      max-width: 100%;
    }
}



.service-item-container {
    overflow: hidden;
    background: var(--Linearwhite-background);
    padding: 5px;
    display: flex;              
    flex-direction: column;      
    align-items: center;       
    justify-content: center;     
    height: 100%;
    box-shadow: 2px 4px 15px rgba(0,0,0,0.4);           

}

.service-item-container-1 {
    overflow: hidden; 
    padding: 10px;
    display: flex;               
    flex-direction: column;      
    align-items: center;        
    justify-content: center;     
    min-height: 300px;
    border-radius: 4px;
    background: var(--Linearwhite-background);
    box-shadow: 0 3px 5px rgb(26, 26, 26, 0.2); 
    gap: 5px;  
    transition: all 0.3s ease;        

}
.service-item-container-1:hover {
   transform: translate(3px, -3px);
   box-shadow: 0 5px 10px rgba(252, 251, 252, 0.5); 

}


.box-maelezo-1 {
    position: relative;
    background: url("../img/bgw3.svg") center/cover no-repeat;
    padding: 30px;
    padding-top: 60px;
    margin: 0;
    margin-bottom: 5px;
    display: flex;
    flex-direction: column;
    width: 100%;
}


.box-maelezo-1 h5 {
    position: relative;
    color: var(--pupple);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-S);
    text-align: center;
    margin: 0;
}



.service-item-maelezo-1{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5px  5px;
    padding-left: 25px;
    border-left: 1px solid;
    transition: all 0.3s ease;
}
.service-item-maelezo-1::after {
    content: "→";
    font-size: 1rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); 

    width: 20px;       
    height: 100%;

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

    color: black;

    margin: 0;
    padding: 0;
}

.service-item-maelezo-1:hover{
   background: var(--blue-1);
   transform: scale(0.98);
   cursor: pointer;
}

.service-item-maelezo-1:hover span,
.service-item-maelezo-1:hover i {
    color: var(--white-1); 
}

.service-item-maelezo-1 span {
    color: var(--black-1);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    line-height: 1.2rem;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.2);
}

.service-item-maelezo-1 i{
    color: var(--blue-1);
    font-size: var(--fontsize-maelezo-small);
}



.service-item-title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 5px auto 15px auto;
}

.service-item-title h1 {
    position: relative;
    font-size: var(--fontsize-maelezo-1);
    color: var(--color-white);
    background: var(--PG-background);
    padding: 10px 20px;       /* space inside the box */ 
    margin: 0;
    font-family: var(--font-family-1);
    border-radius: 0px;
    box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.2); 
}



.main-title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 20px auto;
   
}
.main-title img{
    position: absolute;
    top: -30px;
    width: 70px;
   
}

.main-title h1 {
    position: relative;
    font-size: var(--fontsize-M);
    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.2);
    /*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::before,
.main-title::after {
    content: "";
    flex: 1;  stretches line 
}


.main-title::before {
    border-bottom: 1px solid var(--orange);
}

.main-title::after {
    border-bottom: 1px solid var(--pupple);
}
*/

.main-title h1::before {
    position: absolute;
    content: "";
    width:100%;
    height: 100%;
    left: 5%;
    bottom: 5px;
    border: 1px solid rgba(227, 164, 252, 0.2);
}

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





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

}








.after-main-title{
    padding: 5px 15px;
    display: flex;
    flex-direction: column;
}

.after-main-title h2 {
    position: relative;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-M);
    text-align: center;
    color: var(--green); 
    margin-bottom: 10px;
    
}
.after-main-title h2::after {
    position: absolute;
    content: "";
    width:50%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-bottom: 0.5px solid;
}

.after-main-title h3 {
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1) !important;
    color: var(--color-white);
    font-weight: 400 !important;
    line-height: 1.4rem;
    padding: 10px 20px;
}




.our-vision {
    position: relative;
    width: 100%;
    border: .5px solid var(--gray-1);
    padding: 5px;
    margin: 0px; 
    background: url("../img/bgW.svg") center/cover no-repeat;
}

.our-vision h2 {
    position: relative;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-S);
    font-weight: 500;
    color: var(--color-white);
    background: url("../img/bg7.svg") center/cover no-repeat; 
    display: flex; justify-content: left;
}



.our-vision h3, 
.our-vision h4 {
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    font-weight: 500;
    padding-left: 50px;    /* add space inside instead of shifting */
    box-sizing: border-box; /* ensures padding doesn't increase width */
    max-width: 100%;       /* prevents overflow */
    overflow-wrap: break-word; /* helps long words wrap */
    color: var(--pupple);
    line-height: 1.4rem;margin: 3px auto;
}
.our-vision h3 {
    min-height: 50px;
}

.our-vision h4 {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.3s ease;
  margin-top: 0;
  font-weight: 300;
  padding-left: 60px; 
  font-style: italic; /* added */
}

.our-vision h4.show {
  max-height: 1000px; /* large enough to show content */
  opacity: 1;
  margin-top: 15px; /* restore spacing */
}





.service-item-img-container{
    position: relative;
    height: 150px;
    width: 100%;
    display: flex;
    padding: 0;
    margin: 0;
}
.service-item-img-container img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    padding: 0;
    margin: 0;
}

.service-item-icon-container{
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white-1);
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 100%; 
    padding: 5px;   
    transform: translate(-50%, -50%); 
    border: .5px solid rgb(241, 242, 241); width: 100px; height: 100px; overflow: hidden;
}
.service-item-icon-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    line-height: 1; 
    padding: 0;
    margin: 0;
}



.carousel{
    height: 100%; 
}


.carousel-inner {
  height: 100%;  
  padding: 0px; 
  margin: 0;
}


.carousel-item {
  padding: 0px;
  margin: 0;
  height: 100%;
  box-sizing: border-box; 
  overflow: hidden; 
  
  
}
.carousel-item img {
  height: 100%;
  width: 100%;
  object-fit: cover; /* fills while keeping aspect ratio */
  
}



.btn-primary,
.btn-secondary {
    color: #FFFFFF;
    border-radius: 0;font-size: var(--fontsize-S); display: flex; align-items: center; justify-content: center; padding: 0; margin: 0;
   
}

.btn-primary:hover {
    background: var(--secondary);
    border-color: var(--secondary);
}

.btn-secondary:hover {
    background: var(--primary);
    border-color: var(--primary);
}

.btn-square {
    width: 30px;
    height: 30px;
    background: var(--PG-background);
    color: var(--color-white);
    border-radius: 4px;
    font-size: var(--fontsize-S); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    padding: 0; 
    margin: 0;
    text-align: center;
    opacity: 0.7;
    position: relative;
    transition: all 0.3s ease;
}

.btn-square:hover {
    background: var(--green);
    color: var(--color-black);
    opacity: 0.9;
    box-shadow: 3px -4px 4px rgba(0,0,0,0.5);
}


.btn-sm-square {
    width: 28px;
    height: 28px;
}

.btn-lg-square {
    width: 46px;
    height: 46px;
}


.btn-sm-square,
.btn-lg-square {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

.btn-social-media {
    padding: 1px;
    width: 30px;
    height: 30px;
    color: rgb(69, 8, 64);
    border:0.5px solid;
    background: var(--color-white);
    border-radius: 4px;
    font-size: 1.0rem; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    text-align: center; 
    transition: all 0.3s ease; 
}
.btn-social-media:hover {
    border: none;
    color: var(--color-white); 
    background: url("../img/bg7.svg");
    transform: translateY(-3px);
}






#success-msg{
    display:none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 25px;
    background-color: #4CAF50;
    color: white;
    border-radius: 8px;
    font-size: 16px;
    z-index: 9999;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    width: 20%;

}











#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}







.back-to-top {
    border-radius: 4px;
    background: var(--color-white);
    color: var(--pupple);
    border: 0.5px solid var(--pupple);
    padding: 0px;
    position: fixed;
    display: none;
    width: 30px; 
    height: 40px; 
    right: 45px;
    bottom: 10px;
    align-items: center; 
    justify-content: center; 
    text-align: center; 
    z-index: 99;
    animation: action 1s infinite alternate;
    opacity: 0.2;
    transition: all 0.3s ease;
}

.back-to-top:hover {
    border: none;
    color: var(--color-white); 
    background: var(--pupple);
    opacity: 0.6;
}

.back-to-top i{ font-size: 1.2rem; margin: 0; padding: 0;   line-height: 2;}

@keyframes action {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-20px);
  }
}




.nav-item {
   padding: 0;
   margin: 0;
    
}

.nav-link {
    font-family: var(--font-family-1);
    padding: 0 15px !important;
    font-size: var(--fontsize-maelezo-small);
    color: var(--pupple);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    height: 65px;
    width: 100%;
    margin: 0;
    background: transparent;
    transition: all 0.4s ease;
}

.nav-link .span-1{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: auto;
    margin: 0;
}

.nav-link .nav-plus,
.nav-link .nav-minus{
    font-family: var(--font-family-1);
    padding: 0;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: auto;
    margin: 0;
}



.navbar-light { 
    position: relative;
    display: flex;
    margin: 15px 20px;
    padding: 0px  45px;
    background: var(--color-white);
    box-shadow: 2px 2px 6px 1px rgba(0, 0, 0, 0.4); 
    transition: all 0.3s ease; 
   
}


.navbar-light.is-stuck { 
    margin: 0; 
    background: var(--color-white);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}








/* Floating chat button */
#chat-toggle-btn,
#risehand-toggle-btn {
    position: fixed;
    bottom: 100px;
    right: 15px;
    color: rgb(37, 109, 96);
    border: none;
    padding: 4px;
    font-size: 1.5rem;
    width: 70px;
    cursor: pointer;
    z-index: 9;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    box-shadow: 1px 1px 2px rgba(0,0,0,1);
    gap: 3px;

    /* avoiding | */
    user-select: none; 
    caret-color: transparent;
    outline: none;
}
#risehand-toggle-btn  {
    bottom: 220px;
}

/* Chat window */
#chat-container, 
#risehand-container,
.admin-chat-container {
    position: fixed;
    bottom: 170px; /* above button */
    right: 15px;
    width: 300px;
    max-height: 0;
    opacity: 0;
    background: radial-gradient(circle at center, rgba(75, 75, 75, 0.95) 0%, rgba(14, 14, 19, 0.9) 100%);
    border: 0.5px solid rgba(1, 1, 1, 0.25);
    border-radius: 0px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;  
    z-index: 1; 
    transition: max-height 0.4s ease, opacity 0.4s ease;
}

.admin-chat-container{
    position: relative;
    bottom: unset; /* above button */
    right: unset;
    width: 100%;
    max-height: unset;
    height: 100%;
    opacity: 1;
    padding: 10px;
    margin: 0;
    z-index: unset; 
    
}


/* Chat window */
#chat-container button {
   padding: 5px;
   width: 100%;
}

#chat-container textarea,
.admin-chat-container textarea{
    resize:none; 
    min-height: 100px;  
    max-height: 200px; 
    width: 100%; 
    margin: 5px 0;
    border-radius: 0;
    padding: 5px;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
}



   
#contactForm textarea {
    min-height: 50px;
    max-height: 500px;
    width: 100%;
    border-radius: 0;
    padding: 5px;
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    color: #000; /* text color */
}

#contactForm textarea::placeholder {
    color: #9c9b9b; /* visible placeholder */
    opacity: 1;
}

/* full-screen overlay flex container */
#contact-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, rgba(75,75,75,0.95) 0%, rgba(14,14,19,0.9) 100%);
    z-index: 1000;
    align-items: center;       /* vertical centering */
    justify-content: center;   /* horizontal centering */
    padding: 10px;
    box-sizing: border-box;
    
}

/* 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;
}





#risehand-container {
    bottom: 280px; 
    background: rgba(255, 255, 255, 1);
}

#chat-toggle-btn p,
#risehand-toggle-btn p,
#risehand-container p{
    font-size: 0.6rem;
    text-align: center;
    padding: 2px;
    margin: 0;
    border: 0.5px solid rgba(9, 32, 122, 0.5);
    color: rgb(3, 22, 61);
}
#risehand-container p{
    margin-top: auto;
}

/* Visible state */
#chat-container.open, 
#risehand-container.open {
    max-height: 800px;
    min-height: 300px;
    opacity: 1;
    padding: 6px;
}



.hand-animation {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; 
    width: 100%;
    padding: 20px; 
    min-height: 350px;
    flex: 1; 
    
}

/* Bounce (vertical movement) */
.hand-bounce {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    animation: raiseHand 0.8s ease forwards, bounce 1s ease 0.8s infinite alternate;
}

/* Wave (rotation only) */
.hand-animation i {
    font-size: 60px;
    color: #0f3375;
    animation: wave 2s ease 1s infinite;
}
.hand-animation img {
    width: 100%;
    height: auto;
    object-fit: cover;
    margin: 0;
    padding: 0;
    animation: wave 2s ease 1s infinite;
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-60px);
  }
}
@keyframes wave {
    0%   { transform: rotate(2deg); }
    25%  { transform: rotate(20deg); }
    50%  { transform: rotate(-20deg); }
    75%  { transform: rotate(6deg); }
    100% { transform: rotate(0deg); }
}

@keyframes raiseHand {
    0% {
        transform: translateY(30px) rotate(-20deg);
        opacity: 0;
    }
    50% {
        transform: translateY(-5px) rotate(5deg);
        opacity: 1;
    }
    100% {
        transform: translateY(0) rotate(0deg);
    }
}




    #chat-box, 
    #admin-chat-box,
    #chat-list {
        flex: 1;
        width: 100%;
        margin: 0;
        margin-bottom: 5px;
        padding: 2px 4px;
        min-height: 200px;
        max-height: 350px;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        border: 0.5px solid rgba(255, 255, 255, 0.2);
        font-family: var(--font-family-1);
        font-size: var(--fontsize-maelezo-1);
        color: #000; 
    }
    #chat-list {
        background: radial-gradient(circle at center, rgba(237, 232, 232, 0.95) 0%, rgba(184, 215, 222, 0.9) 100%);
        gap: 3px; 
        max-height: 100%;
    }

    .client-message,
    .admin-message {
            text-align: left;
            background: rgb(255, 255, 255);
            padding: 5px;
            margin: 5px 0;
            margin-right: auto;
            border-radius: 2px;
            width: 70%;
            max-width: 400px;
            font-family: var(--font-family-1);
            font-size: var(--fontsize-maelezo-1);
            color: #000; 
    }

    .admin-message {
            text-align: right;
            background: rgb(179, 248, 239);
            margin-right: unset;
            margin-left: auto;
    }























/* Full-screen overlay */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, rgba(15, 15, 26, 0.9) 0%, rgba(5, 5, 8, 0.85) 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 999;
    padding: 15px;
}

#searchResults{
    min-height: 200px;
    max-height: 500px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    background: white;
    width: 90%;
    max-width: 900px;
    padding: 15px;
    margin: 10px 0;
}

/* Show overlay */
.search-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Container for input */
.search-container {
    position: relative;
    width: 90%;
    max-width: 900px;
}

/* Search input */
.search-container input {
    width: 100%;
    padding: 15px 140px 15px 20px;
    font-size: 1.2rem;
    border-radius: 8px;
    border: none;
    outline: none;
}

/* Close button */
#closeSearch,
#clicktoSearch {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 2rem;
    color: #333;
    cursor: pointer;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
#clicktoSearch{
    right: 50px;
    width: 50px;
    height: 50px;
    border-radius: 4px;
    background: url("../img/bggreen1.svg");
    color: rgb(255, 255, 255);
    border: 0.4px solid rgb(255, 255, 255);
    transition: all 0.2s ease;
}
#clicktoSearch:hover {
    background: white;
    color: rgb(0, 0, 0);
    border-color: rgb(0, 0, 0);
}

#clicktoSearch i{
    padding: 0;
    margin: 0;
    font-size: 1.2rem;
}





.navigation-bar-box {
    background: url("../img/bgW.svg") center/cover no-repeat;
    width: 99.5%;
    height: auto;            
    padding: 0 15px;
    margin: 1px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.5);
    transition: all 0.6s ease;
}

/* sticky state */
.navigation-bar-box.top-stuck { 
    margin: 0; 
    background: radial-gradient(circle at center, rgb(250, 235, 218) 0%, rgb(194, 225, 205) 100%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    /* left: 50%;
    transform: translateX(-50%); 
    width: 99%;*/
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.5);
}

/* This is to avoid flicking */
.nav-wrapper {
    position: relative;
    height: auto; 
    width: 100%;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    /*border:0.5px dotted rgba(255, 255, 255, 0.4);*/
    background: radial-gradient(circle at center, rgba(132, 131, 131, 0.5) 0%, rgba(25, 25, 52, 0.55) 100%);
    

}



.navigation-bar-box.top-stuck a,  
.navigation-bar-box.top-stuck h1 { 
    color: #3f962e;
    font-weight: 900;
    text-shadow: none;
}

/* slide animation */
@keyframes slideDown {
    0%   { transform: translateY(-20px); }
    100% { transform: translateY(0); }
}



.nav-box7 {
        position: relative;
        width: 100%;
        height: auto;
        flex-direction: row;
        align-items: center; 
        padding: 2px;
        padding-left: 25px;
        margin: 0;
        gap: 10px;
        border-left: 1px solid rgb(0, 0, 0);  
        transition: background 0.25s ease, transform 0.3s ease;
        
}
  
.nav-box7::after {
        position: absolute;
        left: 0;
        top: 50%;
        content: "";
        width: 20px;
        height: 1.0px;
        background: rgb(0, 0, 0);
        transition: background 0.25s ease, transform 0.3s ease, border 0.25s ease, border-left 0.3s ease;
}
.nav-box7 a {
    width: 100%;  
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left !important;
}

.nav-box7:hover{
    background: rgb(161, 100, 159);
    transform: scale(0.98);
    border: 2px solid rgb(255, 255, 255) !important;
    border-left: 6px solid rgb(255, 255, 255) !important;
}
.nav-box7:hover::after{
    background: rgb(255, 255, 255);
    width: 24px;
}
.nav-box7:hover a{
    color: rgb(255, 255, 255) !important;
}



.nav-box2 h1,
.nav-box2 a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    padding: 0;
    font-size: 0.72rem;
    font-family: var(--font-family-1);
    color: rgb(90, 0, 104);
    /*text-shadow: 0.5px 0.5px 1px rgba(0,0,0,0.25);*/
    gap: 8px;
}
.nav-box2 a{
    position: relative;
    display: inline-block;
    padding-right: 15px;
    padding: 5px;
    padding-right: 15px;
    width: 100%;
    text-align: center;
}

/* stack both icons */
.nav-box2 a i{
    position: absolute;
    left: calc(100% - 5px); /* place to the right of text */
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8rem;
    margin: 0;
    padding: 0;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.4s easy;
}
.nav-box2 a .icon-up{
    opacity: 0;
    visibility: hidden;
}




.nav-box4 {
    width: 150px;
    height: 150px;
    display: flex;
    flex-direction: column;
    background: white;
    align-items: center;        
    justify-content: center;
    padding: 4px;
    margin: 0;  
}
 .nav-box4 a{
    cursor: pointer;
        
}
.nav-box4 .img-box5{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: flex;
    align-items: center;        
    justify-content: center;
    border: 0.5px solid rgb(255, 255, 255);  
}
.nav-box4 .img-box5 img{
    width: auto;
    height: 100%;
    object-fit: cover; 
}

.nav-box2:hover {
    background: rgb(156, 231, 207);
}


.nav-box2:hover  h1,
.nav-box2:hover  a{
    color: #01050d;
    text-shadow: none;
}




.btn-for-nav {
    width: 40px;
    height: 40px;
    display: none;
    background: none;
    border-radius: 0px;
    border: 0.0px solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    z-index: 2;
}




.btn-for-nav.active .icon-burger{
    display: none;
}

.btn-for-nav.active .icon-close{
    display: block;
}
.no-scroll {
    overflow: hidden;
}






.nav-box1{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
   

}
.nav-box2{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 2px 10px;
    cursor: pointer;
}

.nav-box3{
        padding: 0;
        margin: 0;
        display: flex;
        align-items: center;        
        justify-content: center; 
        box-sizing: border-box;
        z-index: 99;
        opacity: 0; 
        pointer-events: none; 
        cursor:auto;
       
}


.nav-box6 {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;        
    justify-content: center;    
    gap: 0px;
    box-sizing: border-box;
    z-index: 99;
    opacity: 0; 
    pointer-events: none;  
    cursor:auto;
   
   
}

.nav-box2 a .icon-down,
.nav-box2:hover a .icon-up{
    animation: bounceUpDown 3s ease-in-out infinite alternate;
}
   
@keyframes bounceUpDown {
        0% {
            transform: translateY(-50%) translateY(0);
        }
        50% {
            transform: translateY(-50%) translateY(-3px);
        }
        100% {
            transform: translateY(-50%) translateY(3px);
        }
}

@media (min-width: 1101px) {
    
    .nav-box2{
        height: 50px;
    }

    .nav-box3{
        position: absolute;
        top: 100%;            
        left: 50%;
        transform: translateX(-50%) translateY(40px); 
        padding: 10px;
        width: 100%;
        gap: 20px;
        flex-wrap: wrap; 
        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
        transition: all 0.4s ease; 
        
    }
    .nav-box4 a{
        background: rgb(164, 190, 180); 
    }
    .nav-box4 a:hover{
        background: rgb(161, 100, 159); 
        color: rgb(238, 249, 255);
    }

    .nav-box2:hover .nav-box3{
        opacity: 1;   
        transform: translateX(-50%) translateY(0);
        background: rgb(156, 231, 207);
        pointer-events: auto;
        padding: 20px;
    }
    .nav-box2:hover a .icon-up{
        opacity: 1; 
        visibility: visible;
    }
    .nav-box2:hover a .icon-down{
        opacity: 0;
        visibility: hidden; 
    }

    .nav-box2:hover .icon-up {
        opacity: 1;
        visibility: visible;
        animation: bounceUpDown 1s ease-in-out infinite;
    }


    .nav-box6 {
        position: absolute;
        top: 100%;
        transform: translateX(0) translateY(40px); 
        width: auto; 
        transition: all 0.3s ease;
    }
    
    .nav-box2:hover .nav-box6{
        transform: translateX(0) translateY(0);
        background: rgb(156, 231, 207);
        pointer-events: auto;
        opacity: 1;
        padding: 10px 15px;
    }
 

    /* if near right edge → open left */
    .nav-box2.edge-right .nav-box6 {
        left: auto;
        right: 0;
    }


}

@media (max-width: 1100px) {

    .nav-box1{
        position: fixed;
        inset: 0;
        transform: translate(50%, -100%);
        opacity: 0;
        transition: transform 0.6s ease, opacity 0.6s ease;
        background: url("../img/bgW.svg") center/cover no-repeat;
        flex-direction: column;
        width: 100%;
        height: calc(100% - 0px);
        padding: 30px;
        padding-top: 50px;
        justify-content: flex-start;
        overflow-y: auto;
        gap: 2px;
        
    }
    /* Kill animation only while resizing*/
    body.resizing .nav-box1 {
        transition: none !important;
    }
    .nav-box1.opennav {
        opacity: 1;
        transform: translate(0, 0px);  /* slide down into view */
        padding-top: 100px;
        
    }

    .navigation-bar-box {
        
        justify-content: space-between;   
        gap: 15px;  
      
    }
    .navigation-bar-box:has(.nav-box1.opennav) {/*navigation-bar-box is a parent to box1*/
        position: fixed;
        margin: 0;
        top: 0;
        left: 0;
        width: 100%;
        
    }

    .navbar-brand{
        z-index: 1;
    }
    



    .nav-box1 .aaaa{
        padding: 8px 15px;
        align-items: flex-start;
    }
    
    .nav-box2{
        flex-direction: column;
        height: auto;
        width: 100%;
        border: 0.5px solid rgba(190, 200, 202, 0.7);
        margin-bottom: 2px;
    }
    .nav-box2:hover {
        background: rgba(59, 210, 221, 0.15);
    }
    .nav-box2 a{
        text-align: left;
    }

    .nav-box3,
    .nav-box6  {
        flex-direction: column;
        position: relative;
        width: 100%;
        max-height: 0;              /* collapsed */
        overflow: hidden;           /* hide content */
        opacity: 0;
        pointer-events: none;
        padding-left: 10px;
        padding-top: 0px;
        border-top: 1px solid rgb(0, 0, 0);
        transition: 
            max-height 0.4s ease,
            opacity 0.3s ease,
            padding-top 0.3s ease,
            margin 0.3s ease;
            
    }
    .nav-box3 a,
    .nav-box6 a {
        border-bottom: 1px solid; 
    }

    .nav-box2.active .nav-box3,
    .nav-box2.active .nav-box6 {
        max-height: 1000px;          /* large enough for content */
        opacity: 1;
        pointer-events: auto;
        margin: 10px 0;
        padding-top: 6px;
    }
    .nav-box2:hover .nav-box3,
    .nav-box2:hover .nav-box6 {
        border-color: rgb(176, 5, 139);
    }
    .nav-box2:hover .nav-box3 a,
    .nav-box2:hover .nav-box6 a{
        color: rgb(176, 5, 139);
    }

    .nav-box2.active a .icon-up{
        opacity: 1; 
        visibility: visible;
    }
    .nav-box2.active a .icon-down{
        opacity: 0;
        visibility: hidden; 
    }


    .nav-box4 {
        position: relative;
        width: 100%;
        height: auto;
        flex-direction: row;
        align-items: center;        
        justify-content: flex-start;
        padding: 4px;
        padding-left: 25px;
        margin: 0;
        gap: 10px;  
        background: none;
        transition: background 0.3s ease, transform 0.3s ease, border-left 0.3s ease, border 0.3s ease;
        border-left: 1.0px solid black;
    }
    .nav-box4::after {
        position: absolute;
        left: 0;
        top: 50%;
        content: "";
        width: 20px;
        height: 1.0px;
        background: black;
        transition: background 0.25s ease, width 0.3s ease;
    }
    
    .nav-box2:hover .nav-box4{
        border-color: rgb(176, 5, 139);
    }
    .nav-box2:hover .nav-box4::after{
        background: rgb(176, 5, 139);
    }

    .nav-box4:hover {
        background: rgb(161, 100, 159);
        border: 2px solid rgb(255, 255, 255) !important;
        border-left: 6px solid rgb(255, 255, 255) !important;
        transform: scale(0.99);
    }
    .nav-box4:hover::after{
        background: rgb(255, 255, 255) !important;
    }
    .nav-box4:hover a {
        color: rgb(255, 255, 255) !important;
    }
    .nav-box4:hover::after{
        width: 23px;
    }



    .nav-box4 .img-box5{
        width: 30px;
        height: 30px;
        border: 1.5px solid white;
        border-radius: 50%;
        flex: 0 0 30px;   /* no grow, no shrink, fixed size */
    }
    .img-box5 img {
        border-radius: 50%;
    }

    
   
    .btn-for-nav {
        display: flex;
    }

  
   
    
    .top-text-1,
    .top-text-2{
        display: flex;
        flex-direction: column;
        width: 100%;
        background: rgb(67, 101, 38);
        margin: 5px 0;
        gap: 4px;
        align-items: flex-start;
        padding: 4px 15px;
    }

    .top-text-1{
        margin-top: auto;
    }
    

}












/*
.navbar-light {
    transition: background 0.3s ease;
}


.navbar-light:has(.navbar-collapse.show) {
    position: fixed;
    margin: 0;
    inset: 0;           
    height: 100vh;
    background: #fff;   
    z-index: 1050;
}


.sticky-top.navbar-light {
    margin: 2px 0px;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
    padding: 15px 12px;
}

@media (max-width: 991.98px) {
    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link {
        padding: 10px 0;
    }
}

*/





/*
.login-page #LogInPortal, 
.login-page #LogInPortal-1 {
     display: none !important;
}
.contact-page #contact-access, 
.contact-page #contact-access-1 {
     display: none !important;
}
.about-page #about-access, 
.about-page #about-access-1 {
     display: none !important;
}
*/



.carousel-caption {
    position: absolute; /* needed for top/left/right/bottom to work */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 2px;
    /*background: radial-gradient(circle at center, rgba(0, 0, 20, 0.9) 0%, rgba(1, 14, 15, 0.85) 100%);*/
    z-index: 1;
    display: flex;
    flex-direction: column;                
    align-items: center;         
    justify-content: center;      
    text-align: center;           
}

.carousel-caption h1 {
    color: var(--color-white);
    font-family: var(--font-family-1);  
    font-size: var(--fontsize-maelezo-1);
    margin: 0;
    padding: 0;
}

.carousel-caption h2 {
    color: var(--color-white);
    font-family: var(--font-family-1);  
    font-size: var(--fontsize-S);
    margin: 2px;
    color: var(--green);
    padding: 0;
}

.top-top-carousel{
    padding: 0;
    margin: 1px auto;
    display: flex;
    gap: 20px;
}
.top-top-carousel .btn.btn-common,
.top-top-carousel .btn.btn-common-1{
    margin: 1px 4px;
    padding: 3px 10px;
    font-size: var(--fontsize-maelezo-small);
}



@media (max-width: 576px) {

    .carousel-caption h1 {
        font-size: clamp(var(--fontsize-maelezo-1), 1vw + 0.5rem, var(--fontsize-M));
        font-weight: 500 !important;
    }
    .carousel-caption h2 {
        font-size: clamp(var(--fontsize-S), 1vw + 0.1rem, var(--fontsize-M));
        font-weight: 600 !important;
    }

    
}


@media (max-width: 375px) {
    .carousel-caption  h1, 
    .carousel-caption  h2 {
        font-size: .7rem !important;
    }

    .top-top-carousel .btn.btn-common,
    .top-top-carousel .btn.btn-common-1{
        padding: 2px 4px !important;
        font-size: .7rem !important;
    
    }
   
}






.navbar-toggler{
position: relative;
  width: 45px; 
  height: 45px; 
  padding: 2px; 
  margin:0;
  border-radius: 0;
  border: none !important; 
  display:flex;
  align-items:center; 
  justify-content:center;
}

/* Base icon styles */
.icon-burger, 
.icon-close{
  display: flex;
  flex-direction: column;
  gap: 6px;  
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  /*background-repeat:no-repeat;
  background-position:center;
  background-size:100%;
  display:inline-block;*/
}

.icon-close{
  display: none;
}

.top-slash,
.mid-slash,
.bottom-slash,
.slash-x-1,
.slash-x-2,
.horizontal-slash,
.verticle-slash {
    background: var(--pupple);
    height: 1.6px; 
    border: 0.25px solid var(--color-white);         
    width: 100%;
    transition: all 0.3s ease;
}


.horizontal-slash,
.verticle-slash {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: center;        
}
.verticle-slash {
    transform: translate(-50%, -50%) rotate(90deg);      
}
.horizontal-slash {
    transform: translate(-50%, -50%) rotate(180deg);      
}


.top-slash{
    width: 60%;
    /*margin-right: auto;*/
}

.bottom-slash{
    width: 60%;
    /*margin-left: auto;*/
}

.slash-x-1,
.slash-x-2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: center;
}
.slash-x-1 {
    transform: translate(-50%, -50%) rotate(45deg);
}

.slash-x-2 {
    transform: translate(-50%, -50%) rotate(-45deg);
}



/* Hamburger (closed state) 
.icon-burger{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.7%29' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}*/
/* X (open state) 
.icon-close{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.7%29' stroke-linecap='round' stroke-width='2' d='M7 7L23 23M23 7L7 23'/%3e%3c/svg%3e");
}*/

/* Show burger when collapsed (menu closed), show X when expanded 
.navbar-toggler.collapsed .icon-burger { 
    display:flex; 
}
.navbar-toggler.collapsed .icon-close  { display:none; }

.navbar-toggler:not(.collapsed) .icon-burger { display:none; }
.navbar-toggler:not(.collapsed) .icon-close  { 
   
    display:flex; 
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

*/





@media (max-width: 490px) {
    .navbar-brand {
    flex-direction: column;
    text-align: center;
    padding: 2px;
 }
    .navbar-brand h1 {
    display: none;
 }
   .navbar-light,
   .navbar-light.is-stuck {
     padding: 5px  25px;
    }

        
    .navbar-brand {
        height: 60px;
        margin: 0; 
    }
   
}

.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    left: 0;
    top: 50%;
    background: var(--pupple);
    opacity: 0.5;
    width: 2rem;
    height: 2rem;
}

.carousel-control-prev,
.carousel-control-next {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

/* Hover ALWAYS wins */
.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
}

/* Focus only when NOT hovered */
.carousel-control-prev:focus:not(:hover),
.carousel-control-next:focus:not(:hover) {
    opacity: 0.5;
    outline: none;
    box-shadow: none;
}
.carousel-control-prev{
    top: 20%;
}
.carousel-control-next {
    bottom: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 1.5rem;
    height: 1.5rem;
}




.navbar-light .dropdown {
    position: static;   /* remove Bootstrap positioning */
    padding: 0px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}


/* Hover effect (any link) */
.navbar .nav-link:hover {
    color: var(--color-white) !important;
    background: rgb(108, 169, 169);
}

/* Active ONLY when navbar itself is not being hovered */
.navbar-nav:not(:hover) .nav-link.active {
    color: var(--color-white);
    background: rgb(108, 169, 169);
}
/* Keep dropdown active when open */
.navbar .dropdown.show > .nav-link,
.navbar .nav-link.show {
    color: var(--color-white);
    background: rgb(108, 169, 169);
}

  /* default */
    .nav-plus{
        display: flex;
    }

    .nav-minus{
        display: none !important;
    }

    .navbar .dropdown.show .nav-plus,
    .navbar .nav-link.show .nav-plus{
        display: none !important;
    }
    .navbar .dropdown.show .nav-minus,
    .navbar .nav-link.show .nav-minus{
        display: flex !important;
    }





.dropdown-item {
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 4px rgba(13, 13, 14, 0.5);
    width: auto;
    height: auto;
    position: relative;
    padding: 10px;
    background: rgba(255, 255, 255, 0.5);
}

.dropdown-item .img-box{
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    height: 150px;
    width: 200px;
}

.dropdown-item .img-box img {
    position: relative;
    width: 100%;
    height:100%;
    object-fit: cover;
}

.dropdown-item a{
    position: relative;
    display: flex;
    width: 200px;
    white-space: normal;
    word-break: break-word;
    justify-content: flex-start;
    align-items: center; 
    color: var(--pupple); 
    font-family: var(--font-family-1); 
    font-size: var(--fontsize-maelezo-1); 
    font-weight: 300;
    background: var(--GW-background);
    padding: 5px;
    margin: 2px 0;
    
}


  
.dropdown-menu {     
    flex-direction: row;      
    flex-wrap: wrap;          /* allow items to wrap onto next line */
    justify-content: center; 
    gap: 10px; 
    padding: 10px;
    width: 100%;     
    height: auto;
    min-height: 0;          /* remove Bootstrap min-height */
    max-height: none;       /* remove Bootstrap max-height */
    overflow: visible;      /* allow children to fully display */
    left: 0;
    top: 100%;
    margin-top: 50px;
    border-radius: 0; 
    border: none;
    background: rgb(108, 169, 169);
   
    
}



@media (min-width: 1080px){
    .dropdown-menu { 
        display: flex !important;     /* override bootstrap in order to animate transition*/  
        opacity: 0;
        position: absolute;
        transform: translateY(80px);
        pointer-events: none; 
        margin-top: 0;
        transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.25,.8,.25,1);
    }
    .dropdown:hover .dropdown-menu {
        display: flex;
        opacity: 1;
        transform: translateY(0);  
        pointer-events: auto;
    }
}

@media (max-width: 1079.99px){
   
    .dropdown{
        display: flex;
        flex-direction: column;
    }
    .dropdown-item{
        flex-direction: row;
        margin: 5px auto;
        padding: 2px;
    }
   
    .dropdown-item .img-box{
       width: 30px;
       height: 30px;
    }

    .dropdown-item a{
        width: 100%;
        margin: 0;
    }
   
    
}


@media (min-width: 1080px){
    .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}

    .navbar-expand-lg .navbar-nav{
        display: flex;
        flex-direction:row;
        align-items: center;
        justify-content: center;
        margin: 0;
        margin-left: auto;
        padding: 0;
        height: 100%;

    }

    .navbar-collapse{
        display:flex !important;
        align-items: center;
        flex-basis:auto;
        margin: 0;
        padding: 0;
        height: auto;
        width: 100%;
    }

    
    .navbar-expand-lg .navbar-nav-scroll{overflow:visible}
    
    .navbar-expand-lg .navbar-toggler{display:none}

}


.top-contact-media-incolapse{
    display: none; 
    /*border-top: .25px solid; 
    border-bottom: .25px solid;*/
}

@media (max-width: 1079.99px){

    .navbar-light{
        padding: 15px 30px;
    }
    
 
    .navbar-collapse.show{
        height: calc(100vh - 90px);
        overflow-y: auto;
        margin: 0px;
        margin-top: 20px;
        padding: 0px;
        padding-bottom: 80px;
        overflow-y: auto;
        border-top: 1px solid;
    }
    /*
    .navbar:has(.navbar-collapse.show) .navbar-brand-1 {
        margin-bottom: 50px;
    }*/

    .nav-link {
        height: 100%;
        padding: 6px 10px!important;
    }

    .top-contact-media-incolapse{display: block;}

}

















.section-title h5::before {
    position: absolute;
    content: "";
    width: 45px;
    height: 3px;
    right: 50px;
    bottom: -5px;
    background: var(--primary);
}

.section-title h5::after {
    position: absolute;
    content: "";
    width: 25px;
    height: 3px;
    right: -5px;
    bottom: -5px;
    background: var(--secondary);
}

.twentytwenty-wrapper {
    height: 100%;
}

.hero-header {
    /*background: linear-gradient(135deg, rgba(237, 218, 237, 0.85), rgba(197, 225, 221, 0.85), rgba(200, 195, 200, 0.8)), url(../img/img-8.jpg) center center no-repeat;
    background-size: cover;*/
    margin: 0 auto;
    padding: 4px;
    background: rgba(255, 255, 255, 0.02);
}

.hero-header-column{text-align: center;}
.hero-header-column h1, 
.hero-header-column h2, 
.hero-header-column h3, 
.hero-header-column p {
    color: var(--color-white); 
    font-family: var(--font-family-1);
    margin: 0;
}
.hero-header-column h1, 
.hero-header-column p {
    font-size: clamp(var(--fontsize-maelezo-small), 1vw + 0.1rem, var(--fontsize-S));
    color: var(--green);
}
.hero-header-column h2{
    font-size: clamp(var(--fontsize-S), 1.2vw + 0.2rem, var(--fontsize-M));
}
.hero-header-column h3{
    font-size: var(--fontsize-maelezo-1);
}


.contact-column {
    background: radial-gradient(circle at center, rgba(178, 178, 179, 0.9) 0%, rgba(28, 28, 66, 0.85) 100%);
    height: 100%; 
    padding: 5px; 
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.5);
}
.contact-column form {
    display: flex;
    flex-direction: column;
    flex: 1; /* Let the form grow to fill */
}

.contact-column .row.g-2 {
    display: flex;
    flex-direction: column;
    flex: 1;
}



.contact-column iframe{
    position: relative; 
    width: 100%; height: 100%;
     border: .5px solid var(--pupple) !important;
    box-sizing: border-box; /* ensures border doesn't overflow */
}


.bg-appointment {
    background: linear-gradient(rgba(9, 30, 62, .85), rgba(9, 30, 62, .5)), url(../img/carousel-11.jpg) center center no-repeat;
    background-size: cover;
}




.appointment-form {
    background: rgba(6, 163, 218, .7);
}



.team-col {
    padding: 2px ;
    display: flex;
    flex-direction: column; 
    justify-content: center;
    border: 0.5px solid rgba(255, 255, 255, 0.2);
}


.team-image-box {
    position: relative;
    z-index: 1;
    padding: 0px;
    height: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.team-image-box img {
    width: 100%;
    height: 100%; 
    object-fit: cover; 
    transition: transform 0.4s ease;
}




.team-item-social .footer-contact-item{
    padding: 0 4px;
    color: var(--pupple);
    background: rgba(255, 255, 255, 0.75);
    transition: all 0.3s ease;
}
.team-item-social .footer-contact-item:hover{
    color: var(--color-black);
    background: var(--green);
    
}

.social-media-item {
    opacity: 0.0;
    pointer-events: none;   /* Prevent clicks when hidden */
    transform: translateY(-20px); /* start a bit above */
    transition: transform 0.3s ease, opacity 0.3s ease;
}


.btn-to-hover-forSM{
    background: var(--PG-background);
    z-index: 5;
    width: 35px;
    height: 35px;
    position: absolute;
    left: -15px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    opacity: 0.7;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-to-hover-forSM i{
    color: rgb(204, 200, 200);
    font-size: 1.5rem;
}

.btn-to-hover-forSM:hover{
    opacity: 0.95;
}

.team-item-social {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -80%); /* slightly above center */
    
    padding: 10px;
    display: flex;
    background: rgba(255, 255, 255, 0.6);
    z-index: 5;
    flex-wrap: wrap;
    gap: 2px;
    align-items: center;
    justify-content: center;
    width: 90%;
    box-shadow: 1px 1px 8px 1px rgb(0 0 0 / 0.4);
    pointer-events: none;
    border-radius: 5px;

    transition: all 0.3s ease;
}

.btn-to-hover-forSM:hover ~ .team-item-social,
.team-item-social:hover {
    opacity: 1;
    transform: translate(-50%, -50%); /* smooth move into place */
    pointer-events: auto;
}

/* Animate children */
.btn-to-hover-forSM:hover ~ .team-item-social .social-media-item,
.team-item-social:hover .social-media-item {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}




/* Delay each one for staggered fall */
.social-media-item:nth-child(1) { transition-delay: 0.2s; }
.social-media-item:nth-child(2) { transition-delay: 0.3s; }
.social-media-item:nth-child(3) { transition-delay: 0.4s; }
.social-media-item:nth-child(4) { transition-delay: 0.5s; }
.social-media-item:nth-child(5) { transition-delay: 0.6s; }
.social-media-item:nth-child(6) { transition-delay: 0.7s; }
.social-media-item:nth-child(7) { transition-delay: 0.8s; }
.social-media-item:nth-child(8) { transition-delay: 0.9s; }













.project-item{
  display:flex;
  flex-direction:column;
  min-height:320px;                 /* give the card some height */
  padding:4px;
  background:rgb(74, 95, 91);
  border:.5px dotted var(--gray-1);
  box-sizing:border-box;
}

.project-image-box{ 
    flex:0 0 auto; 
    overflow:hidden;
}
.project-image-box img{ 
    width:100%; 
    height:auto; display:block;  
    transition: .5s; 
}

.project-item-text,
.service-item-text{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background:var(--color-white);
    text-align:center;
    padding: 5px;
    margin: 0;
    box-sizing:border-box;
    height: 100%;
}


.project-item-text h1 {
   font-family: var(--font-family-1);
   font-size: var(--fontsize-S) !important;
   color: var(--pupple);
   border-bottom: .5px solid;
   padding: 4px;
   margin: 0;
}
.service-item-text h5 {
   font-family: var(--font-family-1);
   font-size: var(--fontsize-maelezo-1);
   color: var(--pupple);
   padding: 4px 15px;
   margin: 2px auto;
   display: flex;
   width: 100%;
   text-align: left;
}

.project-item-text p {
   font-family: var(--font-family-1);
   font-size: var(--fontsize-maelezo-1);
   color: var(--pupple);
   padding: 4px;
}

.project-item h1 {
    transition: .5s;
}
.project-item :hover img {
    transform: scale(1.2);
}







.service-carousel .owl-nav {
    position: absolute;
    width: 100%;
    top: calc(50% - 120px);
    left: 0px;
    display: flex;
    justify-content: space-between;
    opacity: 0.4;
    transition: all 0.3s ease;
}

.service-carousel:hover .owl-nav {
    opacity: 0.95;
}

.service-carousel .owl-nav .owl-prev,
.service-carousel .owl-nav .owl-next {
    position: relative;
    width: 45px;
    height: 35px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(255, 255, 255);
    background: url("../img/bg7.svg") center/cover no-repeat;
    border-radius: 0px;
    font-size: 20px;
    border: none !important;
    transition: all 0.3s ease;
}

.service-carousel .owl-nav .owl-prev:hover,
.service-carousel .owl-nav .owl-next:hover {
    background: var(--GW-background);
    color: var(--pupple);
   
}





.service-carousel{
    position: relative;
    padding: 10px;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 0.5px solid rgba(255, 255, 255, 0.4);
    box-sizing: border-box;
    display: flex;
    flex-direction: column-reverse; /* puts dots on top */
}

.service-carousel .owl-stage-outer {
    box-sizing: border-box;
    height: auto;
    width: 100%;
    margin: 0;
    padding: 0;
}

.service-carousel .owl-item,
.service-carousel .owl-stage {
    display: flex;
    height: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


.service-item-1{
    flex: 1; 
    padding: 5px;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    background: url("../img/bgW.svg") center/cover no-repeat;
}
.service-item-1 .box-maelezo-1{
    background: none;
    padding: 20px;
    padding-top: 60px;
}

.service-item-1 .btn-common{
    margin-top: auto;
}



.service-carousel .owl-dots {
    position: relative;
    top: 0;    
    left: 0;
    display: flex;
    width: 100%;
    flex-direction: column;   
    align-items: center; 
    justify-content: center;
    padding: 15px;
    background: white;
    color: var(--pupple);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1);
    margin-bottom: 4px;
}


.service-carousel .owl-dots .owl-dot{
    display: flex;        
    width: 100%;
    padding: 0; 
    margin: 0; 
    border: none;        
}

.service-carousel .owl-dots .owl-dot span {
    display: flex;
    align-items: center;
    justify-content: flex-start; 
    width: 100%;      
    height: 100%;                
    padding: 4px 15px;
    margin: 1px auto;             
    transition: all 0.3s ease;
    color: var(--pupple);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-1); 
    border-radius: 0;      
    box-sizing: border-box; 
    text-align: left;
    transition: all 0.2s ease;
}

/* Active dot style */
.service-carousel .owl-dots .owl-dot.active span {
    background: url("../img/bg7.svg");
    color: var(--color-white);
    margin-left: 25px;
    width: 95%;   
}




.video-container {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: #ffffff;
    padding: 0;
    margin: 0;
}
#player,
#player1, 
#player2, 
#player3, 
.YouTube-PayerBox {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 2px;
}
#player iframe,
#player1 iframe,
#player2 iframe,
#player3 iframe,
.YouTube-PayerBox iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#playBtn,
#playBtn1, 
#playBtn2, 
#playBtn3,
.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;
}









.testimonial-carousel {
    background: url("../img/bg6.svg") center/cover no-repeat;
    padding: 20px;
    display: flex; 
    justify-content: center;
}

.testimonial-item {
    flex: 1; /* Take up equal width if multiple */
    height: 100%; /* Fill parent's height */
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    text-align: center; 
    border: .0px solid var(--gray-1);
    padding: 3px;
    position: relative;
    
}





.testimonial-item p{font-family: var(--font-family-1); color: white; font-size: var(--fontsize-maelezo-1); font-weight: 400;font-style: italic;}
.testimonial-item h4{font-family: var(--font-family-1); color: white; font-size: var(--fontsize-S); font-weight: 400;}
.testimonial-item hr{ color: white; }


.testimonial-carousel .owl-nav {
    position: absolute;
    width: 100%;
    height: 35px;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    z-index: 1;
}

.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next {
    position: absolute;
    width: 40px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    background: var(--pupple);
    opacity: 0.4;
    border-radius: 8px;
    font-size: 24px;
    transition: all 0.3s ease;
}

.testimonial-carousel .owl-nav .owl-prev{left: 0px;}
.testimonial-carousel .owl-nav .owl-next{right: 0px;}

.testimonial-carousel .owl-nav .owl-prev:hover,
.testimonial-carousel .owl-nav .owl-next:hover {
    background: var(--color-white);
    color: var(--pupple);
    opacity: 0.8;
}

.testimonial-carousel .owl-item img {
    width: 120px;
    height: 120px;
    border-radius: 10%;
    margin: 8px;
}

/* Quotes*/
.testimonial-item::before,
.testimonial-item::after {
    content: '“';
    font-size: 3rem;
    color: var(--white-1);
    position: absolute;
    font-family: var(--font-family-1);
}

.testimonial-item::before {
    top: 35%;
    left: 5px;
}

.testimonial-item::after {
    content: '”';
    bottom: 5%;
    right: 20px;
}




.header-carousel {
    padding: 0px;
    box-sizing: border-box;
    margin: 0;
    height: 500px;
    display: flex;
    align-items: center;      
    justify-content: center; 
    width: 100%;     
}

.header-carousel .item{
    padding: 0px;
    box-sizing: border-box;
    margin: 0;
    height: 100%;
    display: flex;
    align-items: center;      
    justify-content: center; 
    text-align: center;
    width: 100%;     
}


.header-carousel .owl-stage-outer {
    height: 100%; 
    width: 100%;
    padding: 0;
    margin: 0;
}
.header-carousel .owl-stage-outer,
.header-carousel .owl-stage,
.header-carousel .owl-item {
    height: 100%; 
    width: 100%;
    padding: 0;
    margin: 0;
}

.header-carousel .owl-item img {
    display: flex;          /* removes inline-block whitespace */
    width: 100%;
    height: 100%;
    object-fit: cover; 
    padding: 0;
    margin: 0;
}


.header-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column; /* stack up and down */
    align-items: center;
    gap: 20px; /* space between up & down buttons */
    z-index: 1;
}

.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    border-radius: 0px;
    font-size: 30px;
    opacity: .5;
    transition: .3s; 
    border: none;
    background: url("../img/bg7.svg") center/cover no-repeat;
}

.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
    opacity: 1;
}

.header-carousel .owl-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    background: rgba(149, 149, 150, 0.5);
    position: absolute;          
    bottom: 4px;                 
    left: 50%;                     
    transform: translateX(-50%);   
    padding: 10px;
    width: 90%;
    border-radius: 8px;
    flex-wrap: wrap;
    gap: 10px; 
}

.header-carousel .owl-dots .owl-dot{
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    width: auto;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
}

.header-carousel .owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    padding: 0;
    margin: 0;
    background: rgb(255, 255, 255);
    display: block;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.header-carousel .owl-dots .owl-dot.active span {
    background: url("../img/bggreen1.svg");
    width: 24px;
}











.input-group{
    border: 2px ridge;
    display: flex;
    align-items: stretch; 
}

.email-place{
    padding: 3px 5px; 
    margin: 0;
    flex: 1; /* fill remaining space */
    min-width: 0; /* prevents overflow issues */
    background: rgb(200, 200, 200);
    border: none;
    font-size: var(--fontsize-maelezo-1);        
    font-family: var(--font-family-1); 
    color: var(--pupple);
    border: 0.0px solid rgb(210, 58, 205);
    caret-color: var(--pupple);
    transition: all 0.1s ease;
}

.email-place::placeholder{
    color: rgba(139, 139, 139, 0.6);
    transition: opacity 0.1s ease;
}
/*
.email-place:focus::placeholder {
    opacity: 0;
}*/

.input-group .email-place:focus,
.email-place:focus {
    outline: none;        /* removes the blue glow */
    border: none;         /* removes border */
    border-radius: 0;     /* removes rounded corners */
    background: rgb(255, 255, 255);
}


.footer-brand-box {
    display: flex;
    align-items: center; 
    gap: 8px;
    padding: 3px  10px;
    background: var(--color-white);
    margin-bottom: 4px;
}
.footer-brand-box img {
    width: auto; 
    height: 45px;
}
.footer-brand-box h1 {
    font-size: clamp(var(--fontsize-maelezo-1), 2vw + 0.2rem, var(--fontsize-M)); 
    margin: 0;
    color: var(--pupple);
    font-family: var(--font-family-1);
}
.footer-brand-box span {
   color: var(--green);
}


.copyright-container{
    
    font-family: var(--font-family-1);
    margin: 0 auto;
}

.copyright-container p{
    color: rgb(185, 186, 186);
    font-family: var(--font-family-1);
    font-size: var(--fontsize-maelezo-small);
    font-weight: 400;
    margin: 0;
    padding: 0;
}
.copyright-container a{
    color: rgb(255, 255, 255);
    text-decoration: none;
    border-bottom: 0.5px solid;
    
}
.copyright-container a:hover{
    color: rgb(17, 158, 7);
    
}

.footer-container-1 .copyright-container{
   background: url("../img/bggreen1.svg") center/cover no-repeat;
   
}
.footer-container-1 .copyright-container .row{
    height: 100%;
    width: 100%;
    padding: 10px;
    margin: 0;
   
}




/* Popup styles */
.popup {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 999999; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  background-color: rgba(0, 0, 0, 0.6); /* Black with opacity */
}
.popup-content {
  position: relative;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 40px;
  background-color: var(--color-white-1); /* White background */
  border-radius: 5px;
  text-align: center;
  width: 300px; /* Width of the popup */
  color: var(--color-teal-1);
}









.btn-play-1,
.our-vision .fa-plus, 
.our-vision .fa-minus  {
  position: absolute;
  top: 50%;           
  left: 5px;
  box-sizing: content-box;
  width: 35px;
  height: 35px;
  border-radius: 2px;
  border: 0.2px solid var(--pupple);
  outline: none !important;
  margin: 0;
  padding: 0;
}
.our-vision .fa-plus, 
.our-vision .fa-minus {
  cursor: pointer;
  font-size: 1.2rem;
  border: none;
  color: var(--pupple); 
  opacity: 0.8; 
  z-index: 99;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}


.btn-play-1:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;           
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(10, 187, 169, 0.4);
  border-radius: 2px;
  animation: pulse-border 8000ms ease-out infinite;
}


.vision.btn-play-1::before {animation-delay: 0.5s;}
.mission.btn-play-1::before {animation-delay: 1.5s;}
.goal.btn-play-1::before {animation-delay: 2.5s;}
.core-values.btn-play-1::before {animation-delay: 3.5s;}

@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(2);
    opacity: 0;
  }
}




.container-project-2 {
    border: .5px solid var(--gray-1); padding: 4px; height: 100%; width: 100%; position: relative; justify-content: center;
    background: url("../img/ecotourism.jpg") center center no-repeat;
    background-size: cover;
    background-color: rgba(255, 255, 255, 0.85);
    background-blend-mode: overlay;
}

.project-item-column {
    padding: 30px; 
    position: relative;
    display: flex;
    flex-direction: column;
}

.project-item-column h1, 
.project-item-column h2, 
.project-item-column h3, 
.project-item-column p {
    padding: 0px; 
    font-size: var(--fontsize-maelezo-1);
    color: var(--color-white);
    font-family: var(--font-family-1);
    margin: 10px auto;
    text-align: center;
    font-weight: 400;
}
.project-item-column h1 {
    font-size: var(--fontsize-L);
    color: var(--color-black);
}
.project-item-column h2 {
    font-size: var(--fontsize-M);
    color: var(--green);
}
.project-item-column p {
   
    text-align: left;
}

.contact-form-column{
    box-shadow: 1px 2px 4px 2px rgb(0, 0, 0, 0.5);
    padding: 30px;
    margin-top: 10px;

}



.question-text {
    background: var(--blue-1);
    padding: 8%;
    text-align: center;
    color: white;
}
.question-text h1 {
    font-size: var(--fontsize-large);
    font-family: var(--font-family-1);
    color: white;
}

.question-text p {
    font-size: var(--fontsize-maelezo-1);
    font-family: var(--font-family-1);
}




