/*
CSS style sheet for a new explorer window based on chat paradigm


2024-07-27 Andrea
                    + largely familiar interface; chat inputs moved to the bottom of the page
                    + results area merged with messages area. Both results of interaction. Both informative.
                    + various styles for GUIs

                    ! NEEDS to be cleaned by unused script
                    ! Must uniform modal buttons across the script, too many classes



*/
/*Courtesy message on version update*/
#transitionOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9); /* White overlay with slight transparency */
    z-index: 1000; /* Ensure it appears above other content */
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'DM Sans', sans-serif; /* Match your existing font */
}
.overlay-content {
    text-align: center;
}
.overlay-content h2 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
.overlay-content p {
    font-size: 1.2rem;
}
/*End of courtesy message style on version update*/


/*global var*/
:root {
    --header-footer-height: 60px;
}

/* Images */
.image-container {
    width: 100%;
    max-width: 400px; /* Maximum width to fit within the layout */
    overflow: hidden;
}
.prepare-image {
    width: 90%;
    height: auto; /* This ensures the aspect ratio is maintained */
    object-fit: cover;
    object-position: left;
    margin-top: 18px;
    margin-bottom: 30px;
}
.icon{
    width: 20%;
}

/* General Typography */
body, p, h1, h2, h3, h4, ul, li {
    font-family: 'DM Sans', sans-serif !important;
}
/* Title */
h1 {
    margin-top: 15px;
    font-size: 49px;
    font-weight: 500;
}
/* Subtitle */
h2 {
    font-size: 30px;
    font-weight: normal;
}
/* Title Body */
h3 {
    margin-top: 80px;
    font-size: 18px;
    font-weight: normal;
}
/* Paragraph */
p {
    font-size: 21px;
    line-height: 1.5;
}
/* Lists */
ul, li {
    font-size: 16px;
    margin-bottom: 3px;
}
/*no underline for links*/
.no-underline {
    text-decoration: none;
}
/* Footer Text */
h4 {
    font-size: 16px;
    font-weight: regular;
}
/*partners list*/
.partners-list li {
    break-inside: avoid; /* Avoid breaking list items across columns */
    padding: 5px 0; /* Add some padding for better readability */
}
.partners-list {
    columns: 3; /* Number of columns */
    -webkit-columns: 3; /* For Safari and Chrome */
    -moz-columns: 3; /* For Firefox */
    list-style-type: none; /* Remove default bullet points */
    padding-left: 0; /* Remove default padding */
}

/* Body */
html,body {
    margin: 0;
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto; /* Allow vertical scrolling */
}

.tooltip {
    z-index: 0 !important;
}

.header-container {
    margin-bottom: 0;
    background-color: #f8f8f8;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 1000;
}
.header-left, .header-right, .header-center {
    display: flex;
    flex-direction: row;
    height: var(--header-footer-height);
    color: #1a1a1a !important;
    text-align: center;
    align-items: center;
    padding: 0 42px;
    gap:80px;
}
.header-left {
    flex: 1;
    justify-content: flex-start;
}
.header-right {
    flex: 1;
    justify-content: flex-end;
}
.tooltip-inner {
    background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent background */
    border-radius: 8px; /* Rounded corners */
    color: white; /* Text color */
    padding: 8px; /* Padding for the tooltip */
    font-size: 14px; /* Font size adjustment */
}

.tooltip-arrow {
    display: none; /* Remove the arrow if needed */
}

.footer {
    width: 100%;
    height: var(--header-footer-height);
    background-color: #f8f8f8;
    border-top: 1px solid #e0e0e0;
    color: #1a1a1a !important;
    text-align: center;
    align-items: center;
    padding: 15px;
    position: fixed;
    z-index: 1000;
    bottom: 0;
}  

.navButton {
    font-size:18px;
    color: #1a1a1a;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
}
.navButton:hover {
    color: #1a4545;
}
.dropdown-menu {
    background-color: #FEFEFE;
    border: 1px solid #E0E0E0;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 1000;
    min-width: 200px;
}
.dropdown-menu .dropdown-item {
    padding: 10px;
    color: #333;
}
.dropdown-item.active {
    background-color: #1a4545;
    color: #FEFEFE;
}
.dropdown-item:hover {
    background-color: #1a4545;
    color: #FEFEFE;
}


/* Main Content */
.main-content {
    display: flex;
    flex-direction: row;
    margin-top: var(--header-footer-height);
    height: calc(100vh - var(--header-footer-height)*2);
}

/* Panels */
.left-panel {
    flex: 3;
    padding-top: 15px;
    padding-left: 40px;
    overflow-y: auto;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE and Edge */
    background-color: #FEFEFE; /* Bright White */
}
.right-panel {
    position: relative;
    flex: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    background-color: #E0E0E0;
    padding-left: 0;
}
.call-to-action, .main-login, .logo{
    position: absolute;
    align-items: center; /* Center horizontally */
}
.call-to-action{
    top:38.5%;
}
.main-login{
    align-items: center;
} 
.logo{
    top: 85%; /* Position the top of the content at 50% of the container height */
}

/* .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color:  #E0E0E0;
    z-index: 10; 
    overflow: auto;
    padding: 20px;
    box-sizing: border-box;
    font-size: 16px;
    color: #000;
    opacity: 0;
    pointer-events: none;
} */

/* Big Buttons center page right panel */
.login-button, .logout-button {
    font-size: 18px;
    height: 77px;
    width: 280px;
    border-radius: 40px;
    padding: 10px 10px;
    color: #FEFEFE !important;
    border: none;
}
.login-button {
    margin-top: 20px;
    background-color: #1a4545;
}
.login-button:hover{
    background-color: #224f4f !important;
}
.logout-button {
    background-color: #5a5a5a;
    display: none;
}
.logout-button:hover{
    background-color: #444444 !important;
}
.modal-title{
    font-size:23px;
}
.modal-body label {
    font-size: 19px;
}
.modal-body input {
    font-size: 16px;
    padding: 10px;
}
.btn-close {
    font-size: 15px;
    width: 50px;
    height: 20px;
}
.modal-content .btnCloseRect {
    color:#FEFEFE;
    background-color:#1a4545!important;
    border: transparent;
    border-radius:10px;
    height: 40px;
    width:80px;
}
.modal-content .btnCloseRect:hover {
    background-color:#224f4f!important;
}
.modal-primary-button {
    margin-top: 10px;
    background-color: #1a4545;
    color: #FEFEFE !important;
    padding: 10px 10px;
    border: none;
    border-radius: 10px;
    font-size: 18px !important;
    height: 50px;
    width: 90px;
}
.modal-primary-button:hover{
    background-color: #224f4f !important;
}
.modal-secondary-button {
    margin-top: 10px; /* Adjust this value to increase the space */
    background-color: #7e7e7e;
    color: #FEFEFE !important;
    padding: 10px 10px;
    border: none;
    border-radius: 10px;
    font-size: 18px !important;
    height: 50px;
    width: 90px;
}
.modal-secondary-button:hover{
    background-color:  rgb(150, 150, 150) !important;  
}
.modal-body {
    font-size: 15px;
}
.form-check{
    margin-bottom:15px;
}
.form-check-input {
    margin-top: 3px;
    margin-right: 10px;
}
.custom-checkbox:checked {
    background-color: #1a4545;
}
.custom-checkbox:focus {
    outline: none;
    box-shadow: none;
}
.custom-checkbox:checked + .form-check-label {
    color: #1a4545;
}
#communitySelectionModal .btn-toggle-select {
    color: black;
    background-color: #f8f9fa;
    outline: 3px solid #696969;
    box-shadow: 0 0 0 3px #696969;
    position: relative;
    border: none;
    padding: 6px 16px;
    margin-left:-3px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}
#communitySelectionModal .btn-toggle-select:focus,
#communitySelectionModal .btn-toggle-select:active {
    outline: 3px solid #696969; /* Maintain the green outline on focus and active */
    box-shadow: 0 0 0 3px #696969; /* Maintain the green shadow on focus and active */
}
.modal-footer {
    display: flex;
    justify-content: space-between; /* Aligns children to start and end */
    align-items: center;
    padding: 1rem;
    border-top: 1px solid #dee2e6;
}
.button-group-left, .button-group-right {
    display: flex;
    align-items: center;
}
.button-group-left {
    justify-content: flex-start; /* Aligns 'Select All' and 'Deselect All' to the left */
    gap:10px;

}
.button-group-right {
    justify-content: flex-end; /* Aligns 'Done' to the right */
}

/*owl jump animation*/
@keyframes jump {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
    100% {
        transform: translateY(0);
    }
}
.owl-jump {
    animation: jump 0.5s ease;
}

/* Responsive Design for Mobile */
@media only screen and (max-width: 600px) {
    html, body{
        background-color:#f2f1ee;
    }
    .header-container {
        flex-direction: column;
        height: 60px;
    }
    .header-left, .header-right {
        flex: 1;
        justify-content: start;
        justify-content: center; /* Center the content horizontally */
        padding: 10px;
    }
    .footer{
        height:60px;
    }
    .header-left .navButton {
        pointer-events: none;
        text-align: center;
        align-items: center;
    }
    #explorerButton .header-left .navButton::after {
        content: ": AI Knowledge Assistant";
    }
    .header-right {
        display: none; /* Hide the navigation menu */
    }
    .left-panel {
        display:none;
        flex: 1;
        padding: 15px 10px;
    }
    .right-panel{
        margin-top: 0;
    }
    .right-panel .call-to-action {
        top: 20%;
    }
    .right-panel .main-login {
        top: 30%;
    }
    .right-panel .logo {
        top: 69%;
    }
    .header-container, .footer {
        pointer-events: auto;
    }
    .about-panel {
        display: block;
        position: fixed;
        top: 0;
        right: -100%;
        height: 100%;
        width: 80%;
        max-width: 300px;
        background-color: white;
        box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
        z-index: 2000;
        transition: right 0.3s ease-in-out;
        overflow-y: auto;
        opacity:0.95;
        display: none; /* Hidden by default */
    }
    .close-btn {
        position: absolute;
        top: 10px;
        right: 20px;
        font-size: 30px;
        cursor: pointer;
    } 
    /* Reduce size of h1 in about panel */
    .about-panel p {
        margin-top:40px;
        font-size: 23px;
        margin-bottom: 0;
    }
    .about-panel h3 {
        margin-top: 40px;
        margin-bottom: 10px;

    }
    .about-panel ul, li {
        font-size: 16px;
        margin-bottom: 3px;
    }
    .about-panel li {
        padding-top: 0px; /* Add some padding for better readability */
    }

    .about-panel-content {
        padding: 20px;
        position: relative; /* Ensure relative positioning for child elements */
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: left;
    }
    .about-panel .partners-list {
        columns: 1; /* Ensure single column for regular list */
        -webkit-columns: 1; /* For Safari and Chrome */
        -moz-columns: 1; /* For Firefox */
        list-style-type: none; /* Remove default bullet points */
        padding-left: 0; /* Remove default padding */
        text-align: left; /* Align text to the left */
    }

    /* Slide-in animation */
    .about-panel.show {
        right: 0;
    }
}
