html, body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    min-height: 100dvh;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
    background: #fff;
    overflow-x: hidden;
}

section {
    display: flex;
}

h1, h2 {
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-size: 2em;
}

input, button {
    font-family: 'Montserrat', sans-serif;
}

p.standard {
    line-height: 1.5;
    font-weight: 400;
}

ul.standard > li, ol.standard > li {
    line-height: 1.5;
    font-weight: 400;
}

a {
    color:inherit;
}

p:empty::before {
  content:"";
  display:inline-block;
}


#layout > .side-navigation.desktop > ul > li.active {
    color: black;
}

#main-content a:hover {
    background: #d8f0ff;
}


/* ------------------- Nav Section ------------------- */
nav {
    position: fixed;
    left: 0;
    right: 0;
    margin: 20px auto 0;
    width: fit-content;
    max-width: 70%;
    background: #00000080;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-box-shadow: #00000040 0 0 20px 7px;
    -moz-box-shadow: #00000040 0 0 20px 7px;
    box-shadow: #00000040 0 0 20px 7px;
    padding: 0.25em 0.25em;
    border-radius: 1em;
    z-index: 100;
    gap: 1em
}

nav.hidden {
    opacity: 0;
    transition: opacity 0.5s ease;
}

nav.visible {
    opacity: 1;
    transition: opacity 1s ease;
}

nav > a {
    padding: 0.6em 1em 0.5em;
    color: #FFF;
    font-size: 22px;
    font-family: "Bebas Neue";
    text-decoration: none;
}

nav > a:hover {
    background: #ffffff1c;
    color: #fff;
    border-radius: 0.6em;
}

nav > a.active {
    background: #FFF;
    color: #000;
    border-radius: 0.6em;
}

nav > a.compact:first-child {
    display: none;
    position: relative;
    padding-left: 60px;
    background: #FFF;
    color: #000;
    border-radius: 0.6em;
}

nav > a.compact:first-child::before{
    content: none;
    position: absolute;
    top: 0;
    left: 10px;
    background-image: url("/static/images/public/logo/logo.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 40px;
    height: 100%;
}

nav > div:last-child {
    display: none;
}

#mobileNavOverlay {
    position: fixed;
    width: 100%;
    z-index: 20;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 2em;
    transition: 0.2s ease-in-out;
    overflow: hidden;
}

#mobileNavOverlay:not(.active) {
    height: 0;
    padding: 0;
}

#mobileNavOverlay.active {
    height: 100%;
}


#mobileNavOverlay a {
    text-decoration: none;
    font-family: "Bebas Neue";
    font-size: 2.5em;
}

#mobileNavOverlay a:hover {
    color: #06BD23;
}


#main-content a.account-option-button {
    padding: 7.75px 20px;
    background: #000000;
    color: #ffffff;
    border-radius: 0.5em;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    outline: 2px solid black;
    outline-offset: -2px;
}

#main-content a.account-option-button:first-of-type {
    background: #fff;
    color: #000;
}

#main-content a.account-option-button:hover {
    background: #0D8838;
    color: #fff;
    outline: none;
}





/* ------------------- Content Sections ------------------- */
section.content {
    padding: 3em 0;
}

section.content.green {
    background: -webkit-linear-gradient(315deg, #0FA643, #007D38);
}

section.content > div {
    margin: auto;
    width: 90%;
    max-width: 900px;
}

section.content div.title h2{
    text-transform: uppercase;
    font-size: 40px;
    margin-bottom: 0;
}

section.content div.title.right h2{
    text-align: right;
}

section.content.green div.title h2{
    color: #FFF;
}

section.content div.title p{
    text-transform: uppercase;
    font-size: 18px;
    margin-top: 0;
    color: #A8A8A8;
}

section.content div.title.right p{
    text-align: right;
}

section.content.green div.title p{
    color: #000;
}

section.content div.cards {
    margin: 3em 0;
    display: flex;
    justify-content: center;
    gap: 0.5em;
}

section.content div.cards > div {
    background: #f2f2f2;
    width: 100%;
    aspect-ratio: 0.78;
    border-radius: 1em;
}

section.content div.cards.dark > div {
    background: #1d1d1f6b;
    color: #FFF;
}

section.content div.cards > div > h3 {
    padding: 0 1.25em;
    margin: 1.5em 0 0 0;
    font-size: 16px;
}

section.content div.cards > div > p.standard {
    padding: 0 1.25em;
    font-size: 15px;
}

section.content div.action-button button{
    border: none;
    border-radius: 0.5em;
    padding: 1em 2em;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    text-transform: uppercase;
    background: #FFF;
    color: #000;
}

section.content div.action-button.black button{
    background: #212121;
    color: #FFF;
}

section.content div.action-button.right{
    float: right;
}

section.content div.full-image {
    margin: 2em 0;
}

section.content div.full-image img {
    width: 100%;
    min-height: 400px;
    object-fit: cover;
    object-position: 32% 50%;
    border-radius: 2em;
}




progress {
    border-radius: 10px;
    overflow: hidden;
    height: 10px;
}
progress::-webkit-progress-bar {
    background-color: #DDDDDD;
}
progress::-webkit-progress-value {
    background-color: #0D8838;
}
progress::-moz-progress-bar {
    background-color: #DDDDDD;
}
progress::-moz-progress-value {
    background-color: #0D8838;
}



@keyframes spinner {
    to {transform: rotate(360deg);}
}

.spinner {
    position: relative;
}

.spinner::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 96.5%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    border-radius: 50%;
    border: 2px solid #ccc;
    border-top-color: #000;
    animation: spinner .6s linear infinite;
}



button.primary {
    background: #0D8838;
    color: #FFFFFF;
    border: none;
    border-radius: 0.4em;
    padding: 0.5em 1em;
    font-weight: 600;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.1px;
    cursor: pointer;
}

button.secondary {
    background: #ffffff;
    color: #929292;
    border: none;
    border-radius: 0.4em;
    padding: 0.5em 1em;
    font-weight: 600;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.1px;
    cursor: pointer;
}

button.primary:not([disabled]):hover, button.secondary:hover {
    background: #000;
    color: #FFF;
}


td:last-of-type {
    position: relative;
    vertical-align: middle;
}



#key-container {
    display: none;
    justify-content: space-between;
    width: 100%;
    border: none;
    border-radius: 0.5em;
    background: #f7f7f7;
    padding: 1em;
    margin: 1em 0
}


.more-action {
    width: 20px;
    height: 20px;
    border-radius: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px;
    margin-left: auto;
}

.more-action:hover {
    background: #e8e8e8;
}

.more-action i {
    pointer-events: none;
}

.more-action + div {
    position: relative;
}

.more-action + div.active {
    display: block;
}

.more-action + div {
    display: none;
    position: absolute;
    background: #fff;
    padding: 0.5em;
    -webkit-box-shadow: #00000040 0 0 20px 7px;
    -moz-box-shadow: #00000040 0 0 20px 7px;
    box-shadow: #00000014 0 0 4px 2px;
    border-radius: 0.5em;
    top: 86%;
    right: -25%;
    z-index: 10;
}

.more-action + div button {
    border: none;
    background: #fff;
    cursor: pointer;
    padding: 0.25em 1em;
    border-radius: 0.25em;
}

.more-action + div button:hover {
    background: #ececec;
}

.add-action {
    border: none;
    margin: 1em auto;
    color: #484848;
    background: none;
    display: flex;
    align-items: center;
    border-radius: 100vw;
    cursor: pointer;
    padding: 0px 10px 0px 0px;
    font-weight: 500;
    font-size: 14px;
}

.add-action:hover {
    background: #ececec;
}


.add-action span {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.remove-action {
    border: none;
    color: #FFFFFF;
    background: #0d8838;
    display: flex;
    align-items: center;
    border-radius: 100vw;
    cursor: pointer;
    padding: 0px 10px 0px 0px;
    font-weight: 500;
    font-size: 14px;
    justify-content: center;
    margin: 0 0 0 auto;
    width: 90%;
}

.remove-action:hover {
    background: #000000;
}

.remove-action:disabled {
    background: #929292;
}

.remove-action span {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.merge-action {
    border: none;
    color: #FFFFFF;
    background: #0d8838;
    display: flex;
    align-items: center;
    border-radius: 100vw;
    cursor: pointer;
    padding: 4px 10px 4px 10px;
    font-weight: 500;
    font-size: 14px;
    justify-content: center;
    margin: 0 0 0 auto;
}

.merge-action:hover {
    background: #000000;
}

.test-action {
    border: none;
    background: none;
    font-weight: 500;
    font-size: 14px;
    color: #A0A0A0;
    cursor: pointer;
}

.test-action:hover {
    color: #000;
}

/* .modal.active {
    display: flex;
}

.modal {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: #00000040;
}

.modal .inner {
    position: relative;
    padding: 2em;
    box-sizing: border-box;
    background: #fff;
    border-radius: 1em;
    -webkit-box-shadow: 0px 3px 33px 0px rgba(0,0,0,0.26);
    -moz-box-shadow: 0px 3px 33px 0px rgba(0,0,0,0.26);
    box-shadow: 0px 3px 33px 0px rgba(0,0,0,0.26);
    width: 90%;
    max-width: 500px;
    margin-right: 15px;
}

.close-action:hover {
    background: #ececec;
}

.close-action {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #484848;
    cursor: pointer;
    border-radius: 100vw;
    width: 2em;
    height: 2em;
    margin: 0.5em;
}

.modal .inner h3 {
    margin: 0 0 0.5em;
}

.modal .inner .selectize-control.multi .selectize-input [data-value] {
    border: none;
    background: #e3e3e3;
    color: #000;
    text-shadow: none;
    box-shadow: none;
}

.modal .inner .selectize-control.multi .selectize-input {
    box-shadow: none;
    border: 2px solid #c8c8c8;
    border-radius: 0.5em;
}

.modal .inner input {
    border: 2px solid #c8c8c8;
    padding: 8px 8px;
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: none;
    border-radius: 0.5em;
    font-family: inherit
}

.modal .inner button {
    font-size: 14px;
    font-weight: 500;
    margin-top: 0.75em;
}

.modal .inner button:disabled {
    background: #929292;
} */

table input[type="number"] {
    border: none;
    border: 1.5px solid #bababa;
    background: none;
    padding: 5px 8px;
    border-radius: 0.5em;
}



.card {
    background: #f7f7f7;
    padding: 1em;
    flex: 1;
    border-radius: 0.5em;
}

.card-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 1em;
}

.card h2.card-title {
    margin: 0;
}

.card p.standard {
    margin-top: 0;
    color: #929292;
}

.card a {
    text-decoration: none;
    color: #0D8838;
    cursor: pointer;
}



#map {
    aspect-ratio: 1.75 / 1;
    border-radius: 0.5em;
    -webkit-box-shadow: 0px 10px 15px -3px rgb(0 0 0 / 15%);
    -moz-box-shadow: 0px 10px 15px -3px rgb(0 0 0 / 15%);
    box-shadow: 0px 10px 15px -3px rgb(0 0 0 / 15%);
}








.mobile {
    /* display: none; */
    transition: 1s height ease-in-out;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0!important;
    padding: 0;
}

.desktop {
    /* display: flex; */
    transition: 1s ease-in-out;
    width: auto;
    height: auto;
    overflow: auto;
    opacity: 1;
}

@media screen and (max-width: 1000px) {
    .mobile {
        width: auto;
        height: auto;
        overflow: auto;
        opacity: 1;
    }

    .desktop {
        /* display: none; */
        width: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
        margin: 0!important;
        padding: 0;
    }

    #main-content {
        padding-top: 70px !important;
    }

    nav {
        margin: 0;
        width: 100%;
        max-width: 100%;
        justify-content: flex-start;
        background: #ffffff80;
        border-radius: 0;
    }
    
    nav > a {
        display: none;
    }

    nav > a.compact:first-child {
        display: flex;
        position: relative;
        padding-left: 60px;
        color: #000;
        background: transparent;
        font-size: 30px;
    }

    nav > a.compact:first-child::before{
        content: "";
    }

    nav > div:last-child {
        width: 100%;
        height: 100%;
        padding-right: 2em;
        display: flex;
        justify-content: flex-end;
    }

    nav > div:last-child button {
        background: none;
        border: none;
    }


    section.content > div {
        max-width: 700px;
    }

    section.content div.cards {
        flex-wrap: wrap;
    }

    section.content div.cards > div {
        width: calc(50% - 0.25em);
    }
}


@media screen and (max-width: 770px) {
    #map {
        aspect-ratio: 1;
    }

    .card-wrapper {
        flex-direction: column;
    }
}
