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

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

body {
   min-width: 480px;
   min-height: 100vh;
   font-family: 'Arial', sans-serif;
   font-size: 16px;
   color: #fff;
   text-align: center;
   /* background: url("../assets/img/bg.jpg") center/cover, rgba(0, 0, 0, 0.5); */
   background: rgba(0, 0, 0, 0.5);
   background-blend-mode: multiply;
   transition: background-image 2s ease-in-out;
}

.header {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   width: 100%;
   height: 30vh;
   min-height: 220px;
   padding: 20px;
   margin-bottom: 60px;
}

/* new ********************** */
.player {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   align-items: stretch;
   padding: 0 20px;
}

.timeline {
   display: flex;
   justify-content: flex-start;
   align-items: center;

   position: relative;
   height: 5px;
   width: 100%;
   margin-bottom: 10px;

   cursor: pointer;
   background: white;
   box-shadow: 0 2px 10px 0 #0008;
}

.progress {
   display: flex;
   justify-content: flex-start;
   align-items: center;

   width: 0%;
   height: 100%;

   background: coral;

   transition: 0.25s;
}

.volume-slider {
   display: flex;
   justify-content: flex-start;
   align-items: center;

   position: relative;
   height: 5px;
   width: 100%;
   margin-bottom: 10px;

   cursor: pointer;
   background: coral;
   box-shadow: 0 2px 10px 0 #0008;
}

.volume-progress {
   display: flex;
   justify-content: flex-start;
   align-items: center;

   width: 30%;
   height: 100%;

   background: white;

   transition: 0.25s;
}

.player-time {
   display: flex;
   justify-content: center;
   align-items: center;
   margin-bottom: 15px;

   font-size: 12px;
}

.player-time * {
   padding: 2px;
}

.player-singer-name {
   font-size: 12px;
   margin-bottom: 5px;
}

/* new ********************** */

.player-controls {
   display: flex;
   align-items: center;
   justify-content: space-between;
   align-self: center;
   width: 120px;
   margin-bottom: 15px;
}

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

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

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

.play-item-current {
   font-size: larger;
   font-weight: bold;
   padding-right: 30px;

   /* background-size: 20px 20px;
   background-image: url("../assets/svg/play.svg");
   background-repeat: no-repeat;
   background-position-x: right; */

}

.play-item-current::before {
   content: "\2713";
   position: absolute;
   left: 0;
   top: 2px;
   font-weight: 900;
}

.play-item-current-play::after {
   content: "";
   position: absolute;
   right: -20px;
   top: 0;
   font-weight: 900;
   width: 20px;
   height: 20px;
   background-size: 20px 20px;
   background-image: url("../assets/svg/play.svg");
}

.play-item-current-pause::after {
   content: "";
   position: absolute;
   right: -20px;
   top: 0;
   font-weight: 900;
   width: 20px;
   height: 20px;
   background-size: 20px 20px;
   background-image: url("../assets/svg/pause.svg");
}

.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");

   transition: 0.5s;
}

.pause {
   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");
}

.volume-container {
   display: flex;
   justify-content: center;
}

.mute {
   /* display: flex;
   justify-content: center; */

   width: 65px;

   cursor: pointer;
   margin-bottom: 5px;
   box-shadow: 0 2px 10px 0 #0008;
}

.mute:hover {
   transform: scale(1.1);
}

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

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

.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;
   transition: 0.5s;
}

.date {
   min-height: 28px;
   font-size: 24px;
   margin-bottom: 20px;
   transition: 0.5s linear;
}

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

.greeting {
   flex: 1;
   padding: 10px;
   padding-right: 0;
   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;
}

.footer {
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   align-items: center;
   width: 100%;
   height: 20vh;
   min-height: 160px;
   padding: 20px;
}

.bottom-container {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   width: 100vw;
   align-items: center;
}

.settings {
   display: flex;
   align-self: stretch;
   align-items: center;
   padding-left: 60px;
   padding-right: 20px;

   cursor: pointer;
   opacity: 0.3;
   transition: transform 1s linear;
   /* transform: translateY(100%);
   transition: 1s opacity, 1s visibility; */
}

.toggle-icon {
   height: 18px;
   width: 18px;
   transform: rotate(0deg);
   transition: transform 0.5s linear;
}

.toggle-up {
   transform: rotate(40deg) scale(1.1);
   transition: transform 0.5s linear;
}

.settings:hover {
   opacity: 1;
}

.todo-container {
   display: flex;
   align-self: stretch;
   align-items: center;
   padding-left: 20px;
   padding-right: 60px;

   cursor: pointer;
   opacity: 0.8;
}

.todo-container:hover {
   opacity: 1;
}

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

.quote {
   min-height: 32px;
}

.author {
   min-height: 20px;
}

@media (max-width: 768px) {
   .time {
      min-height: 80px;
      font-size: 72px;
   }

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

   .greeting {
      padding: 5px;
   }

   .name {
      font-size: 32px;
      padding: 5px;
   }
}


/* modal settings  */

.settings-container {
   position: absolute;
   bottom: 70px;
   left: 20px;

   transition: 0.55s opacity, 0.55s visibility;
   /* transition: transform 5s linear; */
}

.settings-view {
   position: relative;

   width: 350px;
   height: 500px;
   margin: 10px;
   padding: 25px 15px 30px 15px;

   border: 2px solid white;
   background-color: rgba(255, 255, 255, 0.98);
   color: #222;
   /* opacity: 0.98; */
   border-radius: 10px;
}

.settings-view::after {
   content: "";
   position: absolute;
   bottom: -12px;
   left: 20px;

   width: 20px;
   height: 20px;
   background-color: rgba(255, 255, 255, 0.98);
   /* background-color: red; */
   transform: rotate(45deg);
   border-radius: 3px;
}

.settings-view {
   display: flex;
   height: 100%;
   flex-direction: column;

   text-align: left;
}

.settings-title {
   font-size: 22px;
   margin-bottom: 15px;
}

.show-hide__list {
   padding: 0;
}

.item {
   position: relative;
   list-style: none;
   padding: 10px 5px;
   margin: 0;

   border-bottom: 1px solid rgba(0, 0, 0, .35);

   cursor: pointer;
}

.label {
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;

   z-index: 5;
   cursor: pointer;
}

.label:hover~.setting-name,
.label:hover~.toggle-slider,
.label:hover~.describe,
.label:hover~.en-ru {
   opacity: 0.6;
}

.checkbox {
   position: relative;
   display: none;

   width: 100%;
   padding: 6px 1px;

   border: 0;
   outline: 0;
   transition: 0.3s;
}

.setting-name {
   /* opacity: 0.9; */
}

.toggle-slider {
   position: relative;
   height: 20px;
   width: 33px;

   float: right;
   background: rgba(55, 55, 55, .15);
   border-radius: 30px;
   cursor: pointer;
   transition: 0.3s;
}

.checkbox:checked~.toggle-slider {
   background: rgba(67, 221, 62, 0.95);
   transition: 0.3s;
}

.checkbox:checked~.toggle-slider .toggle-switch {
   left: 15px;
   transition: 0.3s;
}

.toggle-switch {
   position: absolute;
   display: inline-block;

   height: 12px;
   width: 12px;
   top: 4px;
   left: 3px;
   fill: white;
   vertical-align: top;
   transition: 0.5s;
}

.language-container {
   display: flex;
   width: 100%;
   font-size: 10px;
   /* opacity: 0.7; */
   justify-content: space-between;
   padding-top: 5px;
}

.sub {
   font-size: 8px;
   text-transform: uppercase;
   background-color: rgba(157, 154, 154, 0.941);
   border-radius: 2px;
   padding: 2px;
}

.overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;

   display: flex;
   align-items: center;
   justify-content: center;

   background-color: rgba(200, 200, 200, 0.2);

   transition: transform 1s linear;
}

.hidden {
   opacity: 0;
   visibility: hidden;
   transition: 0.55s opacity, 0.55s visibility;
}