/* 
-------------- Estructura ------------------

El siguiente archivo CSS está organizado de la siguiente manera:

1. Etiquetas semánticas > id's > contenedores > elementos.

2. En el caso de que existan ataques al mismo contenedor principal varias veces se colocará el contenedor principal una vez y luego el resto de los contenedores con sus elementos para evitar su repetición.

3. La estructura del documento sigue el orden lógico de la web siendo la siguiente:

_____________________
|      Fuentes      |
_____________________
|  root y CSS reset |
_____________________
|       efectos     |
_____________________
|      header       |
_____________________
|       main        |
_____________________
|      footer       |
_____________________
|    media querys   |
_____________________

4. Las propiedades se han organizado siguiendo una metodología cercana "de afuera hacia adentro", colocandolo similar
al siguiente acercamiento:

  Position > Display y sus atributos > Tamaño de caja > Modelo de caja (margin, paddings) > Fuentes > Colores > Otros

*/

@font-face {
  font-family: Gilroy;
  src: url(./assets/fonts/Gilroy-Bold.ttf);
}
@font-face {
  font-family: Chronicle;
  src: url(./assets/fonts/Chronicle-Display-Roman.otf);
}

:root {
  --main-bg-color: #0b1d26;
  --primary-color: #fff;
  --second-color: #fbd784;
  background-color: var(--main-bg-color);
  color: var(--primary-color);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html{
  scroll-behavior: smooth;
}

a:link,
a:visited,
a:active,
li {
  text-decoration: none;
  list-style: none;
  color: var(--primary-color);
}

/* ----------Efectos de selección ----------------*/

h1::selection,
h2::selection,
p::selection,
footer > * ::selection {
  color: var(--second-color);
}

footer h3::selection {
  color: var(--primary-color);
}

header {
  position: absolute;
  z-index: 3;
  width: 100%;
  margin-top: 64px;
  padding: 0 10%;
  font-family: Gilroy;
  text-decoration: none;
}

nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 50px;
}

nav ul {
  display: flex;
  flex-direction: row;
  gap: 20px;
  text-decoration: none;
}

nav .menu {
  display: none;
  width: 30px;
  transform: scaleX(-1);
  object-position: center;
}

nav .account {
  display: flex;
  align-items: center;
  gap: 8px;
}

/*bg images*/
.background {
  position: absolute;
  width: 100%;
  height: 1500px;
  overflow: hidden;
}

.background .desaturate {
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    330deg,
    rgba(11, 29, 38, 0) 31.06%,
    #0b1d26 108.93%
  );
}

.background .sky {
  background-image: url(./assets/bg-sky.webp);
  width: 100%;
  height: 600px;
  background-size: cover;
  position: absolute;
}

.background .mountains {
  background-image: url(./assets/bg-mountains.webp);
  top: 10%;
  width: 100%;
  height: 1300px;
  background-size: cover;
  position: absolute;
  transition: 1s;
}

.background .grass {
  background-image: url(./assets/bg-grass.webp);
  top: 35%;
  width: 100%;
  background-size: cover;
  height: 800px;
  position: absolute;
  transition: 1s;
}

.background .gradient {
  position: absolute;
  width: 100%;
  height: 50%;
  background: linear-gradient(180deg, rgba(11, 29, 38, 0) 0%, #0b1d26 61.38%);
  bottom: 0px;
}

.sidebar {
  position: fixed;
  display: flex;
  flex-direction: column;
  z-index: 2;
  right: 0;
  border-right: 3px solid white;
  margin: 40vh 80px;
  padding: 20px 30px 20px 0px;
  font-family: Gilroy;
}

.sidebar li:not(li:first-child) {
  padding-top: 20px;
  text-align: end;
}

#hero {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 100%;
  min-height: 100vh;
  padding: 0 20% 0;
  /* padding-left: 20%;
  padding-right: 20%; */
}

#hero > * {
  display: flex;
  flex-flow: column;
  z-index: 2;
  width: auto;
  /* gap: 0%; */
}

.line-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5%;
  /* gap:32px; */
}
.line-container .line {
  width: 72px;
  height: 2px;
  background-color: var(--second-color);
}

.line-container .subtitle {
  order: 0;
  text-transform: uppercase;
  font-family: Gilroy;
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  letter-spacing: 6px;
  color: var(--second-color);
}

#hero h1 {
  order: 1;
  text-transform: capitalize;
  font-family: Chronicle;
  font-size: 5em;
  line-height: 100px;
}
#hero .scroll {
  order: 2;
  display: flex;
  align-items: center;
  gap: 5%;
  font-family: Gilroy;
  user-select: none;
  cursor: pointer;
}

.scroll img {
  user-select: none;
}

#content {
  display: flex;
  flex-flow: column;
  width: 100%;
  height: fit-content;
  gap: 200px;
}
#content .container {
  position: relative;
  display: flex;
  z-index: 2;
  align-items: center;
  /* top: 200px; */
  max-width: 100vw;
  height: fit-content;
  column-gap: 10%;
  padding: 0 200px;
}

.container .number {
  position: absolute;
  left: 5vw;
  top: -5vh;
  font-family: Gilroy;
  font-size: 240px;
  line-height: 240px;
  opacity: 0.1;
  user-select: none;
}

.container .text-container {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 27px;
  font-family: Gilroy;
  line-height: normal;
}

#content .text-container .title {
  display: flex;
  order: 1;
  font-family: Chronicle;
  font-size: 64px;
}

.text-container p {
  order: 2;
}

.text-container .readmore {
  display: flex;
  align-items: center;
  order: 3;
  gap: 16px;
  cursor: pointer;
  user-select: none;
}

.text-container .readmore a {
  color: var(--second-color);
}

.container .image-content {
  min-width: 400px;
  height: 100%;
}

.container .image-content img:hover {
  transform: scale(1.5);
}

footer {
  display: flex;
  flex-direction: row;
  justify-content: center;
  max-width: 100%;
  height: auto;
  bottom: 0;
  padding: 15%;
  gap: 50px;
  font-family: Gilroy;
  font-size: 0.8;
}

footer .logo {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  flex-grow: 1;
  width: 50%;
  height: auto;
}

footer > .logo ul {
  display: flex;
  flex-flow: column;
  gap: 10px;
}

footer .blog,
footer .more {
  display: flex;
  flex-flow: column;
  white-space: nowrap;
  width: 20%;
  height: auto;
  gap: 10px;
  font-family: Gilroy;
  font-size: 0.8em;
  color: var(--second-color);
}

footer .blog h3,
footer .more h3 {
  color: var(--second-color);
}

@media screen and (max-width: 1300px) {
  .sidebar{
    display: none;
  }
  
  #content .container {
    padding: 0 100px;
    column-gap: 10%;
  }
}

@media screen and (max-width: 1050px) {
  #content {
    flex-wrap: wrap;
    column-gap: 100px;
  }

  #content .container {
    justify-content: center;
    gap: 40px;
  }

  .container .line-container .line {
    width: 20px;
  }

  .container .image-content {
    object-fit: cover;
    width: 100%;
    height: auto;
  }
}

@media all and (max-width: 961px) {

  #content .container .title {
    font-size: 3em;
  }

  .container .image-content {
    min-width: 40%;
  }
}

@media all and (max-width: 813px) {
  nav .menu {
    display: block;
  }

  nav ul,
  nav .account {
    display: none;
  }

  #hero h1 {
    font-size: 3.2em;
    line-height: 80px;
  }
}

@media all and (max-width: 775px) {
  #hero {
    padding: 0 15%;
  }

  #content .container {
    flex-wrap: wrap;
    gap: 100px;
  }

  .container .number {
    top: -15vh;
    font-size: 10em;
  }

  .container .image-content {
    width: 80%;
  }
  footer {
    gap: 5%;
    font-size: 0.9em;
  }

  footer .logo {
    width: 100%;
  }

  footer .blog,
  footer .more {
    width: fit-content;
  }
}

@media all and (max-width: 600px) {
  nav .menu {
    display: block;
  }

  nav ul,
  nav .account {
    display: none;
  }

  .background .grass {
    background-position: 15%;
    transition: 1s;
  }

  .background .mountains {
    background-position: 15%;
    transition: 1s;
  }

  #hero h1 {
    font-size: 3em;
    line-height: 65px;
  }

  #hero .subtitle {
    font-size: 12px;
  }

  #content .container {
    padding: 0 10% 0 10%;
  }

  .container .line-container .line {
    width: 20px;
  }

  .line-container .line {
    display: none;
  }

  footer {
    flex-wrap: wrap;
    justify-content: flex-start;
    height: auto;
    gap: 20px;
    height: auto;
  }

  footer .logo {
    font-size: 1em;
  }
}

@media all and (max-width: 480px) {
  #hero h1 {
    font-size: 2.6em;
    line-height: 60px;
  }

  #content .line-container .subtitle {
    font-size: 0.8em;
  }
}

@media all and (max-width: 380px) {
  #hero h1 {
    font-size: 2.2em;
    line-height: 50px;
  }

  #content {
    margin-top: 50%;
    gap: 120px;
  }

  #content .container .title {
    font-size: 2.2em;
  }
  .container p {
    font-size: 0.9em;
  }

  .container .readmore {
    font-size: 0.9em;
  }

  .container .readmore img {
    width: 20px;
  }

  .container .image-content {
    width: 100%;
  }

  .container .number {
    left: -15%;
    font-size: 7em;
  }

  footer {
    margin-top: 40px;
    font-size: 0.8em;
  }
}
