:root {
    --primary: #1bd860;
    --primary-content: #000000;
    --primary-dark: #15ab4c;
    --primary-light: #3fe77c;

    --secondary: #1b34d8;
    --secondary-content: #f4f6fe;
    --secondary-dark: #1529ab;
    --secondary-light: #3f55e7;

    --background: #eff1ef;
    --foreground: #fbfbfb;
    --border: #dde2de;

    --copy: #232925;
    --copy-light: #5e6e64;
    --copy-lighter: #84958a;

    --success: #1bd81b;
    --warning: #d8d81b;
    --error: #d81b1b;
    --success-content: #000000;
    --warning-content: #000000;
    --error-content: #fef4f4;
}

body {
    font-family: 'Raleway', sans-serif;
    margin: 0;
    overflow: hidden;
}
p,h1,h2,h3,h4,h5,h6 {
    margin-top: 0;
    margin-bottom: 0;
}
input {
    font-family: 'Raleway', sans-serif;
    width: 100%;
    border: solid 0.5px var(--primary);
    outline: none;
    padding: 5px;
    outline: 0;
    font-size: 15px;
}
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: var(--foreground);
    border-bottom-right-radius: 5px;
}
::-webkit-scrollbar-thumb {
    background: var(--background);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--border);
}

#map {
    height: 100vh;
    width: 100%;
    z-index: 100;
}

.show {
    display: block!important;
}

.loading {
    position: absolute;
    z-index: 102;
    height: 100vh;
    width: 100%;
    display: flex;
    backdrop-filter: blur(10px);
}
.loading .inner {
    margin: auto;
}
.loading .inner img {
    height: 50px;
    width: 50px;
}

.overlay {
    position: absolute;
    display: flex;
    flex-direction: column;
    z-index: 101;
    top: 15px;
    right: 15px;
}

.overlay .toggle {
    display: flex;
    align-items: center;
    background-color: whitesmoke;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    cursor: pointer;
    user-select: none;
    font-size: 15px;
    font-weight: bold;
}
.overlay .toggle svg {
    transition: 100ms;
    width: 20px;
    height: 20px;
    margin-right: 5px;
}

.overlay .toggle svg.open {
    transition: 100ms;
    rotate: 90deg;
}

.overlay .inner {
    display: none;
}

.overlay .search, .overlay .legend {
    background: whitesmoke;
    margin-bottom:10px;
    border-radius: 5px;
    max-width: 250px;
}

.search {
    padding: 0!important;
    margin-bottom: 15px;
}
.search .box {
    padding: 10px;
}
.search .box input {
    font-family: 'Raleway', sans-serif;
    border-radius: 4px;
}

.search .results {
    display: none;
    border-top: solid 0.5px var(--border);
    max-height: 40vh;
    max-width: 250px;
    overflow-y: scroll;
}

.search .result {
    display: flex;
    align-items: center;

    padding: 5px;
    border-bottom: solid 0.5px var(--border);

    cursor: pointer;

    .vessel-name {
        font-size: 15px;
        font-weight: bold;
    }

    .vessel-type {
        font-size: 14px;
        font-style: italic;
    }
}
.search .result .info {
    flex-direction: column;
    line-height: 15px;
    margin-left: 5px;
}
.search .result:hover {
    background-color: white;
}
.search .result:last-child {
    margin-bottom: 0;
    border-bottom: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.search .empty {
    padding: 5px;
    text-align: center;
}


.list .item {
    display: flex;
    align-items: center;

    background-color: var(--background);

    padding: 5px;

    border-bottom: solid 0.5px var(--border);

    cursor: pointer;
    user-select: none;

    font-size: 15px;

}
.list .item:first-child {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.list .item:last-child {
    border-bottom: none;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
.list .item img {
    margin-left: 5px;
    margin-right: 7px;
}
.list .item.selected {
    background-color: var(--foreground);
}

.btn {
    padding: 5px;
    text-decoration: none;
    color: black;
    background-color: whitesmoke;
    border-radius: 5px;
    width: -webkit-fill-available;
    text-align: center;
    transition: 100ms;
}
.btn:hover {
    background-color: var(--foreground);
    transition: 100ms;
}

.leaflet-container {
    a {
        color: unset!important;
    }
}

.leaflet-popup-content {
    font-family: 'Raleway', sans-serif;

    margin: 10px!important;
    font-size: 13px!important;
}

.ship-popup {

    .header {
        display: flex;
        align-items: center;

        margin-bottom: 10px;

        .flag {
            margin-right: 5px;
        }

        .vessel-name {
            font-weight: bold;
            font-size: 15px;

            line-height: 1;

            color: var(--primary)!important;

            margin-right: 50px!important;
            border-bottom: dashed 1px var(--primary);

            text-decoration: none;
        }

        .additional {
            margin-left: auto;
            margin-right: 10px;
        }
    }

    .row {
        display: flex;

        .col {
            flex-grow: 1;
            margin-right: 10px;

            &:last-child {
                margin-right: 0;
            }

            a {
                text-decoration: none;
                border-bottom: dashed 1px var(--primary);
            }
        }
    }

    p {
        margin: 0!important;
    }

    .separator {
        border-bottom: solid 1px var(--primary);
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .ship-photo {

        margin-bottom: 10px;

        img {
            width: 250px;
            border-radius: 4px;
            margin-bottom: 5px;
        }

        p {
            margin: 0!important;
            font-size: 10px;
            font-style: italic;
        }
    }
}

