.thermostat {
    width: 120px;
    height: 120px;
    background: rgb(48, 47, 47);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 4px 8px 0 rgba(0, 0, 0, 0.3);
}

.thermostat.on.heat>.ring {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    position: absolute;
    background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
    z-index: 1;
}

.thermostat.off>.ring {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    position: absolute;
    background-image: linear-gradient(to right, #383737 0%, #41413f 100%);
    z-index: 1;
}

.thermostat.on.fan>.ring {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    position: absolute;
    background-image: linear-gradient(to right, #083804 0%, #8aff6d 100%);
    z-index: 1;
}

.thermostat.on.cool>.ring {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    position: absolute;
    background-image: linear-gradient(to right, #334acf 0%, #95e1ee 100%);
    z-index: 1;
}

.thermostat>.border {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 50%;
    left: 50%;
    background: rgb(54, 54, 54);
    transform-origin: 0 0;
    transform: rotate(45deg);
    border-radius: 0 0 50px 0;
}

.thermostat>.status {
    width: 68px;
    height: 68px;
    background: rgb(32, 32, 32);
    z-index: 2;
    border-radius: 50%;
    box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.2);
    position: absolute;
}

.thermostat>.status>.outside {
    position: absolute;
    font-size: 10px;
    left: 30px;
    top: 5px;
    color: #8f8c8c;
}

.thermostat>.status>.mode.heat {
    position: absolute;
    bottom: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, 60%);
    color: #d6d4d4;
}

.thermostat>.status>.mode.fan {
    position: absolute;
    bottom: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%, 60%);
    color: #d6d4d4;
}

.thermostat.on>.status>.temp {
    top: 25px;
    left: 16px;
    font-size: 30px;
    position: absolute;
    color: #cfcdcd;
    display: inline;
}

.thermostat.on>.control {
    top: 72px;
    left: 0px;
}

.thermostat.off>.status>.temp {
    position: absolute;
    display: none;
}

.thermostat.on>.status>.off_state {
    top: 25px;
    left: 18px;
    font-size: 20px;
    color: #cfcdcd;
    position: absolute;
    display: none;
}

.thermostat.off>.status>.off_state {
    top: 25px;
    left: 18px;
    font-size: 20px;
    color: #cfcdcd;
    position: absolute;
    display: inline;
}

.thermostat>.status>.Xtemp:nth-child(1) {
    opacity: 1;
    transform: translate(15px, 30%) scale(1);
    position: absolute;
    transition: .5s ease-in-out;
}

.thermostat>.modes {
    position: absolute;
    top: 120px;
    height: 24px;
    color: #d6d4d4;
    display: flex;
    flex-direction: row;
    padding: 10px;
}

.thermostat>.modes>.btn {
    margin: 5px;
    font-size: 20px;
}

.thermostat>.fanspeed {
    position: absolute;
    top: 150px;
    height: 24px;
    color: #d6d4d4;
    display: flex;
    flex-direction: row;
    padding: 10px;
}

.thermostat>.fanspeed>.btn {
    margin: 5px;
    font-size: 20px;
}

.thermostat>.status>.indicator {
    width: 1px;
    height: 6px;
    position: absolute;
    left: 50%;
    background: #6C6C6C;
    transform-origin: 0 32px;
    transform: rotate(-50deg);
    transition: .5s ease-in-out;
}

.thermostat:hover .status .indicator {
    transform: rotate(-40deg);
}