*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hide {
    display:none;
}

.geo-error-message, .attribution-links {
    max-width:400px;
    -webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
    background:#fff;
    padding: 25px;
    margin:6rem auto;
    position:relative;
    z-index: 10;
}

.close-error, .close-attribution {
    position:absolute;
    top:0;
    right:0;
    border-radius:0;
    border: 1px solid #ccc;
    background-color: #fff;
}

.search-bar {
    background:#fff;
    height:129px;
    color:#555;
    padding-top:5px;
}

.search-location-text {
    font-size: 12px;
    font-weight:300;
}
.search-text {
    text-align:center;
    margin-bottom:10px;
}


.search-button {
    border:none;
    width:50%;
    background-color: #ddd;
    color:#555;
    height:30px;
    font-size:16px;
    display:inline-block;
}

.search-location-button {
    border-right: 1px solid #fff;
}

.geo-button {
    border-left: 1px solid #fff;
}

.search-location-input {
    color: #000;
    padding:7px;
	width:60%;
}

@media all and (min-width:401px) {
    .search-bar {
        height:107px;
    }

}


@media all and (min-width:505px) {

    .search-bar {
        padding-top:0;
        height:50px;
    }
    .search-text {
        text-align:left;
        float:left;
        margin-top:5px;
        margin-bottom:0;
        padding-left:10px;
    }

    .search-location-button-group {
        float:right;
    }

    .search-button {
        width:30px;
    }

}


@media all and (min-width:753px) {

    .search-bar {
        height: 64px;
        padding-top:0;
    }

    .search-location-text{
        font-size:12px;
        position:relative;
        top:5px;
    }

    .search-text {
        text-align:left;
        display:inline;
        margin:0;
    } 

    .search-location-button-group {
        display: inline;
        float: right;
    }

    .search-button {
        width:30px;
        float:left;
        height:30px;
    }
}


body {
    margin:0;
    padding:0;
    /*font-family: 'Open Sans', sans-serif;*/
}



.fallback-background {
    background-image:url(../images/weather.png);
}

#rain-canvas, #weather-canvas, #cloud-canvas, #time-canvas, #lightning-canvas {
    position:absolute;
    z-index: -1;
}


/* Canvas Background Classes */

.thunderstorm {
    background-color: #34495E;
}
.drizzle, .rain {
    background-color: #2080B6;
}
.snow {
    background-color: #959B9F;
}
.atmosphere {
    background-color: #FFFFFF;
}
.clouds {
    background-color: #3498DB;
}
.clearsky, .default-weather {
    background-color: #6FC2D4;
}
.extreme-weather {
    background-color: #C0392B;
}


.thunderstorm.nighttime {
    background-color: #1B2631;
}
.drizzle.nighttime, .rain.nighttime {
    background-color: #0E3A53;
}
.snow.nighttime {
    background-color: #333537;
}
.atmosphere.nighttime {
    background-color: #32364A;
}
.clouds.nighttime {
    background-color: #164362;
}
.clearsky.nighttime {
    background-color: #222;
}
.extreme-weather.nighttime {
    background-color: #491611;
}

.nighttime {
    background-image: url(../images/stardust.png);
}


h1, h2, h3, h4, h5, h6 {
    font-weight: 300;
}


.weather, .front-page-description {
    text-align:center;
    color: #333;
    font-size:16px;
    font-weight:300;
}

.nighttime .weather {
    text-shadow: 1px 1px 4px #000;
    font-weight:400;
}

.nighttime .checked {
    color: rgba(255,255,255,.5);
}

.weather-info {
    list-style-type:none;
    padding:0;
    text-align:center;
    font-size:16px;
}

.weather-item {
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    text-align: left;
    margin: 0 0 10px 0 !important;
    padding: 2px;
    border-radius: 5px;
}


.middle {
    margin: 0;
}

@media all and (min-width:500px) {
    .middle {
        /*position: absolute;*/

    }
}


.temp-change {
    clear:both;
}

.weather-container {
    position:relative;
}

.weather-description {
    display: inline-block;
    text-transform: capitalize;
}

.weather-description, .weather-box {
    padding: 0;
}

.temp-change-button {
    background: none;
    border: none;
    padding: 0 10px;
    font-weight: 600;
    font-size: 14px;
}

.celsius {
    border-right: 2px solid #fff;
}

.checked {
    color: rgba(0,0,0,.5);
}

.humidity {
    background-image: url(../images/humidity.svg);
    padding-left: 25px;
}
.wind {
    background-image: url(../images/flag.svg);
    margin-left: 20px;
    padding-left: 20px;
}

.temperature {
    font-size:16px;
    line-height:1;
}

@media all and (min-width:320px) {
    .temperature  {
        font-size: 1em;
    }
}

.temperature:after {
    content: '\B0 C';
    font-size: 16px;
    line-height: 2.2;
}

.fahrenheit-degree:after {
    content: '\B0 F';
}

.celsius-degree:after {
    content: '\B0 C';
}


/* Sticky Footer */
.page-wrap {
    margin-bottom: 0;
    background: #fff;
    color: #333;
}
.page-wrap:after {
  content: "";
}
.site-footer, .page-wrap:after {
  height: 100px; 
}
.site-footer {
  background: #fff;
  color: #555;
  font-size: 14px;
}

.site-footer-section {
    padding: 5px 5px 0 5px;
    font-size: 14px;
}

.noun-project {
    border:none;
    background:none;
    padding:0;
    text-decoration:underline;
}


@media all and (min-width:341px) {

}


@media all and (min-width:861px) {

    .author {text-align:right;}

}