@import url('https://fonts.googleapis.com/css?family=Montserrat:400,700,900&display=swap');

:root {
  --gradient: linear-gradient(135deg, #72EDF2 10%, #5151E5 100%);
}

* {
  box-sizing: border-box;
  line-height: 1.25em;
}

.clear {
  clear: both;
}

body {
  margin: 0;
  width: 100%;
  height: 100vh;
  font-family: 'Montserrat', sans-serif;
  background: var(--gradient);
  display: flex;
  align-items: center;
  justify-content: center;
}

.container {
  border-radius: 25px;
  box-shadow: 0 0 70px -10px rgba(0, 0, 0, 0.2);
  background-color: #222831;
  color: #ffffff;
  height: 400px;
}

.weather-side {
  position: relative;
  height: 100%;
  border-radius: 25px;
  background-image: url("https://img.freepik.com/free-photo/sunset-beach-sea-wave_1150-11145.jpg");
  width: 300px;
  box-shadow: 0 0 20px -10px rgba(0, 0, 0, 0.2);
  transition: transform 300ms ease;
  transform: translateZ(0) scale(1.02) perspective(1000px);
  float: left;
}

.weather-side:hover {
  transform: scale(1.1) perspective(1500px) rotateY(10deg);
}

.weather-gradient {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: var(--gradient);
  border-radius: 25px;
  opacity: 0.4;
}

.date-container {
  position: absolute;
  top: 25px;
  left: 25px;
}

.date-dayname {
  margin: 0;
}

.date-day {
  display: block;
}

.location {
  display: inline-block;
  margin-top: 10px;
}

.location-icon {
  display: inline-block;
  height: 0.8em;
  width: auto;
  margin-right: 5px;
}

.weather-container {
  position: absolute;
  bottom: 25px;
  left: 25px;
}

.weather-icon img {
  filter: drop-shadow(0 0 2px #fff);
  width: 100%;
}

.weather-temp {
  margin: 0;
  font-weight: 700;
  font-size: 4em;
}

.weather-desc {
  margin: 0;
}

.info-side {
  position: relative;
  float: left;
  height: 100%;
  padding-top: 25px;
}

.today-info {
  padding: 15px;
  margin: 0 25px 25px 25px;
  box-shadow: 0 0 50px -5px rgba(0, 0, 0);
  border-radius: 10px;
}

.today-info>div:not(:last-child) {
  margin: 0 0 10px 0;
}

.today-info>div .title {
  float: left;
  font-weight: 700;
}

.today-info>div .value {
  float: right;
}

.week-list {
  list-style-type: none;
  padding: 0;
  margin: 10px 35px;
  box-shadow: 0 0 50px -5px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
}

.week-list>li {
  float: left;
  padding: 15px;
  cursor: pointer;
  transition: 200ms ease;
  border-radius: 10px;
}

.week-list>li:hover {
  transform: scale(1.1);
  background: #fff;
  color: #222831;
  box-shadow: 0 0 40px -5px rgba(0, 0, 0, 0.2)
}

.week-list>li.active {
  background: #fff;
  color: #222831;
  border-radius: 10px;
}

.week-list>li .day-name {
  display: block;
  margin: 10px 0 0 0;
  text-align: center;
}

.week-list>li .day-icon {
  display: flex;
  margin-top: 20px;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: auto;
  margin: 0 auto;
  font-size: 35px;
}

.week-list>li .day-icon img {
  filter: drop-shadow(0 0 2px white);
}

.week-list>li .day-temp {
  display: block;
  text-align: center;
  margin-top: 15px;
  font-weight: 700;
  margin-bottom: 25px;
}

.location-container {
  padding: 25px 35px;
}

.location-input {
  position: relative;
  width: 100%;
  border: none;
  border-radius: 25px;
  padding: 10px;
  font-family: 'Montserrat', sans-serif;
  background-image: var(--gradient);
  color: #000000;
  font-weight: 700;
  box-shadow: 0 0 30px -5px rgba(0, 0, 0, 0.25);
  transition: transform 200ms ease;
}

.location-input:hover {
  transform: scale(0.95);
}
