@charset "utf-8";
/*

TemplateMo 592 glossy touch

https://templatemo.com/tm-592-glossy-touch

*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    button[type="submit"] {
        font-family: inherit;
        font-size: 16px;
    }
}
body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(
        135deg,
        #0c0c0c 0%,
        #1a1a2e 15%,
        #16213e 35%,
        #0f3460 50%,
        #533a7d 70%,
        #8b5a8c 85%,
        #a0616a 100%
    );
    min-height: 100vh;
    overflow-x: hidden;
}
/* Animated background elements */
.bg-shapes {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}
.shape {
    position: absolute;
    background: rgba(255, 255, 255, 0.08);
    animation: float 6s ease-in-out infinite;
    box-shadow: 0 8px 32px rgba(255, 255, 255, 0.1);
}
.shape:nth-child(1) {
    width: 120px;
    height: 80px;
    border-radius: 15px;
    top: 20%;
    left: 10%;
    animation-delay: 0s;
    transform: rotate(15deg);
}
.shape:nth-child(2) {
    width: 90px;
    height: 140px;
    border-radius: 12px;
    top: 60%;
    right: 15%;
    animation-delay: 2s;
    transform: rotate(-20deg);
}
.shape:nth-child(3) {
    width: 100px;
    height: 60px;
    border-radius: 10px;
    bottom: 20%;
    left: 20%;
    animation-delay: 4s;
    transform: rotate(25deg);
}
.shape:nth-child(4) {
    width: 80px;
    height: 120px;
    border-radius: 8px;
    top: 10%;
    right: 30%;
    animation-delay: 1s;
    transform: rotate(-10deg);
}
.shape:nth-child(5) {
    width: 110px;
    height: 70px;
    border-radius: 14px;
    bottom: 40%;
    right: 20%;
    animation-delay: 3s;
    transform: rotate(30deg);
}
.shape:nth-child(6) {
    width: 95px;
    height: 95px;
    border-radius: 20px;
    top: 40%;
    left: 5%;
    animation-delay: 5s;
    transform: rotate(-15deg);
}
@keyframes float {
    0%,
    100% {
        transform: translateY(0px) rotate(var(--start-rotation, 0deg));
    }
    50% {
        transform: translateY(-20px)
            rotate(calc(var(--start-rotation, 0deg) + 180deg));
    }
}
/* Glass container styles */
.glass {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.glass:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.15);
}
/* Header styles */
header {
    padding: 20px;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
}
/* Navigation styles */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 45px;
}
.logo {
    font-size: 32px;
    font-weight: bold;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}
.logo-icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo-icon svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
    transition: all 0.3s ease;
}
.logo:hover .logo-icon svg {
    transform: scale(1.1) translateY(-2px);
    filter: drop-shadow(0 4px 12px rgba(255, 255, 255, 0.4));
}
.nav-links {
    display: flex;
    gap: 30px;
}
.nav-links a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    padding: 12px 24px 13px 24px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}
.nav-links a:hover,
.nav-links a.active {
    color: white;
    background: rgba(255, 255, 255, 0.1);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}
/* Page system */
.page {
    display: none;
    min-height: 100vh;
    padding: 40px 20px 20px;
}
.page.active {
    display: block;
}
/* Content wrapper to contain page content */
.content-wrapper {
    min-height: calc(100vh - 300px);
}
/* Home page styles */
.hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    padding: 60px 40px;
    margin-bottom: 40px;
}
.hero-image {
    display: flex;
    justify-content: center;
    align-items: center;
}
.hero-image img {
    width: 100%;
    max-width: 440px;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}
.hero-content {
    text-align: left;
}
.hero h1 {
    font-size: 2.8rem;
    color: white;
    margin-bottom: 20px;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    line-height: 1.2;
}
.hero p {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 30px;
    line-height: 1.6;
}
.cta-button {
    display: inline-block;
    padding: 15px 40px;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    transition: all 0.3s ease;
    border: 2px solid rgba(255, 255, 255, 0.3);
    cursor: pointer;
}
.cta-button:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
button[type="submit"] {
    font-family: inherit;
    font-size: 16px;
}
.features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}
.feature-card {
    padding: 40px 30px;
    text-align: center;
    color: white;
}
.feature-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}
.feature-card h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: white;
}
.feature-card p {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
}
/* About page styles */
.about-content {
    display: grid;
    /*
	grid-template-columns: 1fr 1fr;
    gap: 40px;
	*/
    margin-bottom: 40px;
    align-items: center;
}
.about-text {
    padding: 40px;
    color: white;
}
.about-text h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.about-text p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 20px;
}
.stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}
.stat-card {
    text-align: center;
    padding: 30px;
    color: white;
}
.stat-number {
    font-size: 3rem;
    font-weight: bold;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.stat-label {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 10px;
}
/* Team section styles */
.team-section {
    margin-bottom: 60px;
}
.team-section h2 {
    font-size: 2.5rem;
    color: white;
    text-align: center;
    margin-bottom: 50px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.team-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}
.team-member {
    padding: 10px 10px;
    text-align: center;
    color: white;
    transition: all 0.3s ease;
}
.team-member:hover {
    transform: translateY(-10px);
}
.team-avatar {
    width: 50%;
    height: 60%;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    backdrop-filter: blur(10px);
    border: 3px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}
.team-member:hover .team-avatar {
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.05);
    background: rgba(255, 255, 255, 0.25);
}
.team-member h3 {
    font-size: 1.4rem;
    margin-bottom: 8px;
    color: white;
}
.team-member .role {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 15px;
}
.team-member .bio {
    font-size: 0.9rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 20px;
}
.team-social {
    display: flex;
    justify-content: center;
    gap: 15px;
}
.team-social a {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.team-social a:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-3px);
    color: white;
}
/* Services page styles */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}
.service-card {
    padding: 40px 30px;
    color: white;
    text-align: left;
}
.service-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.service-icon {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-right: 15px;
}
.service-card h3 {
    font-size: 1.4rem;
    color: white;
}
.service-card p {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin-bottom: 20px;
}
.service-features {
    list-style: none;
}
.service-features li {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}
.service-features li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: rgba(255, 255, 255, 0.9);
}
/* Contact page styles */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}
.contact-map-section {
    margin-top: 40px;
}
.contact-form {
    padding: 40px;
}
.contact-form h2 {
    color: white;
    font-size: 2rem;
    margin-bottom: 30px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.form-group {
    margin-bottom: 20px;
}
.form-group label {
    display: block;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 8px;
    font-weight: 500;
}
.form-group input,
.form-group textarea {
    width: 100%;
    padding: 15px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    color: white;
    font-size: 16px;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}
.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}
.form-group input::placeholder,
.form-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.6);
}
.form-group textarea {
    height: 120px;
    resize: vertical;
    line-height: 1.5;
}
.contact-info {
    padding: 40px;
    color: white;
}
.contact-info h2 {
    font-size: 2rem;
    margin-bottom: 30px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}
.contact-item-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    font-size: 18px;
}
.contact-item-text h4 {
    color: white;
    margin-bottom: 5px;
}
.contact-item-text p {
    color: rgba(255, 255, 255, 0.8);
}
.contact-map {
    padding: 40px;
    color: white;
    width: 100%;
}
.contact-map h2 {
    font-size: 2rem;
    margin-bottom: 30px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    text-align: center;
}
.map-container {
    width: 100%;
    height: 500px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    overflow: hidden;
    position: relative;
    backdrop-filter: blur(10px);
}
.map-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
}
.map-placeholder-icon {
    font-size: 64px;
    margin-bottom: 20px;
    opacity: 0.7;
}
.map-placeholder p {
    margin: 8px 0;
    font-size: 16px;
}
.map-placeholder .address {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
}
.map-placeholder .integration-note {
    font-size: 14px;
    opacity: 0.6;
    margin-top: 20px;
}
/* Footer styles */
#footer {
    margin-top: 60px;
    padding: 30px 0;
}
.footer-content {
    padding: 30px;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
}
.footer-links {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
    padding: 5px 10px;
}
.footer-links a:hover {
    color: white;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}
.copyright {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
}
.copyright a {
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
}
/* Responsive design */
@media (max-width: 1024px) {
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    /* Adjust padding for mobile */
    .page {
        padding: 30px 20px 20px;
    }
    .content-wrapper {
        min-height: auto;
    }
    .hero {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 20px;
    }
    .hero-content {
        text-align: center;
    }
    .hero h1 {
        font-size: 2.5rem;
    }
    nav {
        flex-direction: column;
        gap: 20px;
        padding: 20px 30px;
    }
    .nav-links {
        gap: 15px;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
    .nav-links a {
        display: block;
        text-align: center;
        width: 100%;
        max-width: 200px;
        font-size: 14px;
        padding: 10px 20px;
    }
    .about-content,
    .contact-grid {
        grid-template-columns: 1fr;
    }
    .services-grid {
        grid-template-columns: 1fr;
    }
    .team-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .footer-links {
        gap: 15px;
        flex-direction: column;
    }
    .footer-links a {
        display: block;
        text-align: center;
    }
    button[type="submit"] {
        width: 100%;
    }
    .map-container {
        height: 350px;
    }
    .logo-icon {
        width: 40px;
        height: 40px;
    }
    .logo {
        font-size: 22px;
    }
}

.v_shadow {
box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;
	
}

.icfa_l {
  font-size: 24px;
  background: linear-gradient(90deg,rgba(237, 160, 83, 1) 35%, rgba(214, 99, 21, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.icfa_c {
  font-size: 24px;
  background: radial-gradient(circle,rgba(237, 160, 83, 1) 35%, rgba(214, 99, 21, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ================================================================== */
/*          STYLES FOR CUSTOM PAGINATION & CONTROLS                 */
/* ================================================================== */

/* --- 1. Main Controls Container (replaces floats with Flexbox) --- */
.controls-container {
    display: flex;
    justify-content: space-between; /* Pushes left and right sides apart */
    align-items: center; /* Vertically aligns everything in the middle */
    margin-bottom: 20px;
    color: white;
}

.controls-left, .controls-right {
    display: flex;
    align-items: center;
    gap: 5px; /* Adds space between items */
}

/* --- 2. Styling for Inputs, Selects, and Buttons --- */
.controls-container .form-control {
    background-color: rgba(0, 0, 0, 0.3) !important;
    color: white !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 5px;
	line-height: 30px;
}
.controls-container .form-control::placeholder {
    color: #ccc;
}

.controls-container .input-group-btn .btn {
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* --- 3. Table Header and Borders --- */
.table thead th {
    text-align: center;
    font-weight: bold;
    color: white;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
}
.table td {
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    
    white-space: normal !important; 
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    color: white;
	line-height: 5px;
}

#pagingA .pagingframe {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Style for the page number input box */
#pagingA #inputpaging {
    width: 50px;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
}

/* Style for the pager buttons (Prev, 1, 2, Next) */
#pagingA .pagingframe div {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s;
}
/* Active page button style */
#pagingA .pagingframe div.active {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
}
/* Hover effect for non-active buttons */
#pagingA .pagingframe div:not(.active):hover {
    background-color: rgba(255, 255, 255, 0.1);
}


/* ==== Main CSS Slider === */
.image-slider {
    display: flex;
    flex-flow: column;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 300px;
    overflow: hidden;
    border-radius: 8px;
    container-type: inline-size;
    contain: content;
    background-color: #0006;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 2px, rgba(0, 0, 0, 0.3) 0px 2px 4px,
        rgba(0, 0, 0, 0.25) 0px 4px 8px, rgba(0, 0, 0, 0.2) 0px 8px 16px,
        rgba(0, 0, 0, 0.15) 0px 16px 32px;
}

.image-slider p {
    position: absolute;
    bottom: 80%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    color: white;
    font-size: clamp(0.9rem, 1vw, 0.9rem);
    text-align: center;
    width: 70%;
    max-width: 800px;

    /* transparent effect */
    background: rgba(0,0,0,0.4);
    padding: clamp(6px, 1vw, 15px) clamp(10px, 2vw, 20px);
    border-radius: 6px;
    line-height: 1.4;
}

/* Optional: fancy transparent text effect (image shows through text) */
.image-slider p.transparent-text {
    color: transparent;
    background: inherit;
    background-clip: text;
    -webkit-background-clip: text;
    font-weight: bold;
}


.slider__content {
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
}

.slider-control--button {
    border: 0;
    background: 0;
    outline: 0;
    cursor: pointer;
    place-content: center;
    padding-inline: 3vw;
    z-index: 1;
    display: grid;
}

.icon {
    height: 2rem;
    width: 2rem;
    fill: #ffffff;
    border-radius: 50%;
}

.slider-control--button:where(:hover) {
    background-image: linear-gradient(
        to #ffffff,
        #0000 0%,
        #0002,
        80%,
        #0006 100%
    );
    .icon {
        fill: var(--icon-accent);
        background: #0001;
    }
}

.slider-control--button:active {
    outline: 0.2em solid hsl(204 100 53);
    outline-offset: -0.5em;
}

.prev-button {
    --position: left;
}
.next-button {
    --position: right;
}

.image-display {
    position: fixed;
    inset: 0;
}

.slider-navigation {
    z-index: 10;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-columns: 100%;
    gap: 1.25rem;
    padding: 1rem;
    place-content: center;
    background-color: var(--navigation-color);
    backdrop-filter: blur(6px);
}

.nav-button {
    display: grid;
    width: 100%;
    height: 100%;
    border-radius: 0.5em;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    border: 0;
    aspect-ratio: 16 / 9;
    transition: filter 150ms linear, scale 266ms ease;
}

.thumbnail {
    display: block;
    max-width: 100%;
    width: 100%;
    object-fit: cover;
    height: 100%;
}

.nav-button[aria-selected="true"] {
    scale: 1.1;
}

.nav-button[aria-selected="true"],
.nav-button:focus-visible {
    outline: 0.2em solid var(--active-color);
    outline-offset: 0.2em;
}

.nav-button[aria-selected="false"] {
    filter: opacity(0.7);
}

.nav-button[aria-selected="false"]:where(:hover, :focus-visible) {
    filter: opacity(1);
}

@container (max-width: 660px) {
    .nav-button:not(:has(img)) {
        background-color: rgb(241, 235, 232);
    }

    .slider-navigation {
        display: flex;
        justify-content: center;
        padding-block: 1.5em;
    }

    .nav-button {
        inline-size: 0.625rem;
        aspect-ratio: 1;
        border-radius: 50%;
    }

    .nav-button > .thumbnail {
        display: none;
    }

    .nav-button[aria-selected="true"] {
        background-color: black;
        scale: 1.5;
    }
}

.swal2-popup {
  font-size: 1.6rem !important;
 }
body {
  padding-right: 0 !important;
}
#btnFloating {
  /*display: none;*/
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 99;
  border: none;
  outline: none;
  color: #ffffff;
  background: #25d366;
  cursor: pointer;
  padding: 5px;
  border-radius: 60%;
}

/* --- CSS-Only Accordion --- */
.css-accordion {
  width: 100%;
}
.css-accordion .item {
  border-radius: 12px;
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid #e5e7eb;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  
}

/* hide the checkbox */
.css-accordion .toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* header */
.css-accordion .label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  line-height: 1.35;
  background: rgba(255, 255, 255, 0.2);
  
}

.css-accordion .label .left {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.css-accordion .badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  background: #e5f0ff;
  color: #1d4ed8;
  letter-spacing: .2px;
}
.css-accordion .text {
  color: #0f172a;
}

/* chevron */
.css-accordion .chev {
  width: 12px;
  height: 12px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(-45deg);
  transition: transform .25s ease;
  flex: none;
}

/* content */
.css-accordion .content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  background: #fff;
}
.css-accordion .inner {
  padding: 14px 16px;
  color: #334155;
  border-top: 1px solid #e5e7eb;
}

/* when opened */
.css-accordion .toggle:checked ~ .content {
  max-height: 320px; /* adjust if answers can be longer */
}
.css-accordion .toggle:checked ~ .label .chev {
  transform: rotate(45deg);
}

/* optional hover focus */
.css-accordion .label:hover {
  background: #f1f5f9;
}
.css-accordion .label:focus {
  outline: 2px solid #93c5fd;
  outline-offset: -2px;
}

/* LOGIN FORM */
/* Container styling */
.login-form {
    background: rgba(255, 255, 255, 0.1);
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}
.login-form:hover {
    transform: translateY(-3px);
}

/* Input fields */
.login-form .form-control {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 12px;
    font-size: 15px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}
.login-form .form-control:focus {
    border-color: #4A90E2;
    box-shadow: 0 0 6px rgba(74,144,226,0.3);
    outline: none;
}

/* Captcha row */
.captcha-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 15px 0;
}
.captcha-input {
    width: 45%;
}
.captcha-box {
    background: #f5f5f5;
    border-radius: 8px;
    font-weight: bold;
    font-size: 15px;
    color: #333;
	width: 50%;
	text-align: center;
}

/* Submit button */
.cta-button:disabled {
    opacity: 0.6; /* Make it a bit transparent */
    cursor: not-allowed; /* Change cursor to indicate it's not clickable */
    background-color: #cccccc; /* A common grey for disabled buttons */
    color: #666666; /* Darker text color */
}

.checkbox-container {
    display: flex; /* Make it a flex container */
    align-items: center; /* Vertically align items in the middle */
    gap: 8px; /* Add some space between the checkbox and the text */
    /* You can adjust 'gap' as needed for spacing */
}

/* Optional: Style the label to match the look in your image */
.checkbox-container label {
    font-size: 16px; /* Adjust font size if necessary */
    color: #dedede; /* A light grey color to match your background */
    /* If you want to make it unselectable for double-click, add: */
    /* user-select: none; */
}

/* Optional: Style the checkbox itself if you want to override default browser styles */
.checkbox-container input[type="checkbox"] {
    /* Example: adjust size */
    width: 20px;
    height: 20px;
    /* You might need more advanced CSS for custom checkbox styling across browsers */
}

/* You might already have .form-group styles, but if not: */
.form-group {
    margin-bottom: 15px; /* Add some space below the checkbox group */
}
