/* Code starts here , written by @curioushiva */
/* Universal values */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    background-color: #222222;
}


/* Main Page */
.page {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    font-family: "Dosis", sans-serif;
}

/* Just a Prank */
.DontDo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: white;
    display: none;
}

/* Main Conatiner */
.container {
    height: 80%;
    width: 80%;
    background-color: #000000C5;
    border-radius: 20px;
    position: relative;
    z-index: 1;
}

/* Weather Type Bg Img */
.WImgCont {
    height: 80%;
    width: 80%;
    position: fixed;
    z-index: -1;
    border-radius: 20px;
    display: none;
}

.WImgCont img {
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    object-fit: cover;
    border-radius: 20px;
    opacity: 0.3;
}

/* Upper Border */
.UpBorder {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 40px;
    gap: 20px;
    height: 7%;
    width: 100%;
    background-color: rgb(0, 0, 0);
    border-radius: 20px 20px 0px 0px;
}

.red {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background-color: #FF605C;
}

.red i {
    color: rgba(228, 228, 228, 0.668);
    font-weight: 800;
    font-size: 12px;
}

.yellow {
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background-color: #FFBD44;
}

.green {
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background-color: #00CA4E;
}


/* Navbar - Heading & Search Box */
.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    height: 25%;
    width: 100%;
    padding: 0px 50px 0px 50px;
}

/* Heading */
.heading h1 {
    font-size: 45px;
}

/* Search Box */
.searchBox {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
}

.searchBox input {
    padding: 8px 40px;
    border-radius: 20px;
    border: none;
    font-family: "Dosis", sans-serif;
    font-weight: 600;
    font-size: 15px;
}

.searchBox button {
    height: 35px;
    width: 35px;
    border-radius: 50%;
    border: none;
}

/* Media Query For Mobile Responsive */
@media (max-width:890px) {

    .nav {
        justify-content: center;
        flex-direction: column;
        /* same padding as web */
        padding: 0px 50px 0px 50px;
        gap: 30px;
    }

    .heading h1 {
        font-size: 35px;
    }

    .searchBox {
        gap: 20px;
    }
}

/* Message Hanlder */
.MsgHandler {
    height: 25%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    gap: 5px;
    padding: 0px 50px 0px 50px;
    padding-left: 20vw;
}


.MsgHandler h1 {
    font-size: 20px;
}

.MsgHandler h2 {
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
    color: white;
    font-weight: 700;
    padding-bottom: 2px;
    border-bottom: 0.5px solid white;
}

/* Media Query For Mobile Responsive */
@media (max-width:890px) {
    .MsgHandler {
        padding-left: 20vw;
    }

    .MsgHandler h1 {
        font-size: 15px;
    }

    .MsgHandler h2 {
        font-size: 10px;
    }
}

@media (max-width:490px) {
    .MsgHandler {
        height: 30%;
        align-items: flex-start;
        flex-direction: column;
        padding-left: 20vw;
    }

    .MsgHandler h1 {
        font-size: 15px;
    }

    .MsgHandler h2 {
        font-size: 10px;
    }
}

/* Weather Data */
.WeatherCont {
    height: 50%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    padding: 0px 50px 0px 50px;
    display: none;
}

/*  Left Weather Data */
.WL {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
}

/* Temprature */
.degree h1 {
    font-size: 60px;
}

.degree h1 sup {
    font-size: 17px;
    letter-spacing: 2px;
}

/* Weather about & (AQI for web) */
.about {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.about p {
    font-size: 30px;
}

.about .aqi {
    padding-top: 10px;
}

.about .aqi h2 {
    font-size: 18px;
}

.about .aqi i {
    color: white;
}

.HWP {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 20px;
    gap: 30px;
}

/* humidity */
.humidity {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}

.h-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.h-info i {
    font-size: 20px;
}

.h-info h2 {
    font-size: 15px;
}

.humidity p {
    font-size: 22px;
}

/* wind */
.wind {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}

.w-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.w-info i {
    font-size: 20px;
}

.w-info h2 {
    font-size: 15px;
}

.wind p {
    font-size: 22px;
}

/* precipitation */
.precipi {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}

.p-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.p-info i {
    font-size: 20px;
}

.p-info h2 {
    font-size: 15px;
}

.precipi p {
    font-size: 22px;
}


/* Right City Data  */
.WR {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
}

/* City */
.city h1 {
    font-size: 50px;
}

.city h2 {
    font-size: 15px;
}

/* City Time */
.currentTime h1 {
    font-size: 20px;
}

.currentTime h2 {
    font-size: 13px;
}

/* Weather Time */
.updateTime {
    padding-top: 10px;
}

.updateTime h1 {
    font-size: 20px;
}

.updateTime h2 {
    font-size: 13px;
}

/* Weather AQI for mobile */
.WR .aqi {
    display: none;
    padding-top: 10px;
}

.WR .aqi h2 {
    font-size: 14px;
}

.WR .aqi i {
    color: white;
}

/* Media Query For Mobile Responsive */
@media (max-width:890px) {

    .WeatherCont {
        padding: 30px 30px 0px 30px;
    }

    .WL {
        gap: 10px;
    }

    .degree h1 {
        font-size: 40px;
    }

    .degree h1 sup {
        font-size: 17px;
        letter-spacing: 2px;
    }

    .about p {
        font-size: 22px;
    }

    .about .aqi {
        display: none;
    }

    .HWP {
        flex-direction: column;
        padding-top: 20px;
        gap: 20px;
    }

    .humidity {
        gap: 2px;
    }

    .h-info {
        gap: 3px;
    }

    .h-info i {
        font-size: 17px;
    }

    .h-info h2 {
        font-size: 12px;
    }

    .humidity p {
        font-size: 17px;
    }

    .wind {

        gap: 2px;
    }

    .w-info {
        gap: 3px;
    }

    .w-info i {
        font-size: 17px;
    }

    .w-info h2 {
        font-size: 12px;
    }

    .wind p {
        font-size: 17px;
    }


    .precipi {
        gap: 2px;
    }

    .p-info {
        gap: 3px;
    }

    .p-info i {
        font-size: 17px;
    }

    .p-info h2 {
        font-size: 12px;
    }

    .precipi p {
        font-size: 17px;
    }

    .WR {
        align-items: flex-start;
        gap: 20px;
    }

    .city h1 {
        font-size: 30px;
    }

    .city h2 {
        font-size: 15px;
    }

    .currentTime h1 {
        font-size: 15px;
    }

    .currentTime h2 {
        font-size: 13px;
    }

    .updateTime {
        padding-top: 10px;
    }

    .updateTime h1 {
        font-size: 15px;
    }

    .updateTime h2 {
        font-size: 13px;
    }

    .WR .aqi {
        display: flex;
    }
}


/* Footer */
.footer {
    height: 10%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 45px 50px 45px 50px;
    color: white;
    position: absolute;
    bottom: 0;
    background-color: rgb(0, 0, 0);
    border-radius: 0px 0px 20px 20px;
}

.devname h2 a {
    font-size: 12px;
    font-weight: 600;
    color: white;
    text-decoration: none;
    text-transform: uppercase;
}

.devname h2 a:hover {
    border-bottom: 0.5px solid white;
}

.devsocials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.devsocials a {
    text-decoration: none;
    color: white;
}

.devsocials a i {
    font-size: 28px;
    color: white;
}

/* Media Query For Mobile Responsive */
@media (max-width:890px) {

    .footer {
        padding: 40px 40px 40px 40px;
    }

    .devname h2 a {
        font-size: 10px;
    }

    .devsocials a i {
        font-size: 25px;
    }
}

/* Code ends here */