html, body {
    position: relative;
    padding: 0;
    margin: 0;
    font-family: 'Lato', sans-serif;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
}

*, *:before, *:after {
    box-sizing: inherit;
}

.light-text {
    font-weight: 200;
}


/** Container **/
.main-container {
    width: 1920px;
    height: 1080px;
    overflow: hidden;
    margin: -540px 0 0 -960px;
    padding: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.main-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/** Intro **/
.intro-panel {
    position: absolute;
    bottom: 43%;
    left: 43%;
}

.intro-text {
    position: absolute;
    width: 1360px;
    height: 250px;
    right: 17%;
    bottom: 10%;
    text-align: right;
    z-index: 10;
}

/*.intro-text1 {*/
    /*position: absolute;*/
    /*bottom: 22%;*/
    /*right: 17%;*/
/*}*/

/*.intro-text2 {*/
    /*position: absolute;*/
    /*bottom: 10%;*/
    /*right: 17%;*/
/*}*/

.intro-rocket {
    position: absolute;
    bottom: 13%;
    left: 14%;
    z-index: 9;
}
.intro-hill {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 5;
}
.intro-sun {
    position: absolute;
    top: -5%;
    right: 0;
    z-index: 4;
}


/** Stats **/
.stats-container {
    position: relative;
    background: url(../images/stats-bg.png?c=20171215) no-repeat;
    width: 1500px;
    height: 784px;
    margin: 0 auto;
}

.stats-container .current-temp {
    position: absolute;
    top: 145px;
    right: 140px;
    color: #ffffff;
    font-size: 230px;
    text-align: right;
}

.stats-container .current-low {
    position: absolute;
    top: 435px;
    right: 432px;
    color: #6de5ff;
    font-size: 40px;
}

.stats-container .current-high {
    position: absolute;
    top: 435px;
    right: 52px;
    color: #fffd62;
    font-size: 40px;
}

.stats-container .current-icon {
    position: absolute;
    width: 290px;
    top: -65px;
    text-align: center;
    right: 11px;
}

.stats-container .weather-forecast-column {
    position: absolute;
    top: 522px;
    width: 90px;
}

.stats-container .weather-forecast-column .day {
    text-align: center;
    font-size: 28px;
    color: #1972be;
    text-transform: uppercase;
    padding-top: 5px;
    font-weight: bold;
}

.stats-container .weather-forecast-column .icon {
    position: absolute;
    top: 60px;
    text-align: center;
    padding: 0 10px;

}
.stats-container .weather-forecast-column .icon img {
    max-width: 100%;
    width: 100%;
}

.stats-container .weather-forecast-column .high {
    position: absolute;
    font-size: 40px;
    color: #fffd62;
    top: 142px;
    right: 27px;
}

.stats-container .weather-forecast-column .low {
    position: absolute;
    font-size: 40px;
    color: #6de5ff;
    top: 193px;
    right: 27px;
}

.stats-container .currently-generating {
    position: absolute;
    font-size: 230px;
    color: #ffffff;
    bottom: 360px;
    right: 350px;
}

.stats-container .currently-generating-label {
    position: absolute;
    font-size: 94px;
    color: #ffffff;
    bottom: 390px;
    right: 150px;
}

.stats-container .bar {
    position: absolute;
    background: url(../images/stats-bar.png?c=20171215) no-repeat;
    width: 0;
    height: 254px;
    left: 9px;
    bottom: 9px;
}


/** Yesterday **/
.yesterday-container {
    position: relative;
    background: url(../images/yesterday-bg.png?c=20171215) no-repeat;
    width: 1500px;
    height: 784px;
    margin: 0 auto;
}

.yesterday-container .current-temp {
    position: absolute;
    top: 145px;
    right: 140px;
    color: #ffffff;
    font-size: 230px;
    text-align: right;
}

.yesterday-container .current-low {
    position: absolute;
    top: 435px;
    right: 432px;
    color: #6de5ff;
    font-size: 40px;
}

.yesterday-container .current-high {
    position: absolute;
    top: 435px;
    right: 52px;
    color: #fffd62;
    font-size: 40px;
}

.yesterday-container .current-icon {
    position: absolute;
    width: 290px;
    top: -65px;
    text-align: center;
    right: 11px;
}

.yesterday-container .yesterday-icon {
    position: absolute;
    bottom: 50px;
    left: 185px;
    width: 150px;
    text-align: center;
}
.yesterday-container .yesterday-icon img {
    width: 100%;
    max-width: 100%;
}

.yesterday-container .yesterday-high {
    position: absolute;
    font-size: 40px;
    color: #fffd62;
    top: 660px;
    right: 53px;
}

.yesterday-container .yesterday-low {
    position: absolute;
    font-size: 40px;
    color: #6de5ff;
    top: 660px;
    right: 433px;
}

.yesterday-container .yesterday-generated {
    position: absolute;
    font-size: 90px;
    color: #ffffff;
    bottom: 60px;
    right: 660px;
}

.yesterday-container .yesterday-generated-label {
    position: absolute;
    font-size: 50px;
    color: #ffffff;
    bottom: 68px;
    right: 540px;
}

.yesterday-container .generate-example {
    position: absolute;
    width: 445px;
    height: 207px;
    right: 9px;
    bottom: 9px;
}


.yesterday-container .generate-example .amount {
    position: absolute;
    color: #ffffff;
    font-size: 96px;
    bottom: 10px;
    right: 110px;
    width: 150px;
    text-align: center;
}
.yesterday-container .generate-example .amount-units {
    position: absolute;
    color: #ffffff;
    font-size: 28px;
    left: 323px;
    bottom: 53px;
    font-weight: 100;
    text-transform: capitalize;
}
.yesterday-container .generate-example .for {
    position: absolute;
    color: #ffffff;
    font-size: 28px;
    right: 250px;
    bottom: 53px;
    font-weight: 100;
    text-transform: capitalize;
}

.yesterday-container #generate-fridge {
    background: url(../images/yesterday-generated-fridge.png?c=20171215) no-repeat;
}

.yesterday-container #generate-lightbulb {
    background: url(../images/yesterday-generated-lightbulb.png?c=20171215) no-repeat;
}

.yesterday-container #generate-phone {
    background: url(../images/yesterday-generated-phone.png?c=20171215) no-repeat;
}


/** Charts **/
.charts-container {
    position: relative;
    background: url(../images/charts-bg.png?c=20171215) no-repeat;
    width: 1500px;
    height: 785px;
    margin: 0 auto;
}

.charts-container .power-today {
    position: absolute;
    font-size: 32px;
    color: #ffffff;
    top: 155px;
    right: 197px;
    font-weight: bold;
    width: 100px;
    text-align: center;
}

.charts-container .power-total {
    position: absolute;
    font-size: 32px;
    color: #ffffff;
    top: 155px;
    right: 42px;
    font-weight: bold;
    width: 120px;
    text-align: center;
}

.charts-container .saved-today {
    position: absolute;
    font-size: 32px;
    color: #ffffff;
    top: 155px;
    right: 216px;
    font-weight: bold;
    width: 120px;
    text-align: center;
}

.charts-container .saved-total {
    position: absolute;
    font-size: 32px;
    color: #ffffff;
    top: 155px;
    right: 35px;
    font-weight: bold;
    width: 150px;
    text-align: center;
}

.charts-container .generate-example {
    position: absolute;
    width: 520px;
    height: 207px;
    right: 10px;
    bottom: 12px;
}

.charts-container .generate-example .amount-today {
    position: absolute;
    font-size: 32px;
    color: #ffffff;
    top: 122px;
    right: 316px;
    font-weight: bold;
}
.charts-container .generate-example .amount-today-units {
    position: absolute;
    color: #ffffff;
    font-size: 32px;
    left: 211px;
    bottom: 47px;
    font-weight: 100;
    text-transform: capitalize;
}

.charts-container .generate-example .amount-total {
    position: absolute;
    font-size: 32px;
    color: #ffffff;
    top: 122px;
    right: 130px;
    font-weight: bold;
}
.charts-container .generate-example .amount-total-units {
    position: absolute;
    color: #ffffff;
    font-size: 32px;
    left: 397px;
    bottom: 47px;
    font-weight: 100;
    text-transform: capitalize;
}

.charts-container #generate-fridge {
    background: url(../images/charts-generated-fridge.png?c=20171215) no-repeat;
}

.charts-container #generate-lightbulb {
    background: url(../images/charts-generated-lightbulb.png?c=20171215) no-repeat;
}

.charts-container #generate-phone {
    background: url(../images/charts-generated-phone.png?c=20171215) no-repeat;
}

.charts-container .chart-container .title {
    position: absolute;
    width: 100%;
    text-align: center;
    color: #be5c00;
    text-transform: uppercase;
    font-size: 40px;
    font-weight: bold;
    padding-top: 16px;
}
.charts-container .chart-container .chart {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    padding: 30px 30px 0 10px;
}