/******************************************
/* BASE STYLES - LIBRARY PAGE
/*******************************************/
nav,
#hero,
.speaker--info,
.recording,
.board--members,
.footer--content {
  margin: auto;
  max-width: 112rem;
}

main {
  padding: 1.2rem;
  background: url("../img/speaker-banner.jpg") 50% 50%;

  color: var(--secondary-bg);
}

/******************************************
/* LAYOUT
/*******************************************/
#top-section {
  background: url("../img/record-albums-banner.jpg") 70% 50% no-repeat;
  background-size: cover;
}

/* HERO SECTION STYLES */
#hero {
  padding: 7rem 1.2rem;
  text-align: center;
  color: var(--primary-text);
}

.page--title {
  margin: 0.5rem 0;
  font-size: 2.3rem;
  font-weight: 500;
}

.page--outline-text {
  text-transform: none;
}

/* SECTION 1 - RECORDS SEARCH FORM AND LIST SECTION */
#section-1 {
  padding: 3.5rem 0;
}

.record--search {
  display: flex;
  flex-flow: row wrap;
}

.record--search > * {
  padding: 1.2rem;
  text-transform: uppercase;
}

select {
  padding: 1rem;
  cursor: pointer;
}

.record--search > input::placeholder {
  text-transform: uppercase;
}

.album--year,
.album--request {
  background-color: transparent;
  border: 0.1rem solid #212529;
}

.album--year {
  width: 30%;
  border-radius: 30rem 0 0 30rem;
  text-align: center;

  background-image: url("../img/icons/dropdown.png");
  background-repeat: no-repeat;
  background-position: right 0.3rem center;
  background-size: 2rem 2rem;

  appearance: none;
}

.album--request {
  width: 70%;
  border-radius: 0 30rem 30rem 0;
  padding-left: 3rem;

  background-image: url("../img/icons/search.png");
  background-repeat: no-repeat;
  background-position: left 0.5rem center;
  background-size: 2.3rem 2.3rem;

  appearance: none;
}

.album--request:focus {
  border: 0.2rem none;
}

.search--filter {
  margin: 1.3rem 0;
  width: 100%;
  background-color: var(--secondary-bg);
  border: none;
  border-radius: 30rem;
  color: var(--primary-text);
  cursor: pointer;
}

.filter--tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.filter--tag {
  display: inline-block;
  border: 0.1rem solid #89623c;
  border-radius: 3rem;
  padding: 0.5rem;

  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.5rem;

  font-size: 1.4rem;
  color: #212529;
}

.tag--name {
  text-transform: capitalize;
}

#btn--remove-filter {
  background: transparent;
  border: none;
  padding: 0;
  font-size: 2.2rem;
  cursor: pointer;
}

.records--list {
  margin-top: 3rem;
}

#section-2 {
  padding: 5rem 0;
}

.records--list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.record {
  width: 100%;
  border-radius: 1rem;
  display: grid;
  grid-template-columns: auto 1fr minmax(2rem, max-content) minmax(
      3.7rem,
      max-content
    );
  gap: 1rem;
  align-content: start;
  padding: 0.8rem;
}

.record:hover {
  background-color: #e4d7bf;
}

.play--img-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-radius: 1rem;
  padding: 0.8rem;
  background-color: var(--secondary-bg);
}

.record--info {
  white-space: nowrap;
  overflow: hidden;
}

.record--title {
  margin: 0;
  font-weight: 500;
}

.record--tags-container {
  display: flex;
}

.record--title,
.record--speaker,
.record--tags {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  text-transform: none;
}

.record--speaker,
.record--tags {
  width: max-content;
  cursor: pointer;
  font-size: 1.3rem;
}

.record--speaker:hover,
.record--tags:hover {
  text-decoration: underline;
}

.play--icon {
  width: 3.5rem;
  background-color: #fff;
  border-radius: 50%;
  padding: 1rem;
  cursor: pointer;
}

.like--icon,
.options--icon {
  margin-left: 1rem;
  width: 2rem;
  cursor: pointer;
}

#btn--more-records {
  width: fit-content;
  place-self: center;
  background-color: #6c3f16;
  margin-top: 1rem;
  border: none;
  border-radius: 30rem;
  padding: 1.2rem 2rem;
  cursor: pointer;

  font-size: 1.6rem;
  font-weight: 600;
  color: var(--primary-text);
  text-decoration: underline;
  text-transform: uppercase;
}

#btn--more-records:hover {
  text-decoration: none;
}

/* SECTION 2 - MEDIA PLAYER SECTION */
.recording--cover-img {
  width: 100%;
}

.current--record-info {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  overflow: hidden;
}

.record--playing-title {
  margin: 0;

  font-weight: 500;
  font-size: 2.2rem;
}

.record--playing-title,
.record--playing-tags-container > span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  text-transform: none;
}

.record--playing-tags-container > span {
  font-size: 1.5rem;
}

.record--playing-speaker,
.record--playing-tags {
  text-transform: none;
  width: max-content;
  cursor: pointer;
}

.record--playing-speaker:hover,
.record--playing-tags:hover {
  text-decoration: underline;
}

.player--actions {
  margin-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.player--icons,
div.options {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.player--icons > button {
  display: block;
  cursor: pointer;
  width: max-content;
  background-color: transparent;
  border-radius: 50%;
  border: none;
  outline: none;
  padding: 0;
}

.player--play-icon,
.player--pause-icon,
.rewind--icon,
.fast-forward--icon,
.options .like--icon,
.download--icon,
.seek-bar {
  cursor: pointer;
}

.player--play-icon,
.player--pause-icon {
  width: 5.8rem;
}

.rewind--icon,
.fast-forward--icon {
  width: 5rem;
  border-radius: 50%;
}

.options .like--icon,
.download--icon {
  width: 3.5rem;
}

.player--seeker-bar {
  margin-top: 1.5rem;
}

.seek-bar--container {
  position: relative;
  height: 0.55rem;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  border-radius: 30rem;
  background-color: var(--secondary-bg);
  cursor: pointer;
}

.currTime,
.totalTime {
  position: absolute;
  left: 0;
  top: -2.2rem;
}

.totalTime {
  left: unset;
  right: 0;
}

.seek-bar {
  width: 0;
  height: 100%;
  background-color: #e22d0a;
  border-radius: 30rem;
  cursor: pointer;
}

.seek-bar + span {
  margin-top: 1.2rem;
  text-transform: none;
}

/******************************************
/* ADDITIONAL STYLES - MEDIA QUERIES
/*******************************************/
@media screen and (min-width: 540px) {
  .page--outline-text {
    display: block;
    width: 40rem;
    margin: auto;
  }

  main {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .play--img-container {
    width: 7rem;
    height: 7rem;
  }

  .record--title {
    font-size: 1.8rem;
  }

  .record--speaker,
  .record--tags {
    font-size: 1.5rem;
  }

  .like--icon,
  .options--icon {
    width: 3.2rem;
  }

  .record--playtime {
    font-size: 1.6rem;
  }

  #section-2 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 2rem;
  }

  .recording--cover-img {
    border-radius: 2rem;
    height: 100%;
    object-fit: cover;
  }

  .player--actions {
    justify-content: flex-start;
    gap: 2.5rem;
  }

  div.options {
    gap: 1.5rem;
  }
}

@media screen and (min-width: 640px) {
  .record--search {
    align-items: center;
  }

  .album--year,
  .search--filter {
    width: 15%;
    border: 0.1rem solid #212529;
  }

  .album--year {
    padding: 1.2rem;
  }

  .album--request {
    border-right: none;
    border-radius: 0;
    padding: 1.2rem;
    padding-left: 4rem;
    width: 70%;
  }

  .search--filter {
    border-radius: 0 30rem 30rem 0;
  }

  #section-2 {
    gap: 4rem;
  }
}

@media screen and (min-width: 768px) {
  main {
    padding: 2rem 3rem;
  }

  main > section {
    max-width: 112rem;
    margin: auto;
  }

  .records--list {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }

  .record {
    width: 48%;
  }

  .play--img-container {
    height: 100%;
  }

  #btn--more-records {
    margin-left: auto;
  }
}

@media screen and (min-width: 1024px) {
  .album--year {
    padding: 1.2rem;
    background-position: right 1.8rem center;
    background-size: 2rem 2rem;
  }

  .album--request {
    background-position: left 1.2rem center;
    background-size: 2.3rem 2.3rem;
    padding-left: 4.5rem;
  }
}

@media screen and (min-width: 1280px) {
  li.link > a,
  .page--outline-text,
  .section--title-text,
  select,
  input.album--request,
  input.album--request::placeholder,
  .search--filter {
    font-size: 1.8rem;
  }

  .page--title {
    font-size: 3.2rem;
  }

  .record--search > * {
    padding: 1.5rem;
    height: 100%;
  }

  .album--request {
    background-position: left 1.2rem center;
    background-size: 2.3rem 2.3rem;
    padding: 1.47rem;
    padding-left: 4.5rem;
  }

  select {
    text-align: center;
  }

  .filter--tags {
    margin-top: 1rem;
  }

  .records--list {
    margin-top: 7rem;
  }

  .play--img-container {
    width: 8.25rem;
  }

  .record--title {
    font-size: 2rem;
  }

  .record--speaker,
  .record--tags {
    font-size: 1.5rem;
  }

  .like--icon,
  .options--icon {
    width: 3rem;
  }

  #btn--more-records {
    font-size: 1.8rem;
  }

  #section-2 {
    gap: 10rem;
  }

  .record--playtime {
    margin-top: 0.5rem;
    font-size: 1.8rem;
  }

  .record--playing-title {
    font-size: 3rem;
  }

  span.record--playing-speaker,
  span.record--playing-tags {
    font-size: 1.8rem;
  }

  .player--play-icon,
  .player--pause-icon {
    width: 7.5rem;
  }

  .seek-bar + span {
    font-size: 1.8rem;
  }

  .footer--content > p,
  .footer--content > a {
    font-size: 1.8rem;
  }
}
