Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <link
      href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900"
      rel="stylesheet"
    />

    <link rel="stylesheet" href="css/icon-font.css" />
    <link rel="stylesheet" href="css/icon-font.css" />
    <link rel="stylesheet" href="css/style.css" />
    <link rel="shortcut icon" type="image/png" href="img/favicon.png" />

    <title>Nettflix Bootcamp</title>
    <script src="https://code.jquery.com/jquery-3.6.3.js" integrity="sha256-nQLuAZGRRcILA+6dMBOvcRh5Pe310sBpanc6+QBmyVM=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js">
    </script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css">
  </head>
  <body>
    <div class="navigation">
      <input type="checkbox" class="navigation__checkbox" id="navi-toggle" />
      <label for="navi-toggle" class="navigation__button"><span class="navigation__icon">&nbsp;</span></label>

      <div class="navigation__background">&nbsp;</div>

      <nav class="navigation__nav">
        <ul class="navigation__list">
          <li class="navigation__item">
            <a href="#about" class="navigation__link link1">Project1</a>
          </li>
          <li class="navigation__item">
            <a href="#features" class="navigation__link link2">Project2</a>
          </li>
          <li class="navigation__item">
            <a href="#tours" class="navigation__link link3">Project3</a>
          </li>
         
          
        </ul>
      </nav>
    </div>
    
    <header class="header">
      <div class="header__logo-box">
        <img src="https://bryan-tineo-portafolio2.netlify.app/images/bryanmax9_icon.png" alt="logo" class="header__logo" />
      </div>

      <div class="header__text-box">
        <h1 class="heading-primary">
          <span class="heading-primary--main">Netflix Advanced Bootcamp</span>
          <span class="heading-primary--sub">Bryan Tineo</span>
        </h1>

        
      </div>
    </header>

    <main>
      <section class="section-about" id="about">
        <div class="u-center-text">
          <h2 class="heading-secondary u-margin-bottom-big" id="about-sec">
            Section About
          </h2>
        </div>

        <div class="row">
          <div class="col-1-of-2">
            <h3 class="heading-tertiary u-margin-bottom-small">
              Description
            </h3>
            <p class="paragraph">
              The 12 Week Advanced Netflix Pathways Bootcamp for Software Engineering (Java) is a comprehensive program designed to enhance the software engineering skills of individuals. The bootcamp focuses on Java programming, covering essential topics such as object-oriented programming, data structures, algorithms, and database design, using real-world projects aligned with Netflix's engineering practices.
            </p>
            

            <p class="paragraph">
              The highly interactive and immersive curriculum includes lectures, coding sessions, mentorship, and challenging projects, providing participants with hands-on experience and feedback. Suitable for those with prior programming experience, the program results in a deep understanding of Java and its applications, as well as the confidence to tackle complex engineering problems. Upon completion, participants receive a certificate showcasing their expertise and making them highly competitive in the job market.
            </p>

            <a href="https://github.com/bryanmax9/Bryan_Tineo_AllNetflixChallenges" class="btn-text">Github repository of Netflix Challenges &rarr;</a>
          </div>
          <div class="col-1-of-2">
            <div class="composition">
              <img
                src="https://www.crn.com/resources/027e-1737ab2a5482-5b472a146614-1000/java-logo.jpeg"
                alt="Java"
                class="composition__photo composition__photo--p1"
              /><img
                src="https://developers.redhat.com/sites/default/files/styles/article_feature/public/blog/2014/05/homepage-docker-logo.png?itok=zx0e-vcP"
                alt="Docker"
                class="composition__photo composition__photo--p2"
              /><img
                src="https://repository-images.githubusercontent.com/259018719/0663e880-8a02-11ea-9c75-44ca9a90cc1f"
                alt="Spring-Framework"
                class="composition__photo composition__photo--p3"
              />
            </div>
          </div>
        </div>
      </section>
      <section class="gallery gallery__frame">
        <figure class="gallery__item gallery__item--1 ">
          <img src="https://i.imgur.com/CVpBrBE.jpeg" alt="Gallery image 1"  class="gallery__img ">
        </figure>
        <figure class="gallery__item gallery__item--2 ">
          <img src="https://i.imgur.com/ADDEJ7T.jpeg" alt="Gallery image 2"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--3">
          <img src ="https://i.imgur.com/K7V2qTn.jpeg"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--4">
          <img src="https://i.imgur.com/4GMweKL.jpeg" alt="Gallery image 4"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--5">
          <img src="https://i.imgur.com/AMk9i9c.jpeg" alt="Gallery image 5"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--6">
          <img src="https://i.imgur.com/HxGEnZ6.jpeg"   alt="Gallery image 6"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--7">
          <img src="https://i.imgur.com/z2gbsFu.jpeg"  alt="Gallery image 7"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--8">
          <img src="https://i.imgur.com/l3cUTtW.jpeg" alt="Gallery image 8"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--9">
          <img src="https://i.imgur.com/XWK2vJ6.jpeg" alt="Gallery image 9"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--10">
          <img src="https://i.imgur.com/XAo6ao2.jpeg" alt="Gallery image 10"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--11">
          <img src="https://i.imgur.com/3yGiBt6.jpeg"  alt="Gallery image 11"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--12">
          <img src="https://i.imgur.com/yYiENgF.jpeg" alt="Gallery image 12"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--13">
          <img src="https://i.imgur.com/KniJzML.jpeg" alt="Gallery image 13"  class="gallery__img">
        </figure>
        <figure class="gallery__item gallery__item--14 frame">
          <img src="https://i.imgur.com/Al8XIaO.jpeg" alt="Gallery image 14"  class="gallery__img">
        </figure>
        
        
        
      </section>
      
      <section class="section-stories" id="story">
        <div class="bg-video">
          <video class="bg-video__content" autoplay muted loop>
            <source src="https://drive.google.com/uc?export=download&id=1okc_HHf-5lGcIxw7HKsibiGNj1wAMYZw" type="video/mp4" />
            <source src="https://drive.google.com/uc?export=download&id=1C6ABdiNjumaKZVO6ytFBn1QNLcmboLPR" type="video/webm" />
            Your browser is not supported for this videos!sorry😥
          </video>
        </div>
        <div class="u-center-text">
          <h2 class="heading-secondary u-margin-bottom-big">
            About Me
          </h2>
        </div>

        <div class="row">
          <div class="story">
            <figure class="story__shape">
              <img
                src="https://media.licdn.com/dms/image/D5603AQGuExkmqpb6BQ/profile-displayphoto-shrink_200_200/0/1665378322144?e=1681344000&v=beta&t=aA_aaXMC_CUIhWCx7twMwTZNmpzQqfMm1y73e949FGs"
                alt="Bryan Tineo-Developer"
                class="story__img"
              />
              <figcaption class="story__caption">Bryan</figcaption>
            </figure>
            <div class="story__text">
              <h3 class="heading-tertiary u-margin-bottom-small">
                Bryan Tineo
              </h3>
              <p>
                I am a motivated and capable person looking for new opportunities in Web Development, Software Development, and IT support.
              </p>
            </div>
          </div>
        </div>

        <div class="row">
          <div class="story">
            <figure class="story__shape">
              <img
                src="https://bryan-tineo-portafolio2.netlify.app/images/bryanmax9_icon.png"
                alt="Acttive Worm"
                class="story__img"
              />
              <figcaption class="story__caption">Bryan Logo</figcaption>
            </figure>
            <div class="story__text">
              <h3 class="heading-tertiary u-margin-bottom-small">
                Active worm
              </h3>
              <p>
                Web and App Developers. We are active learners, learning 24/7. Our Goal is creating Amazing Products. 
              </p>
            </div>
          </div>
        </div>

        <div class="u-center-text u-margin-top-huge">
          <a href="https://bryan-tineo-portafolio2.netlify.app/" class="btn-text">Portfolio page &rarr;</a>
        </div>
      </section>
      
      <section class="section-projects" id="projects">
        <div class="slider owl-carousel">
          <div class="card">
          <div class="img"><img src="https://i.ytimg.com/vi/WSaS17CSS4c/maxresdefault.jpg" alt=""></div>
            <div class="content">
              <div class="title">Magic 8 Ball</div>
              <div class="sub-title">Answer Questions</div>
              <p>
                The original Magic 8 Ball is a toy used for fortune-telling or seeking advice. It has 20 answers, which are revealed by turning it over to see a message through a window.

In the context of an API, a Magic 8 Ball API would allow you to make a request, such as asking a question, and receive a random answer in the form of a text message or code. The response would simulate the experience of using a physical Magic 8 Ball toy.
              </p>
              <div class="btn">
                <a href="#">Go to page</a>
              </div>
              
            </div>
        </div>
          <div class="card">
          <div class="img"><img src="https://www.garyfox.co/wp-content/uploads/2019/10/best-top-inspirational-quotes-1024x536.png" alt=""></div>
            <div class="content">
              <div class="title">Quotes</div>
              <div class="sub-title">Random Quotes Generator</div>
              <p>
                A "Random Quote API" is an application programming interface (API) that provides access to a database of quotes and returns a random quote to the user. Quotes can be from famous personalities, writers, historical figures, or even fictional characters.
              </p>
              <div class="btn">
                <a href="#">Go to page</a>
              </div>
              
            </div>
        </div>
          <div class="card">
          <div class="img"><img src="https://i.pinimg.com/originals/6b/84/14/6b84142ef4022b699a3085b3420bad54.jpg" alt=""></div>
            <div class="content">
              <div class="title">Definition</div>
              <div class="sub-title">Random word with definition</div>
              <p>
                A "Random Word with its Respective Definition API" is an application programming interface (API) that provides access to a database of words and their definitions, and returns a random word with its definition to the user. When a request is made to the API, it selects a random word from its database along with its definition, and returns it to the caller in the form of a text string or a JSON object. The API can be configured to return words based on different categories, such as nouns, verbs, adjectives, or specific subjects, like geography or science.
              </p>
              <div class="btn">
                <a href="#">Go to page</a>
              </div>
              
            </div>
        </div>
        </div>
        
      </section>
    </main>

<footer class="footer">
      <div class="footer__logo-box">
        <img src="https://bryan-tineo-portafolio2.netlify.app/images/bryanmax9_icon.png" alt="Full logo" class="footer__logo" />
      </div>
      <div class="row">
        <div class="col-1-of-2">
          <div class="footer__navigation">
            <ul class="footer__list">
              <li class="footer__item">
                <a href="https://www.linkedin.com/in/bryan-tineo/" class="footer__link">Company</a>
              </li>
              <li class="footer__item">
                <a href="https://www.linkedin.com/in/bryan-tineo/" class="footer__link">Contact</a>
              </li>
              <li class="footer__item">
                <a href="https://www.linkedin.com/in/bryan-tineo/" class="footer__link">Carrers</a>
              </li>
              <li class="footer__item">
                <a href="https://www.linkedin.com/in/bryan-tineo/" class="footer__link">Privacy policy</a>
              </li>
              <li class="footer__item">
                <a href="https://www.linkedin.com/in/bryan-tineo/" class="footer__link">Terms</a>
              </li>
            </ul>
          </div>
        </div>
        <div class="col-1-of-2">
          <p class="footer__copyright">
            Built by <a href="https://bryantineo.hashnode.dev/" class="footer__link">Bryan Tineo</a> for
            my Bootcamp at Neflix. Copyright &copy; by Bryan Tineo.
          </p>
        </div>
      </div>
    </footer>
    <script>
      $(".slider").owlCarousel({
        loop: true,
        autoplay: true,
        autoplayTimeout: 2500,//2000ms = 2.5s
        autoplayHoverPause: true,
      });
    </script>

  </body>
</html>

              
            
!

CSS

              
                //Mixins
@mixin clearfix {
  &::after {
    content: "";
    display: table;
    clear: both;
  }
}

@mixin absCenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

// Media Query Manager
/* 
0 - 600px: Phone
600 - 900:px Tablet portrait
900 - 1200px: Tablet landscape
[1200 - 1800] is where our normal styles apply
1800px + : Big Desktop

$breakpoint argument choices:
- phone
- tab-port
- tab-land
- big-desktop

ORDER: Base + typography > general layout + grid > page layout > components
1em = 16px
*/

@mixin respond($breakpoint) {
  @if $breakpoint == phone {
    //600px /16 = 37.5
    @media only screen and (max-width: 37.5em) {
      @content;
    }
  }

  @if $breakpoint == tab-port {
    //900px /16= 56.25
    @media only screen and (max-width: 56.25em) {
      @content;
    }
  }

  @if $breakpoint == tab-land {
    //1200px /16= 75
    @media only screen and (max-width: 75em) {
      @content;
    }
  }

  @if $breakpoint == big-desktop {
    //1800px /16=112.5
    @media only screen and (min-width: 112.5em) {
      @content;
    }
  }
}


//Variables

// COLORS
$color-penguin-light: #b2ebf2;
$color-penguin-dark: #4dd0e1;

$color-primary: #d966ff;
$color-primary-light: #ff5f5f;
$color-primary-middle: #ff5f5f;
$color-primary-dark: #ff2e2e;

$color-secondary-light: #ffb900;
$color-secondary-dark: #ff7730;

$color-tertiary-light: #2998ff;
$color-tertiary-dark: #5643fa;

$color-grey-light-1: #f7f7f7;
$color-grey-light-2: #eee;

$color-grey-dark: #777;
$color-grey-dark-2: #999;
$color-grey-dark-3: #333;

$color-white: #fff;
$color-black: #000;

// FONT
$default-font-size: 1.6rem;

// GRID
$grid-width: 114rem;
$gutter-vertical: 8rem;
$gutter-vertical-small: 6rem;
$gutter-horizontal: 6rem;

//Animations

@keyframes moveInLeft {
  0% {
    opacity: 0;
    transform: translateX(-10rem); /* rotate(0deg); */
  }

  /* 60% {
    transform: rotate(180deg);
  } */

  80% {
    /* it will move to the right 10px more */
    transform: translateX(1rem);
  }

  100% {
    opacity: 1;
    /* trabslate 0 will make the element be in the initial position*/
    transform: translate(0);
  }
}

@keyframes moveInRight {
  0% {
    opacity: 0;
    transform: translateX(10rem);
  }

  80% {
    /* it will move to the right 10px more */
    transform: translateX(-1rem);
  }

  100% {
    opacity: 1;
    /* trabslate 0 will make the element be in the initial position*/
    transform: translate(0);
  }
}

@keyframes moveInBottom {
  0% {
    opacity: 0;
    transform: translateY(3rem);
  }

  100% {
    opacity: 1;
    /* trabslate 0 will make the element be in the initial position*/
    transform: translate(0);
  }
}

//Base

*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html {
  //Smooth scrolling
  scroll-behavior: smooth;
  -webkit-scroll-behavior: smooth;
  
  
  // This defines what 1rem means
  font-size: 62.5%; //1rem = 10px/16px =62.5%

  @include respond(tab-land) {
    // width < 1200?
    font-size: 56.25%; //1rem = 9px, 9/16 = 50%
  }

  @include respond(tab-port) {
    // width < 900?
    font-size: 50%; //1rem = 8px, 8/16 = 50%
  }

  @include respond(big-desktop) {
    font-size: 75%; //1 rem = 12px, 12/16 =75%
  }
}

body {
  box-sizing: border-box;
  padding: 3rem;
  
  @include respond(tab-port){
    padding: 0;
  }
}

::selection {
  background-color: $color-primary;
  color: $color-white;
}

//Typography
body {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  /* font-size: 16px; */
  line-height: 1.7;
  color: $color-grey-dark;
  
}

.heading-primary {
  color: $color-white;
  text-transform: uppercase;

  backface-visibility: hidden;
  margin-bottom: 6rem;
  
  
  
  &--main {
    display: block;
    font-size: 6rem;
    font-weight: 400;
    letter-spacing: 3.5rem;

    animation-name: moveInLeft;
    animation-duration: 1s;

    /* ease in will enter slow and end fast, while, ease out will go fast and then slow down */
    animation-timing-function: ease-out;
    
    @include respond(phone){
      letter-spacing: 1rem;
      font-family: 6rem;
    
  }

    /* animation will execute 3 times */
    /* animation-iteration-count: 3; */

    /* delays animation for 3 seconds*/
    /* animation-delay: 3s; */
  }

  &--sub {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 1.75rem;
    animation: moveInRight 1s ease-out;
    
    @include respond(phone){
      letter-spacing: .5rem;
    
  }
    
  }
}

.heading-secondary {
  font-size: 3.5rem;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-block;
  background-image: linear-gradient(
    to right,
    #e60000, #990000,
    #330000
  );

  //after creating the gradient of two colors, we can use does colors to color the text by using webkit on the text and color transparent

  -webkit-background-clip: text;
  color: transparent;
  letter-spacing: 0.2rem;
  transition: all 0.2s;
  
  @include respond(tab-port){
      font-size: 3rem;
  }
  
  @include respond(phone){
      font-size: 2.5rem;
  }

  &:hover {
    // the skew y will move the text de costado. Mientras que skew x va a mover las letras para un lado
    transform: skewY(2deg) skewX(15deg) scale(1.1);
    text-shadow: 0.5rem 1rem 2rem rgba($color-black, 0.2);
  }
}

.heading-tertiary {
  font-size: $default-font-size;
  font-weight: 700;
  text-transform: uppercase;
}

.paragraph {
  font-size: $default-font-size;

  &:not(:last-child) {
    margin-bottom: 3rem;
  }
}

//Utilities


.u-center-text {
  text-align: center !important;
}

.u-margin-bottom-big {
  margin-bottom: 8rem !important;

  @include respond(tab-port) {
    margin-bottom: 5rem !important;
  }
}
.u-margin-bottom-medium {
  margin-bottom: 4rem !important;

  @include respond(tab-port) {
    margin-bottom: 3rem !important;
  }
}
.u-margin-bottom-small {
  margin-bottom: 1.5rem !important;
}

.u-margin-top-big {
  margin-top: 8rem !important;
}
.u-margin-top-huge {
  margin-top: 10rem !important;
}

//Bg-video
.bg-video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
  opacity: 0.75;
  overflow: hidden;

  &__content {
    height: 100%;
    width: 100%;
    // object fit cover will allow the parent cover the parent of the content
    object-fit: cover;
  }
}

//Button
.btn {
  // the "&" alone means the btn, so everythong inside will be applied to the btn even if it is not an anchor element
  &,
  &:link,
  &:visited {
    text-transform: uppercase;
    text-decoration: none;
    padding: 1.5rem 4rem;
    display: inline-block;
    border-radius: 10rem;
    transition: all 0.2s;
    position: relative;
    font-size: $default-font-size;

    //Change for the button element
    border: none;
    cursor: pointer;
  }

  &:hover {
    transform: translateY(-3px);
    box-shadow: 0 1rem 2rem rgba($color-black, 0.2);

    &::after {
      transform: scaleX(1.4) scaleY(1.6);
      opacity: 0;
    }
  }

  &:active,
  &:focus {
    outline: none;
    transform: translateY(-1px);
    box-shadow: 0 0.5rem 1rem rgba($color-black, 0.2);
  }

  &--white {
    background-color: $color-white;
    color: $color-grey-dark;

    &::after {
      background-color: $color-white;
    }
  }

  &--green {
    background-color: $color-primary;
    color: $color-white;

    &::after {
      background-color: $color-primary;
    }
  }

  &::after {
    content: "";
    display: inline-block;
    height: 100%;
    width: 100%;
    border-radius: 10rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.4s;
  }

  &--animated {
    animation: moveInBottom 0.5s ease-out 0.75s;
    animation-fill-mode: backwards;
  }
}

.btn-text {
  &:link,
  &:visited {
    font-size: $default-font-size;
    color: red;
    display: inline-block;
    text-decoration: none;
    border-bottom: 1px solid red;
    padding: 3px;
    transition: all 0.2s;
  }

  &:hover {
    background-color: red;
    color: $color-white;
    box-shadow: 0 1rem 2rem rgba($color-black, 0.15);
    transform: translateY(-2px);
  }

  &:active {
    box-shadow: 0 0.5rem 1rem rgba($color-black, 0.15);
    transform: translateY(0);
  }
}

//Composition

.composition {
  position: relative;

  &__photo {
    width: 55%;
    box-shadow: 0 1.5rem 4rem rgba($color-black, 0.4);
    border-radius: 2px;
    position: absolute;
    z-index: 10;
    transition: all 0.2s;
    outline-offset: 2rem;
    
    @include respond(tab-port) {
      float: left;
      position: relative;

      //width is the same for each image
      width: 33.33333%;

      box-shadow: 0 1.5rem 3rem rgba($color-black, 0.2);
    }

    &--p1 {
      left: 0;
      top: -2rem;
      
      @include respond(tab-port) {
        top: 0;
        transform: scale(1.2);
      }
    }

    &--p2 {
      right: 0;
      top: 2rem;
      
      @include respond(tab-port) {
        top: -1rem;
        transform: scale(1.3);
        z-index: 100;
      }
    }

    &--p3 {
      left: 20%;
      top: 10rem;
      
      @include respond(tab-port) {
        top: 1rem;
        left: 0;

        transform: scale(1.1);
      }
    }

    &:hover {
      outline: 1.5rem solid $color-primary;
      transform: scale(1.05) translateY(-0.5rem);
      box-shadow: 0 2.5rem 4rem rgba($color-black, 0.5);
      z-index: 20;
    }
  }

  // make all the images that aren't hovered to shrink
  &:hover &__photo:not(:hover) {
    transform: scale(0.95);
  }
  //composition:hover composition__photo:not(:hover) {
}




//Story

.story {
  width: 75%;
  margin: 0 auto;
  box-shadow: 0 3rem 6rem rgba($color-black, 0.1);
  background-color: rgba($color-white, 0.6);
  border-radius: 3px;
  padding: 6rem;
  padding-left: 9rem;
  font-size: $default-font-size;
  // with transfor -12degrees will make the whole element with their childs to diagonally move
  transform: skewX(-12deg);
  
  @include respond(tab-port) {
    width: 100%;
    padding: 4rem;
    padding-left: 7rem;
  }

  @include respond(phone) {
    transform: skew(0);
  }

  &__shape {
    width: 15rem;
    height: 15rem;
    float: left;
    -webkit-shape-outside: circle(50% at 50% 50%);
    // radius of the circle in this cas 50% will be radius=7.5
    // then, at 50% 50% means at the center horizontally and vertically
    shape-outside: circle(50% at 50% 50%);

    //clipath will create the circle shape in the element
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    // to give space between the figure of the image andd the text, we use transform
    //Since we are putting diagonally the whole element, we skew the image in order to make it to not look distorted
    transform: translateX(-3rem) skewX(12deg);
    position: relative;
    
    @include respond(phone) {
      transform: translateX(-3rem) skewX(0);
    }
  }

  &__img {
    height: 100%;
    // we move with translateX the image to the center. Scale will set the initial scale of the image
    transform: translateX(-4rem) scale(1.4);
    backface-visibility: hidden;
    transition: all 0.5s;
  }

  &__text {
    //Since we are skewing diagonally the whole element, we skew the text to is not distorted
    transform: skewX(12deg);
    
    @include respond(phone) {
      transform: skewX(0);
    }
  }

  &__caption {
    // Make caption be infront of image
    position: absolute;
    //center caption
    top: 50%;
    left: 50%;
    // We translate the image some percentage down so it can be animated moving up
    transform: translate(-50%, 40%);
    color: $color-white;
    text-transform: uppercase;
    font-size: 1.7rem;
    text-align: center;
    // opacity will start with 0 so the letters cant be seen until hovered
    opacity: 0;
    transition: all 0.5s;
    // for the text appearing when hovered in order to make it to not chacke we use backface hidden
    backface-visibility: hidden;
  }

  // when is hovered then we want to change the caption
  &:hover &__caption {
    //opacity 1 so when hovered the text appears
    opacity: 1;
    // move to the center when hovered
    transform: translate(-50%, -50%);
  }

  //As soon as we hover the image
  &:hover &__img {
    // the image will stay in the center with translateX, while the scale will make the image look far
    transform: translateX(-4rem) scale(1);
    //Also, we want the image to be blured and a darker
    //brightness will make the image darker. If brightness is less then 100% it will become darker

    filter: blur(3px) brightness(80%);
  }
}

//Footer
.footer {
  background-color: black;
  padding: 10rem 0;
  font-size: 1.4rem;
  color: $color-grey-light-1;
  
  @include respond(tab-port) {
    padding: 8rem 0;
  }

  &__logo-box {
    //inline image works as inline text, so text align center will align the image
    text-align: center;
    margin-bottom: 8rem;
    
    @include respond(tab-port) {
      margin-bottom: 6rem;
    }
  }

  &__logo {
    width: 15rem;
    height: auto;
  }

  &__navigation {
    border-top: 1px solid $color-grey-dark;
    padding-top: 2rem;
    // inline-block dosent ocuppy 100% of its available width only what the content needs
    display: inline-block;
    
    @include respond(tab-port) {
      width: 100%;
      text-align: center;
  }
  }

  &__list {
    list-style: none;
  }

  &__item {
    display: inline-block;

    &:not(:last-child) {
      margin-right: 1.5rem;
    }
  }

  &__link {
    &:link,
    &:visited {
      color: $color-grey-light-1;
      background-color: $color-grey-dark-3;
      text-decoration: none;
      text-transform: uppercase;
      display: inline-block;
      transition: all 0.2s;
    }

    &:hover,
    &:active {
      color: #b30000;
      box-shadow: 0 1rem 2rem rgba($color-black, 0.4);
      transform: rotate(5deg) scale(1.3);
    }
  }

  &__copyright {
    border-top: 1px solid $color-grey-dark;
    padding-top: 2rem;
    width: 80%;
    float: right;
    
    @include respond(tab-port) {
      width: 100%;
      float: none;
  }
  }
}

// GRID
.row {
  // 114rem
  max-width: $grid-width;
  //center row in the viewport
  margin: 0 auto;

  //.row:not(:last-child)
  &:not(:last-child) {
    // put margin in the bottom of all rows except the last row(last child)
    margin-bottom: $gutter-vertical;
    @include respond(tab-port){
      margin-bottom: $gutter-vertical-small;
    }
    
    @include respond(tab-port){
      max-width: 50rem;
      padding: 0 3rem;
    }
  }

  @include clearfix;

  // It will select all of the elements in which the class attribute starts with "col-". If you change ^ with * it will mean every class that contains col-. If you use $, means any class that ends with col-

  [class^="col-"] {
    float: left;

    &:not(:last-child) {
      margin-right: $gutter-horizontal;
      
      @include respond(tab-port){
        margin-right: 0;
        margin-bottom: $gutter-vertical-small;

    }
    }
    
    @include respond(tab-port){
      width: 100% !important;
    }
  }

  .col-1-of-2 {
    width: calc((100% - #{$gutter-horizontal}) / 2);
  }

  .col-1-of-3 {
    width: calc((100% - 2 * #{$gutter-horizontal}) / 3);
  }

  .col-2-of-3 {
    width: calc(
      2 * ((100% - 2 * #{$gutter-horizontal}) / 3) + #{gutter-horizontal}
    );
  }

  .col-1-of-4 {
    width: calc((100% - 3 * #{$gutter-horizontal}) / 4);
  }

  .col-2-of-4 {
    width: calc(
      2 * ((100% - 3 * #{$gutter-horizontal}) / 4) + #{$gutter-horizontal}
    );
  }

  .col-3-of-4 {
    width: calc(
      3 * ((100% - 3 * #{$gutter-horizontal}) / 4) + 2 * #{$gutter-horizontal}
    );
  }
}

//Header

.header {
  height: 95vh;
  background-image: linear-gradient(
      to right bottom,
      rgba(255, 0, 0, 0.8),
      rgb(0, 0, 25, 0.8)
    ),
    url(https://variety.com/wp-content/uploads/2020/05/netflix-logo.png);
  background-size: cover;
  background-position: top;
  position: relative;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 75vh, 0 100%);
  /* clip path each coordinate is a corner of the image, so we are selecting in which position each corner will stay */
  clip-path: polygon(0 0, 100% 0, 100% 75vh, 0 100%);
  
  @include respond(phone){
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85vh, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 85vh, 0 100%);
  }
  
  &__logo-box {
    position: absolute;
    top: 4rem;
    left: 4rem;
  }

  &__logo {
    height: 3.5rem;
  }

  &__text-box {
    position: absolute;
    top: 40%;
    left: 50%;
    /* background-color: red; */
    transform: translate(-50%, -50%);

    text-align: center;
  }
}


//Navigation

.navigation {
  &__checkbox {
    // Since we dont want the checkbox to be seen, we set display none so it dosent appear on the website
    display: none;
  }

  &__button {
    //making the white circle menu
    background-color: $color-white;
    height: 7rem;
    width: 7rem;
    position: fixed;
    top: 6rem;
    right: 6rem;
    border-radius: 50%;
    z-index: 2000;
    //shadow to the circle button menu so it is depicted when moving through the page
    box-shadow: 0 1rem 3rem rgba($color-black, 0.1);
    text-align: center;
    cursor: pointer;
    
    @include respond(tab-port){
      top: 4rem;
      right: 4rem;
    }
    
    @include respond(phone){
      top: 3.5rem;
      right: 3.5rem;
    }
  }

  &__background {
    //making the circle with color in the back
    height: 6rem;
    width: 6rem;
    border-radius: 50%;
    //putting the button in the right corner
    position: fixed; // same as position absolute, but this is moved using the top right property
    top: 6.5rem;
    right: 6.5rem;
    //The linear gradient goes from one side to the other one. while the radio gradient starts in the middle of the element and goes from there in all directions
    background-image: radial-gradient(
      $color-primary-light,
      $color-primary-dark
    );

    z-index: 1000;
    //transition on the background
    // check: https://easings.net/ in order to chose the ease of the transition

    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    
    @include respond(tab-port){
      top: 4.5rem;
      right: 4.5rem;
    }
    
    @include respond(phone){
      top: 3.5rem;
      right: 3.5rem;
    }

    //As Soon the navigation is open, we are scaling the entire backround
    //transform: scale(80);
  }

  &__nav {
    // the navigation will occuppy 100% of the view port's width and height (ocuppy the whole page when menu button clicked)
    height: 100vh;

    //While the navigation open even when scroolling we want it in the same place
    position: fixed;
    top: 0;
    //instead of right: 0; we set to left: 0; so we can have an animation from the left(the links coming and hiding from the left side)
    left: 0;
    z-index: 1500;

    // to hide the navigation links we cant use opacity 0 since the links will still work even when the content is hided
    // Therefore, we can convine opacity with the width
    //So, by making the width of the elements to 0 we will hide the link
    opacity: 0;
    width: 0;

    //transition of the navigation to animate the opacity
    //if we only put transition: opacity 0.8s; then the elements inside the navigation will hide in a weird way when clicked
    //So we use all instead of opacity
    // The cubic will define the transition animation
    // check: https://easings.net/# for more transitions
    transition: all 0.8s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  }

  &__list {
    //navigation list
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    list-style: none;
    text-align: center;
    // we are setting the width of the links so when it hides when clicked the navigation button so it dosent hide in a weird way
    width: 100%;
  }

  &__item {
    //selection the box of each link
    margin: 1rem;
  }

  &__link {
    &:link,
    &:visited {
      // we need to always set inline-block in order for the padding and the tranform trnslate works
      display: inline-block;
      font-size: 3rem;
      font-weight: 300;
      padding: 1rem 2rem;
      color: $color-white;
      text-decoration: none;
      text-transform: uppercase;

      // give color animation to the link
      background-image: linear-gradient(
        120deg,
        transparent 0%,
        transparent 50%,
        $color-white 50%
      );

      // As we increase the background size from 100% , the white color of the link will slowly disappear and the transparent color will cover the whole link button
      //Therefore, at 220% it will be all transparent, so when hovered is changed to 100% in order to make it white
      background-size: 220%;
      transition: all 0.4s;

      span {
        margin-right: 1rem;
        display: inline-block;
      }
    }

    &:hover,
    &:active {
      background-position: 100%;
      color: $color-primary;
      transform: translateX(1rem);
    }
  }

  //using the checkbox hack so when clicked the menu then the navigation appears
  // Functionality
  &__checkbox:checked ~ &__background {
    // when the label is checked(the menu button), then the navigation appears
    // the background of the navigation first scales
    transform: scale(80);
  }

  &__checkbox:checked ~ &__nav {
    // Since we used opacity 0 and width 0 to hide the links of the navigation
    opacity: 1;
    width: 100%;
  }

  //Icon
  &__icon {
    position: relative;
    // After making the text align in the button in order for the icon to show in the middle
    // we must move the icon inside using margin top
    margin-top: 3.5rem; //with this is in the center of the element

    &,
    &::before,
    &::after {
      width: 3rem;
      height: 2px;
      background-color: $color-grey-dark-3;
      display: inline-block;
    }

    // For the before and after to appear in the page, they need to have their content property defined

    &::before,
    &::after {
      content: "";
      position: absolute;
      left: 0;
      transition: all 0.2s;
    }

    // One on the top and one on the bottom
    &::before {
      top: -0.8rem;
      //transform-origin: right; // this will rotate the line to the right
    }
    &::after {
      top: 0.8rem;
    }
  }

  //When hovered, make the lines in the menu move apart

  &__button:hover &__icon::before {
    top: -1rem;
  }

  &__button:hover &__icon::after {
    top: 1rem;
  }

  //When the checkbox is selected, hten we select it brother which is the button, so then we select the button's child which is the icon.

  &__checkbox:checked + &__button &__icon {
    //When the button is clicked the middle line of the menu dissapears using backgroundcolor transprent
    background-color: transparent;
  }

  //After disappearing the middle line ( this: |||  ,to this: | |)
  //then we rotate the before and after(rotate the remaining lines to form an X shape)
  //Rotating them in opposite directions will create the effect of creating an X shape
  &__checkbox:checked + &__button &__icon::before {
    //since there is a padding between the lines (looks like this: | | )
    // So, whit top 0 for both will make the lines be next to each other (like this: ||)
    top: 0;
    //before we set: transform: rotate(45deg);. However, in order to make a better effect we substracted 180 - 45= 135deg to create a better animation
    transform: rotate(135deg);
  }

  &__checkbox:checked + &__button &__icon::after {
    top: 0;
    transform: rotate(-135deg);
  }
}










//Home
.section-about {
  background-color: $color-grey-light-1;
  padding: 25rem 0;
  margin-top: -20vh;
  
  @include respond(tab-port) {
    padding: 20rem 0;
  }
}

.section-features {
  padding: 20rem 0;
  background-image: linear-gradient(
      to right bottom,
      rgba(255, 0, 0, 0.8),
      rgb(0, 0, 111, 0.8)
    ),
    url("https://cdn.vox-cdn.com/thumbor/N2TuTRw5FX-6KU9NJVVAVtNTKjY=/1400x0/filters:no_upscale()/cdn.vox-cdn.com/uploads/chorus_asset/file/7164879/Big%20League%20Map.jpg");
  background-size: cover;

  // transform skewY will aloww us to put the element diagonally
  transform: skewY(-7deg);
  margin-top: -10rem;

  //Direct child selector(selecting all direct childs of the section feature)
  & > * {
    transform: skewY(7deg);
  }
  
  @include respond(tab-port){
    padding: 10rem 0;
  }
}

.section-tours {
  background-color: $color-grey-light-1;
  padding: 25rem 0 15rem 0;
  margin-top: -10rem;
  
  @include respond(tab-port) {
    padding: 20rem 0 10rem 0;
  }
}

.section-stories {
  position: relative;
  padding: 15rem 0;
  
  @include respond(tab-port) {
    padding: 10rem 0;
  }
}

.section-book {
  padding: 15rem 0;
  background-image: linear-gradient(
    to right bottom,
    $color-penguin-light,
    $color-penguin-dark
  );
  
  @include respond(tab-port) {
    padding: 10rem 0;
  }
  
}

.book {
  // in linear gradient instade of using from left to right we can use 90degrees
  // the 90 degrees will allow us to make the colors go from left to right(rotated)
  // at the right of each color we indicate in which percent we want the color to be
  // In this case the white will be from 0%-50%, while transparent 50%-100%.
  // This will create an effect that separates this two colors
  background-image: linear-gradient(
      105deg,
      rgba($color-white, 0.9) 0%,
      rgba($color-white, 0.9) 50%,
      transparent 50%
    ),
    url("https://cdn.vox-cdn.com/thumbor/HBBA62_GWFtU5xaSwg2-O1DqNtA=/0x0:1920x1080/1200x800/filters:focal(1107x375:1413x681)/cdn.vox-cdn.com/uploads/chorus_image/image/65548570/pengu.0.jpg");
  //background size 100% is the same as cover
  background-size: 100%;
  border-radius: 3px;
  box-shadow: 0 1.5rem 4rem rgba($color-black, 0.2);

  @include respond(tab-land) {
    background-image: linear-gradient(
      105deg,
      rgba($color-white, 0.9) 0%,
      rgba($color-white, 0.9) 50%,
      transparent 65%
    ),
    url("https://cdn.vox-cdn.com/thumbor/HBBA62_GWFtU5xaSwg2-O1DqNtA=/0x0:1920x1080/1200x800/filters:focal(1107x375:1413x681)/cdn.vox-cdn.com/uploads/chorus_image/image/65548570/pengu.0.jpg");
    
    background-size: cover;
  }
  
  @include respond(tab-port) {
    background-image: linear-gradient(
      to right,
      rgba($color-white, 0.9) 0%,
      rgba($color-white, 0.9) 100%),
    url("https://cdn.vox-cdn.com/thumbor/HBBA62_GWFtU5xaSwg2-O1DqNtA=/0x0:1920x1080/1200x800/filters:focal(1107x375:1413x681)/cdn.vox-cdn.com/uploads/chorus_image/image/65548570/pengu.0.jpg");
   
  }

  &__form {
    // Ocuppy half of the entire box
    width: 50%;
    padding: 6rem;
    
    @include respond(tab-land) {
      width: 65%;
    }

    @include respond(tab-port) {
      width: 100%;
    }
  }
}





//Section about (Aca cuento de que se trata la pagina)

.composition {
  position: relative;

  &__photo {
    width: 55%;
    box-shadow: 0 1.5rem 4rem rgba($color-black, 0.4);
    border-radius: 2px;
    position: absolute;
    z-index: 10;
    transition: all 0.2s;
    outline-offset: 2rem;
    
    @include respond(tab-port) {
      float: left;
      position: relative;

      //width is the same for each image
      width: 33.33333%;

      box-shadow: 0 1.5rem 3rem rgba($color-black, 0.2);
    }

    &--p1 {
      left: 0;
      top: -2rem;
      
      @include respond(tab-port) {
        top: 0;
        transform: scale(1.2);
      }
    }

    &--p2 {
      right: 0;
      top: 2rem;
      
      @include respond(tab-port) {
        top: -1rem;
        transform: scale(1.3);
        z-index: 100;
      }
    }

    &--p3 {
      left: 20%;
      top: 10rem;
      
      @include respond(tab-port) {
        top: 1rem;
        left: 0;

        transform: scale(1.1);
      }
    }

    &:hover {
      outline: 1.5rem solid red;
      transform: scale(1.05) translateY(-0.5rem);
      box-shadow: 0 2.5rem 4rem rgba($color-black, 0.5);
      z-index: 20;
    }
  }

  // make all the images that aren't hovered to shrink
  &:hover &__photo:not(:hover) {
    transform: scale(0.95);
  }
  //composition:hover composition__photo:not(:hover) {
}
.section-stories {
  position: relative;
  padding: 15rem 0;
  
  @include respond(tab-port) {
    padding: 10rem 0;
  }
}


//Slider
.slider{
  max-width: 1150px;

  display: flex;
  
}

.slider .card{
  background: #fff;
  flex:1;
  margin: 0 10px;
  
  
}

.slider .card .img img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  
  
}
.section-projects{
  display:  grid;
  height: 100%;
  place-items: center;
  text-align: center;
  background: #f2f2f2;
}
.slider .card .content{
  padding: 10px 20px;
  
}

.card .content .title{
  font-size: 25px;
  font-weight: 600;
  
}
.card .content .sub-title{
  font-size: 20px;
  font-weight: 600;
  color: #e74c3c;
  line-height: 20px;
}

.card .content p{
  text-align:justify;
  margin: 10px 0;
  
}
.card .content .btn{
  display: block;
  text-align: left;
  margin: 10px 0;
  background-color: red;
  
  
}
.card .content .btn a{
  text-decoration:None;
  background: red;
  color:#fff;
  border:none;
  outline: none;
  font-size: 17px;
  padding: 5px 8px;
  border-radius: 5px;
  
  cursor: pointer;
  transition: 0.2s;
}

.card .content .btn button:hover{
  transform: scale(0.9);
  
  
}

.section-projects {
  overflow: hidden;
  padding: 15rem 0;
  background-image: linear-gradient(
    to right bottom,
    #990000,
    #330000
  );
  
  @include respond(tab-port) {
    padding: 10rem 0;
  }
  
}
//GALLERY

.gallery {
  background-color: white;
  grid-column: full-start / full-end;
  
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  //We use vw (viewport width) in order for the grid height to not change when the viewport shrinks
  grid-template-rows: repeat(7, 5vw);
  
  grid-gap: 1.5rem;
  padding: 1.5rem;
  
  &__item {
    
    &--1 {
      grid-row: 1 /  3;
      grid-column: 1 / 3;
    }
    
    &--2 {
      grid-row: 1 / 4;
      grid-column: 3 / 6;
    }
    
    &--3 {
      grid-row: 1 / 3;
      grid-column: 6 / 7;
    }
    
    &--4 {
      grid-row: 1 / 3;
      grid-column: 7 / 9;
    }
    
    &--5 {
      grid-row: 3 / 6;
      grid-column: 1 / 3;
    }
    
    &--6 {
      grid-row: 4 / 6;
      grid-column: 3 / 5;
    }
    
    &--7 {
      grid-row: 4 / 5;
      grid-column: 5 / 6;
    }
    
    &--8 {
      grid-row: 3 / 5;
      grid-column: 6 / 8;
    }
    
    &--9 {
      grid-row: 3 / 6;
      grid-column: 8 / 9;
    }
    
    &--10 {
      grid-row: 6 / 8;
      grid-column: 1 / 2;
    }
    
    &--11{
      grid-row: 6 / 8;
      grid-column: 2 / 4;
    }
    
    &--12 {
      grid-row: 6 / 8;
      grid-column: 4 / 5;
    }
    
    &--13 {
      grid-row: 5 / 8;
      grid-column: 5 / 8;
    }
    
    &--14 {
      grid-row: 6 / 8;
      grid-column: 8 / 9;
    }
    
  }
  
  &__img {
    //we put 100% for the width of the images in order for the images dont ocuppy the whole grid and only a grid cell.
    width: 100%;
    height: 100%;
    // object fit is in order for the image not to overflow, but for object fit to work we have to manually se the width and height of the image
    object-fit: cover;
    display: block;
  }
  
  
}
              
            
!

JS

              
                /* This js code will allow the navigation scroll and close de the navigation tab when clicked a link */

const link1 = document.querySelector(".link1");
const link2 = document.querySelector(".link2");
const link3 = document.querySelector(".link3");


const cajita = document.querySelector(".navigation__checkbox");

link1.addEventListener("click", function (event) {
  cajita.checked = false;
});

link2.addEventListener("click", function (event) {
  cajita.checked = false;
});

link3.addEventListener("click", function (event) {
  cajita.checked = false;
});


              
            
!
999px

Console