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

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  background-color: #fff;
  color: #111;
  font-family: "Roboto", sans-serif, Arial, Helvetica, Verdana;
  line-height: 1.4;
  font-weight: normal;
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/*
///////////////////////////////////////
Header Section
//////////////////////////////////////
*/

/* Header */
header {
  background-color: #fff;
  position: sticky;
  top: 0;
  width: 100vw;
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.1);
  z-index: 99;
}

.header-container {
  display: flex;
  align-items: center;
  padding: 2rem;
  max-width: 140rem;
  margin: 0 auto;
}

header .aol-logo .logo {
  flex: 1;
  max-width: 25rem;
}

.nav-open-btn {
  display: none;
  background-color: transparent;
  border: none;
  margin: 0 2rem;
}

.nav-close-btn {
  display: none;
  position: fixed;
  top: 7%;
  right: 4%;
  background-color: transparent;
  border: none;
  z-index: 999999;
  transition: transform 0.3s ease-in-out;
}

header .user-navigation,
header .nav-mail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

header .user-navigation .help-nav {
  z-index: 999;
}

header .user-navigation .help-dropdown {
  display: none;
  background-color: #fff;
  width: 27rem;
  flex: 1;
  border-radius: 2rem;
  position: absolute;
  top: 8rem;
  right: 15rem;
  text-align: center;
}

header .user-navigation .help-nav.active .help-dropdown {
  display: block;
}

header .user-navigation .help-dropdown p {
  margin: 2.5rem 2rem;
}

header .user-navigation .help-dropdown .help-number {
  font-size: 2rem;
  font-weight: bolder;
  margin-bottom: 2rem;
}

header .user-navigation .help-dropdown a {
  display: block;
}

header .user-navigation .help-dropdown .help-link {
  width: 100%;
  border-top: 1px solid #f0f3f5;
  padding: 1rem;
  transition: 0.3s ease;
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
}

header .user-navigation .help-dropdown .help-link:hover {
  color: #0047ff;
  background-color: #f5f8fa;
}

header .user-navigation button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 1.5rem 2rem;
  border-radius: 2rem;
  transition: 0.2s ease-in-out;
  font-size: 1.5rem;
  margin-left: 2rem;
}

header .user-navigation button:hover,
header .user-navigation .nav-mail:hover,
header .user-navigation .help-nav.active button {
  background-color: #f5f8fa;
  color: #0047ff;
  fill: #0047ff;
}

header .user-navigation .nav-mail {
  padding: 0.7rem 2rem;
  border-radius: 2.5rem;
  transition: 0.2s ease-in-out;
}

header .user-navigation a {
  text-decoration: none;
  color: inherit;
}

header .user-navigation .user-profile {
  border: 1px solid #0047ff;
  padding: 0.8rem 2rem;
  border-radius: 2rem;
  color: #0047ff;
  transition: 0.2s ease-in-out;
}

header .user-navigation .user-profile:hover {
  background-color: #0047ff;
  color: #fff;
}

/* Search Box */
.search-box {
  display: flex;
  align-items: center;
  position: relative;
  height: 5rem;
  flex: 5;
  margin-left: 10rem;
}

.search-box input {
  width: 100%;
  height: 4.5rem;
  border: 1px solid #c7cdd2;
  border-radius: 4rem;
  padding: 2rem;
  color: #232a31;
  transition: 0.3s ease;
}

.search-box svg {
  width: 2rem;
  height: 2rem;
  position: absolute;
  right: 2rem;
  cursor: pointer;
}

.search-box svg path {
  fill: #0047ff;
}

.search-box input::placeholder {
  color: #c7cdd2;
  font-weight: bold;
}

.search-box input[type="text"] {
  text-indent: 1rem;
}

.search-box input:hover,
.search-box input:active,
.search-box input:focus {
  border: none;
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.15);
  outline: none;
}

/* .news-container 
//////////////////////////////////////
Container
//////////////////////////////////////
*/

.body-container {
  max-width: 144rem;
  margin: 0 auto;
  margin-top: 2rem;
  padding: 0 3rem;
  position: relative;
}

/* 
//////////////////////////////////////
Page Navigation
//////////////////////////////////////
*/

.page-nav {
  position: fixed;
  top: 17%;
  left: 0%;
  height: 30rem;
  /* background-color: #fff; */
}

.page-nav ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.page-navigation ul li {
  list-style: none;
  width: 100%;
  font-size: 1.6rem;
}

.page-navigation .nav-aol-logo {
  display: none;
}

.page-navigation ul li a {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  padding: 1rem 2rem;
  border-radius: 2rem;
}

.page-navigation .nav-list.active {
  color: #0047ff;
}

.page-navigation ul li a:hover {
  color: #0047ff;
  background-color: #f5f8fa;
}

/* 
//////////////////////////////////////
Main Container 
//////////////////////////////////////
*/

.main-container {
  display: flex;
  gap: 10rem;
  flex-wrap: wrap;
  text-align: center;
  max-width: 95%;
  margin-left: 20%;
  margin-bottom: 10rem;
}

.main-container .page-title {
  font-size: 3.6rem;
  color: #232a31;
  width: 100%;
}

/* 
//////////////////////////////////////
News Container 
//////////////////////////////////////
*/

.news-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
}

.card-container {
  background-color: #fff;
  box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.15);
  padding: 3rem;
  border-radius: 1rem;
  width: 49%;
  text-align: center;
  display: flex;
}

.card-container h2 {
  font-size: 1.7rem;
  font-weight: bold;
  margin: 1.5rem 0;
}

.card-container .date-posted {
  font-style: italic;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

.btn {
  background-color: #003649;
  color: #fff;
  padding: 0.5rem 1.5rem;
  box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.15);
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.btn:hover {
  opacity: 0.7;
  transform: scale(1.05);
}

.btn a {
  text-decoration: none;
  color: #fff;
}

.next-sections,
.next-sections button a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.next-sections {
  width: 99%;
}

.next-sections button a {
  gap: 1rem;
}

.more-news {
  margin: 0 auto;
  text-align: center;
  font-size: 1.7rem;
}

.more-news a {
  text-decoration: none;
  color: #003649;
  font-weight: bold;
}

/* 
//////////////////////////////////////
Library Container 
//////////////////////////////////////
*/
.music-library-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  background-color: #003649;
  width: 100%;
  padding: 2rem;
  border-radius: 1rem;
}

.music-library-container .heading {
  width: 100%;
}

.music-library-container .heading h2,
.music-library-container .heading p {
  color: #fff !important;
}

.music-genre,
.music-genre a {
  display: flex;
  align-items: center;
}

.music-genre {
  width: 48%;
  padding: 1rem;
  background-color: #fff;
  border-radius: 0.75rem;
  box-shadow: 0px 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.music-genre a {
  width: 100%;
  gap: 2rem;
  text-decoration: none;
  color: #111;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer !important;
}

.music-genre-img {
  border-radius: 1rem;
  width: 14rem;
  height: 10rem;
  overflow: hidden;
  box-shadow: 0px 0.5rem 0.3rem rgba(0, 0, 0, 0.25);
}

.music-genre-img img {
  width: 100%;
  height: 100%;
  overflow: hidden;
  object-fit: cover;
}

.more-songs a {
  display: block;
  width: 100%;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

/* 
//////////////////////////////////////
Music Management
//////////////////////////////////////
*/

.music-management-container {
  max-width: 100%;
  background-color: #c2e0f9;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0px 0.5rem 0.3rem rgba(0, 0, 0, 0.1);
}

.music-management {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.music-management .music-management-text {
  font-size: 1.5rem;
  text-align: left;
}

.music-management-services {
  width: 55%;
}

.services {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.service-head {
  font-weight: bolder;
  font-size: 2rem;
  margin-top: 3rem;
}

.service-items {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 2rem 0;
}

.service-items li {
  list-style: none;
  background-color: #fff;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  box-shadow: 0px 0.5rem 0.3rem rgba(0, 0, 0, 0.07);
}

.artist-img {
  flex: 1;
  margin-left: 2rem;
  width: 10rem;
  overflow: hidden;
}

.artist-img.left {
  margin-left: 0;
  margin-right: 2rem;
}

.artist-img img {
  width: 100%;
  height: 100%;
  background-size: cover;
}

/* 
//////////////////////////////////////
Music Promotion
//////////////////////////////////////
*/
.music-promotion-container {
  max-width: 100%;
  background-color: #f9f9c2;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0px 0.5rem 0.3rem rgba(0, 0, 0, 0.1);
}

.music-promotion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.music-promotion .music-promotion-text {
  font-size: 1.5rem;
  text-align: left;
}

.music-promotion-services {
  width: 55%;
}

.promotion-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2rem;
  text-align: left;
}

.promotion-title {
  font-weight: bold;
}

.promotion-content li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.promotion-content li svg {
  height: 2.5rem !important;
  width: 2.5rem !important;
}

.promotion-content li a {
  text-decoration: none;
  color: #003649;
  font-weight: bold;
}

/* 
//////////////////////////////////////
Contact Container 
//////////////////////////////////////
*/

/* Add these styles to your existing stylesheet or create a new one */

.contact-container {
  padding: 2rem;
  background-color: #fff;
  width: 100%;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.3);
}

.contact-info {
  margin-bottom: 30px;
}

.contact-methods {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 3rem;
}

.contact-method {
  width: 30%;
  margin-bottom: 2rem;
}

.contact-method a {
  text-decoration: none;
  color: inherit;
}

.contact-form {
  width: 90%;
  margin: 0 auto;
}

.contact-form h2 {
  font-size: 24px;
  margin-bottom: 20px;
}

.contact-form form {
  display: grid;
  gap: 20px;
}

.name-and-email {
  display: flex;
  align-items: center;
  gap: 2rem;
}

label {
  font-weight: bold;
}

input,
textarea {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
}

textarea {
  resize: none;
  height: 10rem !important;
}

.contact-container button {
  background-color: #003649;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s;
}

.contact-container button:hover {
  background-color: #00526f;
}

/* 
//////////////////////////////////////
Overlay
//////////////////////////////////////
*/
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 1;
}

body.overlay-active .overlay {
  display: block;
}

/* ****************************************** */
/* Large Screens: (2560px)4k */
/* ****************************************** */

@media (min-width: 160em) {
  .page-nav {
    left: 23%;
  }
}

/* ****************************************** */
/* Small Laptop Screens: (1024px) */
/* ****************************************** */

@media (max-width: 64em) {
  .search-box {
    margin-left: 3rem;
  }

  .main-container {
    margin-left: 5%;
    max-width: 100%;
  }

  .card-container {
    width: 48%;
  }

  .page-nav {
    top: 12%;
  }

  .page-nav .menu-title {
    display: none;
  }

  .music-management-services {
    width: 45%;
  }

  .music-promotion-services {
    width: 45%;
  }
}

/* ****************************************** */
/*  BELOW 768px (Tablets) */
/* ****************************************** */

@media (max-width: 48em) {
  html {
    font-size: 55%;
  }

  header {
    height: 15rem;
  }

  header .aol-logo {
    flex: 1;
  }

  header .aol-logo .logo {
    width: 20rem;
  }

  .search-box {
    position: absolute;
    bottom: 10%;
    width: 95%;
    margin: 0;
  }

  .page-nav {
    top: 0;
    transform: translateX(-100%);
    background-color: #fff;
    height: 100vh;
    width: 90%;
    z-index: 9999;
    transition: transform 0.3s ease-in-out;
  }

  .page-navigation {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding-top: 5rem;
  }

  .page-navigation .nav-aol-logo {
    display: block;
  }

  .page-navigation .nav-aol-logo .logo {
    flex: 1;
    margin-left: 2rem;
    width: 20rem;
  }

  .page-nav .menu-title {
    display: block;
  }

  .page-nav li {
    border-bottom: solid 1px #f5f8fa;
  }

  .nav-open-btn {
    display: block;
  }

  .main-container {
    margin-left: 3%;
    max-width: 100%;
  }

  .news-container {
    margin-top: 3rem;
  }

  .help-nav,
  .nav-mail .mail-label {
    display: none;
  }

  .body-container {
    margin-top: 0;
  }

  .music-management,
  .music-promotion {
    gap: 4rem;
  }

  .music-management-services,
  .music-promotion-services {
    width: 100%;
  }

  .artist-img,
  .artist-img.left {
    margin: 0;
  }
}

/* ****************************************** */
/*  BELOW 425px (Large phones) */
/* ****************************************** */
@media only screen and (max-width: 425px) {
  html {
    font-size: 50%;
  }

  .search-box {
    width: 91%;
  }

  .page-nav {
    width: 85%;
  }

  .mobile-nav-btn {
    margin: 0;
    margin-right: 1rem;
  }

  .main-container {
    max-width: 100%;
  }

  .card-container {
    width: 100%;
  }

  .music-genre {
    width: 100%;
  }

  .contact-methods {
    flex-direction: column;
    align-items: center;
  }

  .contact-method {
    width: 100%;
  }

  .name-and-email {
    flex-direction: column;
  }
}

/* ****************************************** */
/*  BELOW 320px (Small phones) */
/* ****************************************** */
@media only screen and (max-width: 320px) {
  header .aol-logo .logo,
  .page-navigation .nav-aol-logo .logo {
    width: 15rem;
  }
}
