/* guides */

/*
colors:
black: #3b3b3b
grey: #545454
orange: #ff8449
blue: #004aad
blue light (category stories play button background): #9ab4db
blue (footer center icon background): #8051f9
violet: #cb6ce6
violet dark (category good morning play button): #8f33dd
violet light (category good morning play button background): #e8b1eb

fonts:
Montserrat
Panforte
Palmer Lake Print (400)

-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
*/

/* general */

* {
  box-sizing: border-box;
}

:root {
  color-scheme: only light;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
}

::-webkit-input-placeholder {
  color: #999;
}
::-moz-placeholder {
  color: #999;
}
:-ms-input-placeholder {
  color: #999;
}
:-moz-placeholder {
  color: #999;
}

html, body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  color: #3b3b3b;
  font-family: "Montserrat", sans-serif;
}

body {
  background-size: cover;
  -webkit-transition: background-image 0.2s ease-in-out;
  -moz-transition: background-image 0.2s ease-in-out;
  -o-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

section {
  -webkit-transition: background-image 0.2s ease-in-out;
  -moz-transition: background-image 0.2s ease-in-out;
  -o-transition: background-image 0.2s ease-in-out;
  transition: background-image 0.2s ease-in-out;
}

h1, h2, h3, h4, h5, h6, p, ul, ol {
  margin: 0;
}

/* header */

header {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 90px;
  padding: 0;
  text-align: center;
  background-color: #fff;
  border-radius: 20px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

header.show {
  opacity: 1;
}

header h2 {
  padding: 33px 0;
  font-family: "Panforte";
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: 300;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

header i {
  display: none !important;
  position: absolute;
  top: 33px;
  left: 2rem;
  font-size: 22px;
}

header i.show {
  display: block !important;
  cursor: pointer;
}

/* footer */

footer {
  position: fixed;
  bottom: 0;
  left: -1rem;
  display: flex;
  align-items: center;
  width: calc(100% + 2rem);
  height: 90px;
  padding: .5rem 1.5rem 0;
  text-align: center;
  background-color: #fff;
  border-radius: 50px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

footer.show {
  opacity: 1;
}

footer > div {
  flex: 1 1 20%;
  width: 20%;
  min-width: 20%;
  max-width: 20%;
}

footer > div.center {
  position: absolute;
  top: -35px;
  left: calc(50% - 35px);
  width: 70px;
  min-width: 0;
  max-width: none;
  height: 70px;
  border-radius: 50%;
  background-color: #ff8449;
  border: 5px solid #fff;
  background-size: 70%;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

footer > div.center.active {
  background-color: #8051f9;
}

footer > div > div {
  position: relative;
  height: 24px;
}

footer h5 {
  color: #545454;
  font-family: "Palmer Lake Print";
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.3rem;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

footer .active h5 {
  color: #ff8449;
}

footer img {
  position: absolute;
  top: 0;
  left: calc(50% - 12px);
  width: auto;
  height: 24px;
  opacity: 1;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

footer .active img,
footer img:nth-child(2) {
  opacity: 0;
}

footer .active img:nth-child(2) {
  opacity: 1;
}

/* intro */

section.intro {
  display: none;
  align-items: center;
  text-align: center;
  height: 100vh;
  padding: 0 2rem;
  background-size: cover;
}

section.intro > div {
  width: 100%;
}

section.intro.active {
  display: flex;
}

section.intro .loading {
  width: 80%;
  margin: 1.5rem auto 0;
  background-color: #fff;
  border-radius: 10px;
}

section.intro .loading > div {
  width: 0%;
  height: 15px;
  background-color: #ff8449;
  border-radius: 10px;
  -webkit-transition: width 1s ease-in-out;
  -moz-transition: width 1s ease-in-out;
  -o-transition: width 1s ease-in-out;
  transition: width 1s ease-in-out;
}

/* front */

section.front {
  display: none;
  align-items: center;
  text-align: center;
  height: 100vh;
  padding: 0 2rem;
  background-size: cover;
  /*
  background-image: url("../images/front_background.png");
  background-position-x: 68%;
  */
}

section.front.active {
  display: flex !important;
}

section.front p {
  margin-top: 1.25rem;
  color: #fff;
  font-size: 1rem;
  line-height: 1.5rem;
}

section.front img {
  width: 60%;
  height: auto;
}

/* category */

section.category {
  display: none;
  height: 100vh;
  padding: 160px 2rem;
  background-size: cover;
}

section.category.active {
  display: block;
}

section.category > div {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  height: 100%;
  padding-right: 1rem;
  overflow-y: scroll;
}

section.category .individual-audio {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .75rem;
  border-radius: 50px;
  cursor: pointer;
}

section.category .individual-audio h3 {
  color: #fff;
  font-size: .85rem;
  font-weight: 600;
}

section.category .individual-audio p {
  color: #fff;
  font-size: .85rem;
  font-weight: 400;
}

section.category .individual-audio i {
  padding: 1rem calc(1rem + 2px);
  border-radius: 50%;
}

section.category .individual-audio > div {
  flex: 1;
  text-align: left;
}

section.category .individual-audio > div:nth-child(2) {
  flex: 5;
}

/* individual audio */

section.individual-audio {
  display: none;
  height: 100vh;
  padding: 130px 2rem 160px;
  background-size: cover;
}

section.individual-audio.active {
  display: block;
}

section.individual-audio > div {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  height: 100%;
  padding: 2.5rem 2rem;
  text-align: center;
  background-color: rgba(2, 2, 2, 0.4);
  border-radius: 35px;
}

section.individual-audio > div > div:nth-child(1) {
  margin-bottom: 82px;
}

section.individual-audio h2 {
  margin-bottom: 0;
  color: #fff;
  font-size: 1.75rem;
  line-height: 2.25rem;
  font-weight: 600;
}

section.individual-audio p {
  color: #fff;
  font-size: .9rem;
  line-height: 1.35rem;
}

section.individual-audio .audio-cover {
  position: relative;
}

section.individual-audio .audio-cover > div {
  position: absolute;
  border-radius: 50%;
}

section.individual-audio .audio-cover > div:nth-child(1) {
  top: -82px;
  left: -82px;
  width: 164px;
  height: 164px;
  background-color: rgba(245, 237, 237, .4);
}

section.individual-audio .audio-cover > div:nth-child(2) {
  top: -70px;
  left: -70px;
  width: 140px;
  height: 140px;
  background-color: rgba(245, 237, 237, .7);
}

section.individual-audio .audio-cover > div:nth-child(3) {
  top: -58px;
  left: -58px;
  width: 116px;
  height: 116px;
  background-color: #f5eded;
}

section.individual-audio .audio-cover > div:nth-child(4) {
  top: -50px;
  left: -50px;
  width: 100px;
  height: 100px;
  background-color: #f5eded;
  background-size: 100px;
  background-repeat: no-repeat;
  background-position: center center;
}

section.individual-audio .audio-player {
  width: 90%;
  margin: 82px auto 0;
}

section.individual-audio .audio-player > div:nth-child(1) {
  position: relative;
  margin-bottom: 1.5rem;
  height: 5px;
  width: 100%;
  background-color: #fff;
  border-radius: 5px;
}

section.individual-audio .audio-player > div:nth-child(1) > span:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
  height: 5px;
  width: 0%;
  background-color: #ff8449;
  border-radius: 5px;
}

section.individual-audio .audio-player > div:nth-child(1) > span:nth-child(2),
section.individual-audio .audio-player > div:nth-child(1) > span:nth-child(3) {
  position: absolute;
  top: 10px;
  color: #fff;
  font-size: .8rem;
  font-weight: 500;
}

section.individual-audio .audio-player > div:nth-child(1) > span:nth-child(2) {
  left: 2px;
}

section.individual-audio .audio-player > div:nth-child(1) > span:nth-child(3) {
  right: 2px;
}

section.individual-audio .audio-player > div:nth-child(2) {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: space-evenly;
  width: 100%;
  margin: 0 auto;
}

section.individual-audio .audio-player i {
  color: #fff;
  font-size: 1.75rem;
  cursor: pointer;
}

section.individual-audio .audio-player i.enabled {
  color: #8c52ff;
}

section.individual-audio .audio-player i.disabled {
  color: #bbb;
  cursor: default;
}

section.individual-audio .audio-player i.play {
  font-size: 3.5rem;
}

/* profile */

section.profile {
  display: none;
  height: 100vh;
  padding: 130px 2rem 160px;
  background-size: cover;
}

section.profile.active {
  display: block;
}

section.profile > div {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  height: 100%;
  padding: 2.5rem 2rem;
  text-align: center;
}

section.profile .profile-login-div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
}

section.profile .profile-login-div h3 {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

section.profile .profile-login-div > div:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 1rem;
}

section.profile .profile-login-div > div:nth-child(1) > div {
  width: 44px;
  height: 44px;
  color: #7d7d7d;
  background-color: #dadada;
  border-radius: 50%;
}

section.profile .profile-login-div > div:nth-child(1) > div i {
  font-size: 1.25rem;
  line-height: 44px;
}

section.profile .profile-login-div > div:nth-child(2) {
  color: #7d7d7d;
  font-size: 1rem;
}

section.profile .profile-information-div {
  width: 100%;
}

section.profile .profile-information-div h3 {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

section.profile .profile-information-div > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 1rem;
  cursor: pointer;
}

section.profile .profile-information-div > div:last-child {
  margin-bottom: 0;
}

section.profile .profile-information-div > div > div:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 1rem;
}

section.profile .profile-information-div > div > div:nth-child(1) > div {
  width: 44px;
  height: 44px;
  color: #7d7d7d;
  background-color: #dadada;
  border-radius: 50%;
}

section.profile .profile-information-div > div > div:nth-child(1) > div i {
  font-size: 1.25rem;
  line-height: 44px;
}

section.profile .profile-information-div > div > div:nth-child(1) > div img {
  margin-top: 6px;
  width: 32px;
  height: 32px;
}

section.profile .profile-information-div > div > div:nth-child(2) {
  color: #7d7d7d;
  font-size: 1rem;
}

/* login, registration */

section.login-registration {
  display: none;
  height: 100vh;
  padding: 130px 2rem 160px;
  background-size: cover;
}

section.login-registration.active {
  display: block;
}

section.login-registration > div {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  height: 100%;
  padding: 2.5rem 2rem;
  text-align: center;
}

section.login-registration > div > div {
  width: 100%;
}

section.login-registration > div > div > div {
  width: 100%;
  margin-top: 1.25rem;
}

section.login-registration p {
  color: #fff;
  font-size: .925rem;
  font-weight: 400;
  line-height: 1.35rem;
}

section.login-registration p span {
  font-weight: 600;
}

section.login-registration img {
  margin-bottom: 1.25rem;
  width: 125px;
  height: auto;
}

section.login-registration i {
  margin-bottom: 1.25rem;
  color: #f69e02;
  font-size: 4rem;
}

section.login-registration input {
  width: 100%;
  padding: .75rem 1.25rem;
  color: #3b3b3b;
  font-family: "Montserrat";
  font-size: .9rem;
  font-weight: 500;
  background-color: #fff;
  border: 0;
  border-radius: 25px;
  outline: 0;
}

section.login-registration button {
  width: 100%;
  padding: .75rem 1.25rem;
  color: #fff;
  font-family: "Montserrat";
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  background-color: #f69e02;
  border: 0;
  border-radius: 25px;
  outline: 0;
  cursor: pointer;
}

/* subscription */

section.subscription {
  display: none;
  height: 100vh;
  padding: 130px 2rem 160px;
  background-size: cover;
}

section.subscription.active {
  display: block;
}

section.subscription > div {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  width: calc(100% - 4rem);
  height: 100%;
  margin: 0 2rem;
  padding: 1.5rem;
  text-align: center;
  background-color: #8c52ff;
  border-radius: 25px;
}

section.subscription > div > div {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

section.subscription h3 {
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.6rem;
  font-weight: 600;
}

section.subscription p {
  margin-top: 1rem;
  color: #fff;
  font-weight: 400;
  font-size: .85rem;
}

section.subscription p.under-button {
  margin-top: 0;
  font-size: .75rem;
  line-height: 1rem;
}

section.subscription button {
  width: 100%;
  margin-bottom: 1rem;
  padding: .75rem 1.5rem;
  color: #f69e02;
  font-family: "Montserrat";
  font-size: .9rem;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #fff;
  border: 0;
  border-radius: 25px;
  outline: 0;
  cursor: pointer;
}

section.subscription .offer {
  text-align: center;
}

section.subscription .offer > p {
  line-height: 1.25rem;
}

section.subscription .offer .badge {
  display: inline-block;
  margin-bottom: 1.5rem;
  padding: .5rem 1rem;
  color: #ff8449;
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #fff;
  border-radius: 10px;
}

section.subscription .offer .plans {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  margin: 2.5rem 0 2.5rem;
}

section.subscription .offer .plans .mini-badge {
  position: absolute;
  top: -1rem;
  right: 0;
  padding: .5rem 1.5rem;
  color: #3b3b3b;
  font-size: .7rem;
  font-weight: 500;
  line-height: 1rem;
  background-color: #fff;
  border-radius: 15px;
}

section.subscription .offer .plans > div {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1rem;
  text-align: center;
  background-color: #f69e02;
  border-radius: 15px;
}

section.subscription .offer .plans > div h3 {
  margin-bottom: 0;
}

section.subscription .offer .plans > div > div:nth-child(1) {
  flex: 3;
}

section.subscription .offer .plans > div > div:nth-child(1) p {
  margin-top: .5rem;
  font-size: .9rem;
}

section.subscription .offer .plans > div > div:nth-child(1) p span {
  display: block;
  margin-bottom: .25rem;
  text-decoration: line-through;
}

section.subscription .offer .plans > div > div:nth-child(2) {
  flex: 2;
}

section.subscription .offer .plans > div > div:nth-child(2) p {
  margin-top: 0;
  font-size: .9rem;
  font-weight: 500;
}






/* */
