body {
    margin: 0;
    background-color: #eee;
    overflow: hidden;
    height: 100%;
}

form {
    background-color: #000000;
}

#cityName {
    font-size: 40px;
    text-align: center;
    /*text-shadow: 2px 2px 8px #000;*/
}

#cityTemp {
    font-size: 70px;
    text-align: center;
    /*text-shadow: 2px 2px 8px #000;*/
}

#frame {
    border: 0px solid red;
}

#logo {
    vertical-align: middle;
    width: 50px;
    height: 50px;
}

#weather-header {
    margin-top: -90px;
}
#weather-icon {
    z-index: 1;
    padding-bottom: 200px;
    transition: .5s;
}
#fc-container {
    display: block;
    padding-top: .5em;
    margin: 0 auto;
    width: 100%;
    border: 0px solid red;
    justify-content: center;
}

#content {
    border: 0px solid blue;
    background-color: #000;
    display: block;
    height: 100%;
    max-width: 400px;
    margin: 0 auto;
}

#search-container {
    background-color: #000000;
    margin-bottom: 0;
    padding: 14px;
}

#city-input {
    float: right;
    height: 30px;
    width: 120px;
    font-size: 16px;
    border: 1px solid white;
    margin-top: 11px;
    margin-left: 10px;
    padding-left: 10px;
    border-radius: 3px;
    visibility: visible;
}

#search-btn {
    float: right;
    color: black;
    font-size: 1em;
    border: 1px solid black;
    background-color: #4BB543;
    margin-top: 11px;
    padding: 4px 8px;
    margin-left: 10px;
}

img {
    width: 100%;
}

.fc {
    display: flex;
    align-items: center;
    float: left;
    text-align: center;
    border: 0px solid black;
    padding-bottom: 10px;
}

.fc img {
    height: 80px;
    width: 80px;
}

.error {
    margin-top: 30px;
    font-size: 20px;
}

#weather-container {
    width: 400px;
    position: absolute;
    bottom: 0;
    text-align: center;
}

#weather-forecast {
    display: flex;
}

#fc-container {
    display: flex;
}

/*  ----------- heights ----------- */

@media only screen and (min-width: 700px) {
    #weather-container {
        max-width: 400px;
    }
}



@media only screen and (max-height: 600px) {
    #weather-icon {
        opacity: .3;
    }
}

@media only screen and (max-width: 199px) and (max-width: 300px) {
    #weather-icon {
        opacity: .3;
    }
}

@media only screen and (min-width: 400px) and (max-width: 675px) and (max-height: 675px) {
    #cityTemp {
        font-size: 47px;
    }
    #cityName {
        font-size: 27px;
    }
}


/* ----------- widths ----------- */
@media only screen and (max-width: 399px) {
    .fc {
        padding: 10px;
    }
    .fc img {
        height: 60px;
        width: 60px;
    }
    #weather-header {
        margin-top: -60px;
    }
    #cityTemp {
        font-size: 47px;
    }
    #cityName {
        font-size: 27px;
    }
    #weather-container {
        width: 100%;
    }
}

/* ------------------------------ new ------------------------------ */
@media only screen and (max-width: 340px) {
    .fc24, .fc28 {
        display: none;
    }
}

@media only screen and (max-width: 250px) {
    .fc20, .fc16 {
        display: none;
    }
}
/* ------------------------------ new ------------------------------ */

@media only screen and (max-width: 300px) {
    #city-input {
        display: none;
    }
    #search-btn {
        display: none;
    }
}