:root {
    --padding: 10px;
    --margin: 5px;
    --bordrad: 20px;
    --primcol: #125675;
    --opacity: .8;
    --fontcol: #ffffff;
    --bgcol: #242424;

    --animspeed:400ms;

    --locationinfotext: "Click to autodetect your current location";
    --infobtntext: "Search for a place to find the weather";
}

* {
    margin: 0px;
    padding: 0px;
    color: var(--fontcol);
    font-size: clamp(1rem, 2vw, 2rem);
    scroll-behavior: smooth;
    animation: fadein var(--animspeed);
    transition-duration:var(--animspeed);
}

body {
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    overscroll-behavior: none;
    background-repeat: no-repeat;
    background-image: url("BG_images/clear sky.webp");
    background-size: cover;
}

#topbar {
    height: 10vh;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

#search {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    padding: var(--padding);
    height: 5vh;
    width: clamp(300px, 40%, 800px);
    background-color: #070707;
    border-radius: var(--bordrad);
    padding-left: calc(var(--padding)*3);
    margin-bottom: var(--margin);
}

#searchhere {
    -webkit-user-modify: read-write-plaintext-only;
    width: 80%;
    border: none;
    outline: none;
    background-color: #070707dc;
}

#searchicon {
    height: 4vh;
    width: 4vh;
    cursor: pointer;
}

#weathershow {
    animation: fadein var(--animspeed);
    max-height: 80vh;
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: scroll;
    background-color: var(--bgcol);
    color: var(--fontcol);
    opacity: 96%;
    border-radius: var(--bordrad);
    padding: var(--padding);
}

#wicon {
    background-color: #000000;
    height: 10vh;
    width: 10vh;
    margin: var(--margin);
    border-radius: var(--bordrad);
}

.wdata {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 90%;
    border-radius: var(--bordrad);
    background-color: #070707;
    margin: var(--margin) 0px;
    padding: var(--padding);
}

.wdata :nth-child(1) {
    width: 50%;
    text-align: left;
    font-weight: bold;
}

.wdata :nth-child(2) {
    width: 40%;
    text-align: left;
}

#infobtn {
    height: 5vh;
    width: 5vh;
    cursor: pointer;
    border-radius: var(--bordrad);
    background-color: #09014b;
    text-align: center;
    line-height: 5vh;
    font-size: 150%;
    color: rgb(252, 252, 252);
}

#infobtn:hover {
    background-color: #000000;
    color: red;
}

#infobtn:hover::after {
    animation: fadein var(--animspeed);
    content: var(--infobtntext);
    position: absolute;
    width:60%;
    top: var(--padding);
    right: 20%;
    cursor: pointer;
    border-radius: var(--bordrad);
    background-color: #09014b;
    text-align: center;
    padding: var(--padding);
    color: rgb(255, 255, 255);
    font-size: 1rem;
}

#locationbtn {
    height: 5vh;
    width: 5vh;
    cursor: pointer;
    border-radius: var(--bordrad);
    background-color: #042fbe;
}

#locationbtn img {
    height: 3vh;
    width: 3vh;
    border-radius: var(--bordrad);
    padding: 1vh;
}

#locationbtn:hover::after {
    animation: fadein var(--animspeed);
    content: var(--locationinfotext);
    position: absolute;
    top: var(--padding);
    right: 25%;
    width:50%;
    cursor: pointer;
    text-align: center;
    padding: 15px;
    border-radius: var(--bordrad);
    background-color: #09014b;
    color: rgb(255, 255, 255);
    font-size: 1rem;
}

::-webkit-scrollbar {
    display: none;
}


@keyframes fadein {
    from {
        opacity: 0;
        width: 0px;
        font-size: 0px;
    }
    to {
        opacity: 1;
    }
}