
@import "styles-features.css";
@import "styles-pricing.css";
@import "styles-stories.css";


:root{
  --size-375: 23.4375rem;
  --width-318-387: clamp(19.875rem, 15.76rem + 17.5573vw, 24.1875rem);
  --width-310-457: clamp(19.375rem, 10.6083rem + 37.4046vw, 28.5625rem);
  --width-327-689: clamp(20.4375rem, -1.1512rem + 92.112vw, 43.0625rem);
  --width-689-1110: clamp(43.0625rem, 12.9911rem + 62.6488vw, 69.375rem);
}

*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body{
  min-width: 17.5rem;
  min-height: 100vh;    
}


/**TEXT**/

.dm-sans-regular{
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1.7;
}

.dm-sans-bold{
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}


/****/

img{
  display: block;
}

.button{
  display: block;
  background: transparent;
  border-style: none;
}

.button:hover{
  cursor: pointer;
  transition: all 0.5s;
}

.list{
  display: flex;
  flex-direction: column;
  list-style: none;
}

a{
  text-decoration: none;
  color: inherit;
}

.title-32-40{
  font-size: clamp(2rem, 1.5229rem + 2.0356vw, 2.5rem);
  letter-spacing: clamp(0.2081rem, 0.158rem + 0.2137vw, 0.2606rem);
  line-height: 1.2;
  text-transform: uppercase;
}

.text-link{
  font-size: 0.75rem;
  letter-spacing: 0.125rem;
  text-transform: uppercase;
}


/*HEADER*/

.container-header{
  background: #fff;
  position: relative;
  z-index: 10;
}

.container-menu{
  max-width: var(--width-327-689);
  margin: 0 auto;
}

.logo-header{
  width: 10.625rem;
  height: 1rem;
}

.button-menu{
  width: 1.25rem;
  height: 0.375rem;
}


  /*MENU*/

.background{
  display: none;
  width: 100vw;
  height: 100vh;
  background: hsla(0, 0%, 0%, 0.4);
  position: fixed;
  z-index: 10;
}

.top-menu{
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 1.75rem 0;
}

.menu{
  display: none;
  background: #fff;
  width: clamp(23.4375rem, 0rem + 100vw, 48rem);
  padding: 2rem;
  position: absolute;
    top: 4.5rem; left: 0;
  z-index: -1;
}

.list-menu{
  font-size: 0.9375rem;
  text-transform: uppercase;
  letter-spacing: 0.15625rem;
  text-align: center;
}

.li-menu{
  margin-bottom: 1rem;
}

.li-menu:hover{
  color: hsla(0, 0%, 0%, 0.3);
  transition: all 0.5s;
}

.li-menu:nth-of-type(3){
  padding-bottom: 1.25rem;
  border-bottom: 0.0625rem solid hsla(0, 0%, 0%, 0.25);
}

.li-menu:nth-of-type(4){
  max-width: 19.375rem;
  width: 100%;
  height: 3rem;
  background: #000;
  color: #fff;
  align-content: center;
  margin: 0 auto;
}

.li-menu:nth-of-type(4):hover{
  cursor: pointer;
  background: hsla(0, 0%, 0%, 0.3);
  color: #000;
}

/*MAIN*/

  /*MAIN HEADER*/

.main-header{
  background: #000;
}

.image-header{
  width: 100%;
}

.container-text{
  max-width: 19.875rem;
  color: #fff;
  padding-left: 2.1875rem;
  position: relative;
}

.linear-gradient{
  width: 8rem;
  height: 0.375rem;
  background: linear-gradient(1deg, #FFC593 0%, #BC7198 52%, #5A77FF 100%);
  position: absolute;
}

.main-header .container-text .title{
  font-size: 2.1875rem;
  letter-spacing: 0.2081rem;
  line-height: 1.2;
  text-transform: uppercase;
  padding: 4.875rem 0 0;
}

.container-text .text{
  margin: 1.25rem 0;
  color: hsla(0, 0%, 100%, 0.6);
}

.container-text .link-invite{
  display: block;
  padding-bottom: 4.625rem;
}

.link-invite{
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.125rem;
  position: relative;
}

.link-invite::after{
  content: '';
  width: 2.625rem;
  height: 0.75rem;
  display: inline-block;
  background: url('./assets/shared/desktop/arrow.svg') no-repeat center;
  filter: brightness(0) invert(1);
  margin-left: 1rem;
  position: relative;
    top: 0.1rem;
}

.link-invite:hover{
  text-decoration: underline;
}


/*SECTION*/

.image-description{
  width: 100%;
}

.section-description .container-text{
  color: #000;
}

.section-description .container-text .title{
  font-size: 2.1875rem;
  letter-spacing: 0.2081rem;
  line-height: 1.2;
  text-transform: uppercase;
  padding: 4.875rem 0 0;
}

.section-description .container-text .text{
  color: hsla(0, 0%, 0%, 0.6);
  max-width: 19.875rem;
}

.section-description .link-invite::after{
  filter: none;
}


/*STORIES*/

.container-stories{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.section-stories{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
  padding: 0 2rem 2.75rem;
  max-width: 35rem;
  max-height: 31.25rem;
  width: 100%;
  height: 23.4375rem;
  position: relative;
  border-width: 0 0 0 0;
  border-style: solid; 
  border-image: linear-gradient(0.4deg, #ffc593 0.02rem, #bc7198 0.08rem, #5a77ff 0.12rem);
  border-image-slice: 1; 
  border-image-outset: 0; 
}

.section-stories:hover{
  cursor: pointer;
  transform: translateY(-1.5rem);
  transition: all 0.4s;
  border-width: 0 0 0.375rem 0;
}

.section-stories:nth-of-type(1){
  background: url('./assets/stories/mobile/mountains.jpg') no-repeat center / cover;
}

.section-stories:nth-of-type(2){
  background: url('./assets/stories/mobile/cityscapes.jpg') no-repeat center / cover;
}

.section-stories:nth-of-type(3){
  background: url('./assets/stories/mobile/18-days-voyage.jpg') no-repeat center / cover;
}

.section-stories:nth-of-type(4){
  background: url('./assets/stories/mobile/architecturals.jpg') no-repeat center / cover;
}

.section-stories .title{
  font-size: 1.125rem;
}

.section-stories .title span{
  display: block;
  font-size: 0.8125rem;
}

.section-stories .link-invite{
  margin: 0.75rem 0 0;
  padding-top: 1rem;
  border-top: 0.0625rem solid hsla(0, 0%, 100%, 0.25);
}

.section-stories .link-invite::after{
  filter: brightness(0) invert(1);
  position: absolute;
    top: 1.1rem; right: 0;
}


/*FEATURES*/

.container-feature{
  margin: 5rem auto;
}

.feature{
  max-width: var(--width-310-457);
  margin: 0 auto;
  text-align: center;
}

.feature:not(:last-of-type){
  margin-bottom: 3.5rem;
}

.image-feature{
  width: 4.5rem;
  margin: 0 auto 2.5rem;
}

.feature .title{
  font-size: 1.125rem;
  margin-bottom: 1rem;
}

.feature .text{
  color: hsla(0, 0%, 0%, 0.6);
}


/*FOOTER*/

.footer{
  background: #000;
  color: #fff;
  text-align: center;
  padding: 3.5rem 0;
}

.display-desktop{
  width: 19.375rem;
  margin: 0 auto;
}

.footer-logo{
  width: 10.625rem;
  height: 1rem;
  margin-bottom: 2rem;
}

.list-logo{
  flex-direction: row;
  justify-content: space-between;
  width: 9.625rem;
  margin: 0 auto;
}

.li-logo{
  filter: brightness(0) invert(1);
}

.li-logo:hover{
  cursor: pointer;
  filter: none;
}

.list-footer{
  margin: 3.125rem auto 7.75rem;
}

.li-footer:hover{
  color: hsla(0, 0%, 100%, 0.3);
  transition: all 0.5s;
}

.li-footer:not(:nth-of-type(4)){
  margin-bottom: 1rem;
}

.footer .link-invite::after{
  filter: brightness(0) invert(1);
  margin-left: 1rem;
  position: relative;
    top: 0.2rem;
}

.footer .copyright{
  margin-top: 2.25rem;
  color: hsla(0, 0%, 100%, 0.5);
}




/*ANIMATION*/

@media (prefers-reduced-motion: no-preference){

  @media screen and (max-width : 47.999rem){
  
    .anim-menu{
      /* animation: name duration timing-function delay iteration-count direction fill-mode; */
      animation: frame-menu 1s ease;
    }

    @keyframes frame-menu{

      0%{
        transform: translateY(-100%);
      }

      100%{
        transform: translateY(0%);
      }

    }

  }


}








@media screen and (min-width: 35rem){


  /*HEADER*/

  .container-header{
    max-width: 48rem;
    margin: 0 auto;
  }

    /*MENU*/


/*MAIN*/

  /*MAIN HEADER*/

  .main-header{
    max-width: 48rem;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;  
    justify-content: space-between;
    align-items: center;
  }

  .image-header{
    height: 100%;
    max-height: 40.625rem;
  }

  .container-text{
    max-width: clamp(19.875rem, 8.2644rem + 33.1731vw, 24.1875rem);
    padding-left: clamp(2.1875rem, -1.3462rem + 10.0962vw, 3.5rem);
    padding-right: 1rem;
  }

  .linear-gradient{
    width: 0.375rem;
    height: clamp(18.75rem, 6.2981rem + 35.5769vw, 23.375rem);
    background: linear-gradient(1deg, #FFC593 0%, #BC7198 52%, #5A77FF 100%);
    position: absolute;
      top:  5.25rem;  left: 0;
  }

  .main-header .container-text .title{
    font-size: clamp(2rem, 0.6538rem + 3.8462vw, 2.5rem);
    letter-spacing: clamp(0.2081rem, 0.0668rem + 0.4038vw, 0.2606rem);
  }


/*SECTION*/

  .description{
    max-width: 48rem;
    margin: 0 auto;
  }

  .section-description{
    display: flex;
    flex-direction: row;  
    justify-content: space-between;
    align-items: center;
  }

  .section-description:nth-of-type(2){
    flex-direction: row-reverse;  
  }

  .image-description{
    height: 100%;
    max-height: 37.5rem;
  }

  .section-description .container-text{
    max-width: clamp(19.875rem, 8.2644rem + 33.1731vw, 24.1875rem);
    margin-left: clamp(2.1875rem, -1.3462rem + 10.0962vw, 3.5rem);
    padding-right: 1rem;
  }

  .section-description:nth-of-type(1) .container-text{
    margin-right: auto;
  }

  .section-description .container-text .title{
    font-size: clamp(2rem, 0.6538rem + 3.8462vw, 2.5rem);
    letter-spacing: clamp(0.2081rem, 0.0668rem + 0.4038vw, 0.2606rem);
  }


/*STORIES*/

  .container-stories{
    display: grid;
    grid-template-columns: 1.025fr 1fr;
    grid-template-rows: min-content;
    justify-content: center;
    margin: 0 auto;
    max-width: 48rem;
  }

  .section-stories{
    width: 100%;
    height: 31.25rem;
  }

  .section-stories:nth-of-type(1){
    background: url('./assets/stories/desktop/mountains.jpg') no-repeat center / cover;
  }

  .section-stories:nth-of-type(2){
    background: url('./assets/stories/desktop/cityscapes.jpg') no-repeat center / cover;
  }

  .section-stories:nth-of-type(3){
    background: url('./assets/stories/desktop/18-days-voyage.jpg') no-repeat center / cover;
  }

  .section-stories:nth-of-type(4){
    background: url('./assets/stories/desktop/architecturals.jpg') no-repeat center / cover;
  }


/*FEATURES*/

  .container-feature{
    margin: 7.375rem auto;
  }

  .feature:not(:nth-of-type(3)){
    margin-bottom: 4.5rem;
  }

  .container-image-feature{
    width: 4.5rem;
    height: 4.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }

  .image-feature{
    margin: 0 auto 3.5rem;
  }


/*FOOTER*/

  .footer{
    text-align: left;
  }

  .display-desktop{
    width: clamp(31.25rem, 2.3635rem + 82.5328vw, 43.0625rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, min-content);
  }

  .footer-logo{
    grid-column: 1;
    grid-row: 1;
  }

  .list-logo{
    grid-column: 1;
    grid-row: 3;
    margin: 0;
    height: 1.25rem;
    align-self: end;
  }

  .list-footer{
    grid-column: 1;
    grid-row: 2;
    flex-direction: row;
    margin: 0;
    width: 19.6875rem;    
  }

  .li-footer{
    margin-right: 1.25rem;
  }

  .footer .link-invite{
    grid-column: 2;
    grid-row: 1;
    text-align: right;
  }

  .footer .copyright{
    grid-column: 2;
    grid-row: 3;
    text-align: right;
  }

}





@media screen and (min-width: 48rem){


  /*HEADER*/

  .container-header{

  }

  .container-menu{
    max-width: var(--width-689-1110);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .top-menu{
    width: min-content;
  }  

  .logo-header{
    margin-right: 2.5rem;
  }

  .button-menu{
    display: none;
  }


    /*MENU*/

  .background{
    display: none;
  }

  .menu{
    display: block;
    width: clamp(29.75rem, 14.4643rem + 31.8452vw, 43.125rem);
    background: transparent;
    padding: 0;
    position: relative;
      top: 0; left: 0;
    z-index: 1;
  }  

  .list-menu{
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 0.75rem;
    letter-spacing: 0.125rem;
  }

  .li-menu{
    margin: 0 2.375rem 0 0;
  }

  .li-menu:nth-of-type(3){
    padding: 0;
    border: none;
    margin: 0 auto 0 0;
  }

  .li-menu:nth-of-type(4){
    width: 9.875rem;
    height: 2.5rem;
    margin: 0;
  }

  
/*MAIN*/

  /*MAIN HEADER*/

  .container-text .link-invite{  
    margin-top: 3.125rem;
  }

}



@media screen and (min-width: 69.375rem){


  /*HEADER*/

  .container-header{
    max-width: 69.375rem;
    margin: 0 auto;
  }

  .main-header{
    max-width: 90rem;
    margin: 0 auto;
  }

  .container-text{
    box-sizing: content-box;
    margin: 0;
    padding-left: clamp(3.375rem, -9.2386rem + 18.1818vw, 7.125rem);
  }

  .linear-gradient{
    height: 18.5rem;
  }

  
/*SECTION*/

  .description{
    max-width: 90rem;
    margin: 0 auto;
  }

  .section-description .container-text{
    margin: 0 0 0 clamp(3.5625rem, -0.5089rem + 8.4821vw, 7.125rem);
    padding: 0;
  }

    
/*STORIES*/

  .container-stories{
    max-width: 90rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .section-stories{
    max-width: 22.5rem;
  }


/*FEATURES*/

  .container-feature{
    width: clamp(59.375rem, 47.9464rem + 23.8095vw, 69.375rem);
    margin: 10rem auto 7.5rem;
    display: flex;
    justify-content: space-between;
  }

  .feature{
    max-width: 21.875rem;
    margin: 0 0.5rem 0;
  }

  .feature:not(:nth-of-type(3)){
    margin: 0 0.5rem 0;
  }

  .image-feature{
    margin: 0 auto 5rem;
  }


/*FOOTER*/

  .display-desktop{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, min-content);
    width: clamp(56.25rem, 41.25rem + 31.25vw, 69.375rem);
  }

  .list-footer{
    flex-direction: column;
    grid-column: 2;
    grid-row: 1 / -1;
    margin-left: -2rem;
  }

  .footer .link-invite{
    grid-column: 3;
    grid-row: 1;
    margin: 0;
  }

  .footer .copyright{
    grid-column: 3;
    grid-row: 3;
  }

}
