:root {
  --white: #ffffff;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Bellefair", serif;
}

img {
  max-width: 100%;
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  font-weight: 400;
}

body {
  font-family: "Bellefair", serif;
  font-size: 1rem;
  color: var(--white);
  line-height: 1.5;
  min-height: 100vh;
  background-repeat: no-repeat;
  background-size: cover;
}

/* home */
.home {
  background-image: url("../images/home/background-home-mobile.jpg");
}

@media (min-width: 35rem) {
  .home {
    background-position: center center;
    background-image: url("../images/home/background-home-tablet.jpg");
  }
}

@media (min-width: 45rem) {
  .home {
    background-image: url("../images/home/background-home-desktop.jpg");
  }
}

/* Destination */

.destination{
  background-image: url("../images/destination/background-destination-mobile.jpg");
}

@media (min-width: 35rem) {
  .destination {
    background-position: center center;
    background-image: url("../images/destination/background-destination-tablet.jpg");
  }
}

@media (min-width: 45rem) {
  .destination {
    background-image: url("../images/destination/background-destination-desktop.jpg");
  }
}

/* Crew */

.crew{
  background-image: url("../images/crew/background-crew-mobile.jpg");
}

@media (min-width: 35rem) {
  .crew {
    background-position: center center;
    background-image: url("../images/crew/background-crew-tablet.jpg");
  }
}

@media (min-width: 45rem) {
  .crew {
    background-image: url("../images/crew/background-crew-desktop.jpg");
  }
}

/* Technology */

.technology{
  background-image: url("../images/technology/background-technology-mobile.jpg");
}

@media (min-width: 35rem) {
  .technology {
    background-position: center center;
    background-image: url("../images/technology/background-technology-tablet.jpg");
  }
}

@media (min-width: 45rem) {
  .technology {
    background-image: url("../images/technology/background-technology-desktop.jpg");
  }
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
}

header::after {
  content: "";
  display: block;
  position: relative;
  height: 1px;
  width: 100%;
  margin-right: -2.5rem;
  background: rgba(225, 225, 225, 0.05);
  order: 1;
}

.logo {
  margin: 1.5rem;
}

@media (max-width: 35rem) {
  header::after{
    display: none;
  }
}

nav {
  order: 2;
}

/* Clamp simply means from the
    minimum size to the preferred size to the maximum size */
nav ul {
  display: flex;
  column-gap: clamp(1.5rem, 5vw, 3.5rem);
  list-style: none;
  /* margin-top: 2rem; */
  padding-inline: clamp(3rem, 7vw, 7rem);
  background: rgba(225, 225, 225, 0.05);
  backdrop-filter: blur(1.5rem);
}

nav ul.open{
  transform: translateX(0);
}

nav ul li {
  cursor: pointer;
  padding: 2rem 0.5rem;
  transition: all 500ms;
}

nav ul li:hover{
    background: rgba(225, 225, 225, 0.05);
}

nav ul li.active {
  border: 0;
  border-bottom: 0.2rem solid var(--white);
  background-color: transparent;
}

nav ul li a {
  text-decoration: none;
  text-transform: uppercase;
  color: var(--white);
}

nav ul li a span {
  margin-right: 0.5rem;
  font-weight: 700;
}

/* Moblie Toggle Button */
.mobile-nav-toggle {
  display: none;
  width: 24px;
    height: 24px;
    transition: all 0.25s;
    cursor: pointer;
    
    background: transparent;
}

.mobile-nav-toggle.open{
  transform: rotate(90deg);
    transform: translateY(0);
}

.sr-top,.sr-mid,.sr-bottom{
  position: absolute;
    top: 10px;
    left: 5px;
    width: inherit;
    height: 2px;
    background: #777b94;
    transform: rotate(0);
    transition: all 0.5s;
}

.sr-mid{
  transform: translateY(7px);
}

.sr-bottom{
  transform: translateY(14px);
}

.open .sr-top{
  transform: rotate(45deg) translateY(6px) translate(6px);
}

.open .sr-mid{
  display: none;
}

.open .sr-bottom{
  transform: rotate(-45deg) translateY(6px) translate(-6px);
}

/* Media Q */
@media (max-width: 35rem) {
  nav ul {
      position: fixed;
      z-index: 1000;
      inset: 0 0 0 30%;
      list-style: none;
      padding: min(20rem, 15vh) 2rem;
      margin: 0;
      flex-direction: column;
      transform: translateX(100%);
      transition: transform 500ms ease-in-out;
  }
  
  nav ul[data-visible="true"] {
      transform: translateX(0);
  }
  
  nav ul.underline-indicators > .active {
     border: 0;
  }
  
  .mobile-nav-toggle {
      display: block;
      position: absolute;
      z-index: 2000;
      right: 1rem;
      /* color: var(--white); */
      /* width: 1.5rem; */
      padding: 1rem;
      border: 0;
  }
  
  .mobile-nav-toggle:focus-visible {
      outline: 5px solid white;
      outline-offset: 5px;
  }
  
}

/* ------------ */
/* INDEX PAGE */
/* ---------- */
.index-main {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  padding-inline: 5rem;
  padding-bottom: 4rem;
  padding-top: 10rem;
  align-items: center;
  justify-items: center;
}

.index-main > div:first-child {
  max-width: 500px;
}

.index-main > div:first-child h1 {
  font-size: 1.7rem;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: rgb(210, 216, 249);
}

.index-main > div:first-child span {
  line-height: 1.1;
  font-size: 10vw;
  font-family: "Barlow" sans-serif;
  text-transform: uppercase;
  letter-spacing: 4.7px;
}

@media (max-width: 35rem) {
  .index-main{
    gap: 2rem;
    padding-top: 5rem;
    padding-inline: 2rem;
  }

  .index-main > div:first-child span{
    font-size: 5rem;
  }
}

.explore-circle {
  height: 250px;
  font-size: 2rem;
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  padding: 0 2em;
  border-radius: 50%;
  text-decoration: none;
  color: black;
  background-color: var(--white);
  text-transform: uppercase;
}

.explore-circle::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(225, 225, 225, 0.1);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 500ms linear, transform 750ms ease-in-out;
}

.explore-circle:hover::after,
.explore-circle:focus::after {
  opacity: 1;
  transform: scale(1.5);
}

/* -------------- */
/* DESTINATION PAGE */
/* -------------- */

.destination-main{
  display: grid;
  padding: 0 5rem;
  grid-template-areas: 
  '. title title .'
  '.content content.';
}

.destination-main > h2{
  grid-area: title;
    font-size: 1.75rem;
    text-transform: uppercase;
    letter-spacing: 4.72px;
    padding: 2rem;
}

@media (max-width: 35em) {
  .destination-main{
    padding: 0 2rem;
    grid-template-areas: 
    'title'
    'content';
  }
}

/* @media (min-width: 35em){
  .numbered-title {
    justify-self: start;
    margin-top: 2rem;
  }
} */

.destination-main > .main-contents{
  grid-area: content;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 35em) {
  .destination-main > .main-contents{
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}

.moons{
  max-width:500px
}

.moon-categories .categories ul {
  list-style: none;
  display: inline-block;
}

.moon-categories .categories ul li {
  margin-left: -2em;
}

.moon-categories .categories ul li a {
  text-decoration: none;
  margin-left: 2em;
  color: #fff;
}

.moon-categories h1 {
  margin-top: 21px;
  color: #fff;
  font-size: 550%;
}

.moon-categories p {
  color: #fff;
  margin-top: 21px;
  line-height: 1.5em;
}

.moon-categories hr {
  margin-top: 21px;
}

.distance {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-top: 21px;
  text-transform: uppercase;
}

.distance .travel {
  position: relative;
  left: -14em;
}

@media (max-width: 35rem) {
  .moon-categories{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .moon-categories p{
    text-align: center;
  }

  .moon-categories hr{
    display: none;
  }

  .moon-categories .distance{
    flex-direction: column;
    justify-content: center;
    margin-top: 0;
  }

  .distance .travel{
    left: 0;
  }
}

/* -------- */
/* CREW PAGE */
/* -------- */
.crew-main{
  display: grid;
  padding: 0 5rem;
  grid-template-areas: 
  '. title title .'
  '.content content.';
}

.crew-main > h2{
  grid-area: title;
    font-size: 1.75rem;
    text-transform: uppercase;
    letter-spacing: 4.72px;
    padding: 2rem;
}

@media (max-width: 35em) {
  .crew-main{
    padding: 2rem;
    grid-template-areas: 
    'title'
    'content';
    justify-content: center;
  }
}

.crew-main > .main-contents{
  grid-area: content;
}

@media (max-width: 35em) {
  .crew-main > .main-contents{
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }

  /* .mySlides{
    padding: 2rem;
  } */

  .slide{
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
  }

  .slide-text{
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
  }

  .dots{
    order: 1;
  }

  .text{
    order: 2;
    width: 350px;
  }
}

@media (min-width: 45rem) {
  .slide-text .title h1{
    font-size: 1.5rem;
  }
  
  .slide-text .title h3{
    font-size: 1rem;
  }

  .slide .image{
    border-bottom: 1px solid var(--white);
  }
}

.slide{
  display: flex;
  justify-content: space-between;
  gap: 10%;
}

.slide-text{
  max-width: 500px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.slide-text .title{
  margin-top: 2rem;
  max-height: 120px;
  margin-bottom: 5rem;
}

.slide-text .title h3{
  line-height: 1.1;
  font-size: 2rem;
  color: #ffffff50;
  text-transform: uppercase;
}
.slide-text .title h1{
  line-height: 1.1;
  /* font-size: clamp(3.5rem, 2rem, 1.5rem); */
  margin-top: 1rem;
}

.slide .image img{
  height: 500px;
}

/* Dot by Goody */

.dot {
  cursor: pointer;
  height: 13px;
  width: 13px;
  margin: 0 4px;
  background-color: #bbb;
  border-radius: 100%;
  display: inline-block;
  transition: background-color 0.6s ease;
  margin-top: 20%;
}

.active, .dot:hover {
  background-color: #ffffff;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 2.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

/* ----------- */
/* Technology */
/* ----------- */

.tech-main{
  display: grid;
  padding: 0 5rem;
  grid-template-areas: 
  '. title title .'
  '.content content.';
}

.tech-main > h2{
  grid-area: title;
    font-size: 1.75rem;
    text-transform: uppercase;
    letter-spacing: 4.72px;
    padding: 2rem;
}

@media (max-width: 35em) {
  .tech-main{
    padding: 0 2rem;
    grid-template-areas: 
    'title'
    'content';
  }
}

.tech-main > .main-contents{
  grid-area: content;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 35em) {
  .tech-main > .main-contents{
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}

.details{
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 35em) {
  .details{
    flex-direction: column;
    
    align-items: center;
  }

  .numbers{
    display: flex;justify-content: center;
    font-size: 24px;
  }
}

.numbers{
  width: 20%;
  font-size: 50px;
    margin-left: 20px;
    margin-top: 60px;
    cursor: pointer;
    transition: 0.5 ease;
}

.numbers .circle {
  border: 1px solid;
  /* transform: translateY(-50%); */
  border-color: gray;
  border-radius: 50%;
  width: 75px;
  height: 75px;
  margin-top: 50px;
  position: relative;
  display: flex;
  justify-content: center;
}

.circle:hover {
  background-color: white;
  color: #000;
  transition: 1s ease;
}