@import url('https://fonts.googleapis.com/css2?family=Montserrat&display=swap');
/* Importing Montserrat font */



:root {
    --main-bg-color: brown;
}

body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

h1 {
    font-size: 2em;
    font-weight: 600;
    padding: 10px 0;
    color: var(--main-bg-color);
}

h2 {
    font-size: 1.5em;
    font-weight: 400;
    padding: 10px 0;
    color: var(--main-bg-color);
}

h3 {
    font-size: 1.2em;
    font-weight: 400;
    padding: 10px 0;
}

h4 {
    font-size: 1.0em;
    font-weight: 500;
    padding: 10px 0;
}

p {
    font-size: 1em;
    line-height: 1.2em;
    font-weight: 300;
    padding: 5px 0;
}

section {
    margin-bottom: 10px;
    padding: 0 10px 10px 10px;
}

.section-title {
    font-size: 1.0em;
    font-weight: 500;
    padding: 0;
}

.section-description {
    font-size: .7em;
}

.controls-container {
    display: flex;
    justify-content: flex-end;
    padding: 10px 0;
}

.icon-button {
    background: none;
    border: none;
    cursor: pointer;
    outline: none;
    margin: 5px;
    text-decoration: none;
    color: grey;
    white-space: nowrap;
    padding: 3px 0;
}

.title-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* This will space the logo and user menu apart */
    background-color: #333;
    /* Dark background color for the title bar */
    padding: 10px 20px 10px 0;

    color: #fff;
    height: 40px;
}

/* ... other styles remain unchanged ... */

.user-menu {
    display: flex;
    align-items: center;
}

.menu-item {
    margin-left: 20px;
    /* Adjust spacing between menu items as needed */
    color: #fff;
    /* Text color for menu items */
    text-decoration: none;
    /* Remove underline */
}

.logo {
    width: 40px;
    /* Adjust as needed */
    height: 40px;
    /* Adjust as needed */
    margin-right: 10px;
}

.logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    /* Remove underline */
    color: inherit;
    /* Use the parent's text color */
    font-size: 24px;
    font-weight: bold;
}

.logo-link:hover {
    text-decoration: none;
    /* Ensure there's no underline even on hover */
}

.container {
    /* Ensure there's no underline even on hover */
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    max-width: 1200px;
    padding: 5px;
    box-sizing: border-box;
    margin: auto;
}





.card-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;

}


h1 {
    font-size: 24px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.card {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid #ccc;
    margin-bottom: 15px;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.card-content {
    padding: 10px;
    flex-grow: 1;
}

.card-footer {
    padding: 10px;
    border-top: 1px solid #ccc;
    font-size: .8em;
}

.card-footer span {
    margin: 5px 5px;
}

.card-title {
    margin-top: 0;
    margin-bottom: 5px;
    padding-bottom: 5px;
}

.card p {
    margin-bottom: 10px;
    margin-top: 5px;
}

.card a {
    color: #007BFF;
    text-decoration: none;
}

.card a:hover {
    text-decoration: underline;
}

.card-content p {
    font-size: .8em;
}

.message-bar {
    display: flex;
}

.message {
    text-align: center;
    width: 100%;
    padding: 5px;
    background-color: lightgray;
}

.message .info {
    background-color: #e1f5c7;
}

.message .warning {
    background-color: #ffbf75;
}

.message .error {
    background-color: #ff7575;
}

.hidden {
    display: none;
}


@media print {

    .no-print,
    .no-print * {
        display: none !important;
    }

    .pagebreak {
        page-break-before: always;
    }

    /* page-break-after works, as well */

    tr {
        border-bottom: 1px solid black;
    }
}


@media screen {
    .only-print {
        display: none;
    }

    .no-print-row {
        background-color: lightgray;
    }
}


ul {
    list-style-type: disc;
    margin-left: 20px;
    padding: 10px 0;
    line-height: 1.4em;
}

ol {
    list-style-type: decimal;
    margin-left: 20px;
    padding: 10px 0;
    line-height: 1.4em;
}


.report h1 {
    padding-bottom: 0;
    margin-top: 20px;
    margin-bottom: 5px;
}

.report section {
    border-bottom: 1px solid #ccc;
}

/* HOTFIX: Prevent hiq override. 
input[type="text"].mapboxgl-ctrl-geocoder--input {
    padding: 6px 45px;
    height: 50px;
}
*/

button.mapboxgl-ctrl-attrib-button {
    padding: 0;
}

.report-disclaimer-section {
    font-size: .8em;
    margin-top: 20px;
}

button.is-secondary {
    --button-border-color: rgb(112, 112, 112);
    --button-background-color: rgb(223, 223, 223);
    --button-text-color: rgb(54, 54, 54);
    --button-hover-background-color: rgb(46, 46, 46);
}

.chat-nav {
    display: flex; 
    justify-content: space-between; 
    border-bottom: 1 solid lightgray;
}


@media only screen and (max-width: 768px) {
    .hide-on-mobile {
        display: none;
    }
}

@media only screen and (min-width: 768px) {
    .hide-on-desktop {
        display: none;
    }

    .tool-card {
        width: 49%;
    }

}


.tool-card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px
}

.tool-card-inactive {

        width: 100%;
        border: 1px solid #ccc;
        margin-bottom: 15px;
        border-radius: 5px;
        background-color: whitesmoke;
        cursor: not-allowed;
}

.tool-card {
    text-align: center;
}

button.is-outline {
    --button-border-color: rgb(112, 112, 112);
    --button-background-color: :rgba(223, 223, 223, 0.5);
    --button-text-color: rgb(54, 54, 54);
    --button-hover-background-color: rgb(46, 46, 46);
}

button.is-inactive {
    cursor: not-allowed;
}

