@font-face {
  font-family: 'Arial-MT';
  src: url("../assets/fonts/Arial-MT.woff"); /* Путь к файлу со шрифтом */
 }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.hidden {
	display: none;
}

body {
  min-width: 320px;
	max-width: 100%;
	overflow-x: hidden;
  max-height: 100vh;
  font-family: 'Arial', sans-serif;
  font-size: 16px;
  color: #fff;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-size: cover;
  transition: background-image 1s ease-in-out;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  height: 30vh;
  min-height: 220px;  
  padding: 20px;
  position: relative;
  z-index: 10;
}

.player-controls {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
  margin-bottom: 20px;
}

.play-list {
  text-align: left;
}

.play-item {
  position: relative;
  padding: 5px;
  list-style: none;
  opacity: .6;
  cursor: pointer;
  transition: .3s;
}

.play-item:hover {
  opacity: 1;
}

.play-item.active {
	opacity: 1;
}

/* .play-single-item {
   background: url("../assets/svg/play.svg") left center /15px 15px no-repeat;
} */

.pause-single-item {
   background: url("../assets/svg/pause.svg") left center /15px 15px no-repeat;
}

.item-active::before {
  color: #C5B358;
}

.player-icon,
.slider-icon,
.change-quote {
  width: 32px;
  height: 32px;
  background-size: 32px 32px;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: 0;
  outline: 0;
  opacity: .8;
  cursor: pointer;
  transition: .3s;  
}

.player-icon:hover,
.slider-icon:hover,
.change-quote:hover {
  opacity: 1;
}

.player-icon:active,
.slider-icon:active,
.change-quote:active {
  border: 0;
  outline: 0;  
  transform: scale(1.1);
}

.play {
  width: 40px;
  height: 40px;
  background-size: 40px 40px;
  background-image: url("../assets/svg/play.svg");
}

.pause {
	width: 40px;
  height: 40px;
  background-size: 40px 40px;
  background-image: url("../assets/svg/pause.svg");
}

.play-prev {
  background-image: url("../assets/svg/play-prev.svg");
}

.play-next {
  background-image: url("../assets/svg/play-next.svg");
}

.song {
	margin-bottom: 10px;
	font-size: 14px;
}

.volume-controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.volume-cotainer,
.progress-cotainer {
	width: 75%;
	height: 7px;
	background-color: rgb(255, 255, 255, 0.4);
	border-radius: 5px;
	outline: 1px solid rgb(255, 255, 255, 0);
	transition: .3s;
	cursor: pointer;
}

.progress,
.volume-progress {
	width: 0%;
	height: 7px;
	background-color: rgb(255, 255, 255, 1);
	border-radius: 5px;
}

.volume-progress {
	width: 100%;
}

.volume {
	width: 25px;
  height: 25px;
	background-image: url("../assets/svg/volume.svg");
}

.volume-off {
	width: 25px;
  height: 25px;
	background-image: url("../assets/svg/volume-off.svg");
}

.progress-cotainer {
	width: 100%;
	margin: 15px 0px;
}

.progress-cotainer:hover,
.volume-cotainer:hover {
	outline: 1px solid rgba(255, 255, 255, 0.8);
	transition: .3s;
}

.time-container {
	text-align: right;
	font-size: 12px;
	color: rgb(255, 255, 255, 0.8);
	margin-bottom: 5px;
}

.weather {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  row-gap: 5px;
  width: 180px;
  min-height: 180px;  
  text-align: left;
}

.weather-error {
  margin-top: -10px;
	padding-top: 20px;
}

.description-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  column-gap: 12px;
}

.weather-icon {
  font-size: 44px;
}

.city {
  width: 170px;
  height: 34px;
  padding: 5px;
  font-size: 20px;
  line-height: 24px;
  color: #fff;  
  border: 0;
  outline: 0;
  border-bottom: 1px solid #fff;
  background-color: transparent;
}

.city::placeholder {  
  font-size: 20px;
  color: #fff;
  opacity: .6;
}

.main {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40vh;
  min-height: 260px;  
  padding: 20px;
}

.slider-icon {
  position: absolute;
  top: 50%;
  margin-top: -16px;
  cursor: pointer;
}

.slide-prev {
  left: 20px;
  background-image: url("../assets/svg/slider-prev.svg");
}

.slide-next {
  right: 20px;
  background-image: url("../assets/svg/slider-next.svg");
}

.time {
  min-height: 124px;
  margin-bottom: 10px;
  font-family: 'Arial-MT';
  font-size: 100px;
  letter-spacing: -4px;
  opacity: 1;
  transition: .3s;
}

.date {
  min-height: 28px;
  font-size: 24px;
  margin-bottom: 20px;
  opacity: 1;
  transition: .3s;
}

.greeting-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: stretch;
  align-items: center;
  min-height: 48px;
  width: 100vw;
  font-size: 40px;
  opacity: 1;
  transition: .3s;
}

.greeting {
  flex: 1;  
  padding: 10px;
  text-align: right;
}

.name {
  flex: 1;
  max-width: 50%;
  padding: 10px;
  font-size: 40px;
  text-align: left;
  color: #fff;
  background-color: transparent;
  border: 0;
  outline: 0;
}

.name::placeholder {
  color: #fff;
  opacity: .6;
}

.todo {
   position: absolute;
   bottom: 10%;
   left: 5%;
   z-index: 10;
   width: 400px;
   max-height: 342px;
   overflow: hidden;
}

.todo-content {
   display: flex;
}

.todo-input {
   flex: 1 0 85%;
   border-radius: 7px;
   outline: none;
   border: none;
   height: 32px;
   padding: 0px 5px;
   margin-right: 5px;
   font-size: 16px;
   opacity: .8;
   transition: .3s;
}

.todo-input:hover,
.todo-input:focus {
   opacity: 1;
   outline: none;
   border: none;
}

.todo-add {
   flex: 1 0 15%;
   width: 30px;
   height: 30px;
   background: url('../assets/svg/add.svg') 0 0 / 30px 30px no-repeat;
   opacity: .7;
   transition: .3s;
}

.todo-add:hover {
   opacity: 1;
   transform: scale(1.1);
}

.todo-list {
   list-style: none;
   width: 85%;
   background: rgba(255, 255, 255, 0.2);
   backdrop-filter: blur(10px);
   border: 1px solid rgba(43, 43, 43, 0.2);
   border-radius: 5px;
}

.todo-item {
   display: flex;
   align-items: center;
   width: 100%;
   border-bottom: 1px solid rgba(43, 43, 43, 0.2);
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}

.todo-item.deletion {
   animation: opacity 0.5s;
}

.todo-description {
   flex: 1 0 85%;
   max-width: 287px;
   overflow: hidden;
}

.todo-buttons {
   flex: 1 0 15%;
   display: flex;
   align-items: center;
}

.todo-item:last-child {
   border-bottom: none;
}

.todo-complete{
   flex: 1 0 10%;
   right: 35px;
   width: 16px;
   height: 16px;
   opacity: .6;
   transition: .3s;
}

.todo-complete:hover {
   opacity: .8;
}

.checked {
   opacity: .5;
   text-decoration: line-through;
}

.close {
   flex: 1 0 10%;
   width: 30px;
   height: 30px;
   opacity: .8;
   transition: .3s;
}

.close:hover{
   background:rgba(255, 255, 255, 0.15);
   transition: .3s;
}

.todo-image {
   display: inline-block;
   width: 27px;
   height: 27px;
   opacity: .8;
   transform: rotate(45deg);
}

.hidden {
   display: none;
}

@keyframes opacity {
   from {
      opacity: 1;
   }
   to {
      opacity: 0;
   }
}


.footer {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 30vh;
  min-height: 160px;  
  padding: 20px;
  position: relative;
  opacity: 1;
  transition: .3s;
}

.change-quote {
  margin-bottom: 30px;
  background-image: url("../assets/svg/reload.svg");
}

.settings {
   position: absolute;
   bottom: 10%;
   right: 5%;
   width: 35px;
   height: 35px;
   background: url("../assets/svg/settings-24dp.svg") 0 0 /35px 35px no-repeat;
   border: none;
   opacity: 0.8;
   transition: .3s;
   z-index: 10;
}

.settings:hover {
   opacity: 1;
}

.settings-popup {
   position: absolute;
   bottom: 10%;
   right: 5%;
   background: rgba(255, 255, 255, 0.2);
   backdrop-filter: blur(10px);
   border: 1px solid rgba(43, 43, 43, 0.2);
   padding: 35px 25px 20px 20px;
   border-radius: 5px;
   width: 400px;
   text-align: left;
   font-size: 14px;
   opacity: 0;
   transition: .3s;
   z-index: 5;
}

.settings-popup.active {
   opacity: 1;
}

.popup-close {
   position: inherit;
   right: 2%;
   top: 5%;
   width: 20px;
   height: 20px;
   background: url("../assets/svg/close_white_24dp.svg") 0 0 /20px 20px no-repeat;
}

.settings-item {
   display: flex;
   justify-content: space-between;
   padding:  0px 0px 30px 0px;
}

.language,
.hide-widget {
   flex: 1 0 30%;
}

.language-options,
.hide-widget-options {
   flex: 1 0 70%;
   text-align: right;
}

.en,
.rus,
.time-widget,
.date-widget,
.greeting-widget,
.quote-widget,
.weather-widget,
.player-widget,
.todo-widget {
   color: inherit;
   padding: 5px 8px;
   border-radius: 5px;
}

.en,
.time-widget,
.weather-widget,
.date-widget,
.quote-widget {
   margin-right: 10px;
}

.row:not(:last-child) {
   margin-bottom: 20px;
}

.en.active,
.rus.active,
.time-widget.active,
.date-widget.active,
.greeting-widget.active,
.quote-widget.active,
.weather-widget.active,
.player-widget.active,
.todo-widget.active {
   color: #ffe561;
   background-color: rgba(255, 255, 255, 0.3);
}

.quote {
  min-height: 32px;
	width: 80%;
	margin: 0 auto;
	padding-bottom: 10px;
}

.author {
  min-height: 20px;
}

@media (max-width: 930px) {
   .header {
      padding: 5px;
   }
	.weather {
		width: 130px;
      font-size: 14px;
	}
   .player {
      font-size: 14px;
   }
   .main {
      font-size: 14px;
   }
	.city {
		width: 120px;
	}

  .time {
    min-height: 80px;
    font-size: 40px;
		padding-top: 30px;
  }

	.date {
		font-size: 18px;
	}

  .greeting-container {
    min-height: 40px;
    font-size: 18px;
  }

  .greeting {
    padding: 5px;
  }

  .name {
    font-size: 18px;
    padding: 5px;
  }
  .footer {
   height: 25vh;
  }
  .change-quote {
   position: relative;
   z-index: 10;
   width: 20px;
   height: 20px;
   background-size: 20px 20px;
  }
  .settings {
   bottom: 3%;
   width: 25px;  
   height: 25px;
   background: url(../assets/svg/settings-24dp.svg) 0 0 /25px 25px no-repeat;
  }

  .settings-popup {
   width: 300px;
   right: 2%;
   bottom: 3%;
   font-size: 12px;
   padding: 35px 10px 10px 10px;
  }

   .language,
   .hide-widget {
      flex: 1 0 25%;
   }

   .language-options,
   .hide-widget-options {
      flex: 1 0 75%;
   }

   .settings-item {
      padding:  10px 0px 15px 0px;
   }
}