.container {
  max-width: 1280px;
  padding: 0 1.5rem;
  margin: auto;
  overflow: hidden; }

.btn-main, .btn-light, .btn-dark {
  display: inline-block;
  padding: 0.8rem 2rem;
  transition: all 0.5s;
  border: none;
  cursor: pointer; }

.btn-main {
  color: #333;
  background-color: #d9b311; }

.btn-light {
  color: white;
  background-color: rgba(0, 95, 86, 0.3);
  border: 2px solid white;
  border-radius: 10px; }

.btn-dark {
  color: #f4f4f4;
  background-color: #00111e; }

button[class^="btn-"]:hover,
a[class^="btn-"]:hover,
input[class^="btn-"]:hover {
  background-color: #d9b311; }

.bg-white {
  background: white;
  color: black; }

.bg-dark-blue {
  background: #ccc;
  color: white; }

.bg-light-blue {
  background: #0080A7;
  color: white; }

.bg-dark-02 {
  background: black;
  color: white; }

.section-title {
  font-size: 2rem;
  display: block;
  padding-bottom: 0.5rem;
  font-weight: 900;
  text-transform: uppercase; }

.lead {
  font-size: 1.3rem;
  margin-bottom: 1rem; }

.text-center {
  text-align: center; }

.text-white {
  color: white; }

.py-1 {
  padding: 1rem 0; }

.py-2 {
  padding: 2rem 0; }

.py-3 {
  padding: 3rem 0; }

.py-4 {
  padding: 4rem 0; }

.p-1 {
  padding: 1rem; }

.p-2 {
  padding: 2rem; }

.p-3 {
  padding: 3rem; }

.p-4 {
  padding: 4rem; }

.my-1 {
  margin: 1rem 0; }

.my-2 {
  margin: 2rem 0; }

.my-3 {
  margin: 3rem 0; }

.my-4 {
  margin: 4rem 0; }

.bottom-line {
  height: 2px;
  width: 3rem;
  background: #d9b311;
  display: block;
  margin: 0 auto 1rem auto; }

.angle-top-bottom-right {
  position: relative;
  z-index: 1; }
  .angle-top-bottom-right:before, .angle-top-bottom-right:after {
    background: inherit;
    content: "";
    display: block;
    height: 25%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: -1;
    -webkit-backface-visibility: hidden; }
  .angle-top-bottom-right:before {
    top: 0;
    transform: skewY(-3deg);
    transform-origin: 0 100%; }
  .angle-top-bottom-right:after {
    bottom: 0;
    transform: skewY(3deg);
    transform-origin: 0 100%; }

.angle-top-right {
  position: relative;
  z-index: 1; }
  .angle-top-right:before, .angle-top-right:after {
    background: inherit;
    content: "";
    display: block;
    height: 25%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: -1;
    -webkit-backface-visibility: hidden;
    padding-bottom: 2rem; }
  .angle-top-right:before {
    top: 0;
    transform: skewY(-3deg);
    transform-origin: 0 100%; }

.angle-left {
  position: relative;
  z-index: 1; }
  .angle-left:before, .angle-left:after {
    background: inherit;
    content: "";
    display: block;
    height: 25%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: -1;
    -webkit-backface-visibility: hidden; }
  .angle-left:before {
    top: 0;
    transform: skewY(3deg);
    transform-origin: 100% 0; }
  .angle-left:after {
    bottom: 0;
    transform: skewY(3deg);
    transform-origin: 0 100%; }

* {
  margin: 0;
  padding: 0; }

body {
  font-family: "Rubik", sans-serif;
  line-height: 1.6;
  background: white;
  margin-bottom: 2rem; }

a {
  text-decoration: none;
  color: black; }

ul {
  list-style: none; }

h2,
h3,
h4 {
  text-transform: uppercase; }

img {
  width: 100%; }

#logo {
  width: 70px;
  height: 70px; }

.menu-dropdown {
  display: none; }

#main-nav {
  z-index: 20;
  display: flex;
  justify-content: space-between;
  background: none;
  position: relative; }
  #main-nav .nav-links {
    display: flex;
    list-style-type: none;
    cursor: pointer; }
    #main-nav .nav-links a {
      color: white; }
    @media screen and (max-width: 1024px) {
      #main-nav .nav-links {
        display: none; } }
  #main-nav li {
    padding: 1rem 1.5rem; }
  #main-nav a {
    text-decoration: none;
    color: red;
    text-transform: uppercase;
    border-bottom: 3px transparent solid;
    padding-bottom: 0.5rem;
    transition: border-color 1s; }
    #main-nav a:hover {
      border-color: #0080A7; }
    #main-nav a.current {
      border-color: #d9b311; }

#header-home {
  background: #333 url("../img/header-images/ruben123-hero-img_02.jpg") no-repeat center/cover;
  height: 95vh;
  margin: 0;
  z-index: 1;
  position: relative;
  margin-bottom: 2rem; }
  #header-home .bottom-curve {
    position: absolute;
    bottom: -40px;
    width: 100%; }
  #header-home #particles-js {
    position: relative;
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: 1 !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 70%, black 75%);
    mask-image: linear-gradient(to bottom, transparent 70%, black 100%); }
  #header-home .container .header-content {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
    position: absolute;
    color: white;
    text-align: center;
    left: 0;
    right: 0;
    padding-top: 1rem;
    /* let's shape */
    /* let's animate this */ }
    #header-home .container .header-content .work-button {
      z-index: 20;
      position: relative; }
    #header-home .container .header-content h2 {
      z-index: 2;
      margin-bottom: 1.5rem; }
    #header-home .container .header-content img {
      margin-top: -8rem;
      margin-bottom: -6rem; }
    #header-home .container .header-content .wrap {
      height: 60px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 20; }
    #header-home .container .header-content .box {
      padding: 1em;
      height: 60px;
      margin: auto;
      position: relative; }
    #header-home .container .header-content button {
      width: 180px;
      height: 50px;
      background-color: rgba(0, 95, 86, 0.3);
      border: 2px solid white;
      cursor: pointer;
      position: relative;
      border-radius: 10px;
      transition-delay: 1s; }
    #header-home .container .header-content button:hover {
      background-color: #d9b311; }
    #header-home .container .header-content button a {
      color: #fff;
      text-transform: uppercase;
      letter-spacing: 1px;
      z-index: 5; }
    #header-home .container .header-content button span.shape {
      height: 60px;
      width: 160px;
      position: absolute;
      top: 0;
      left: 0; }
    #header-home .container .header-content h1 {
      font-size: 125px;
      line-height: 0.8;
      font-family: "Abril Fatface", cursive;
      text-shadow: 0 0 40px rgba(255, 255, 255, 0.75);
      margin-bottom: 0.75rem; }
    #header-home .container .header-content p {
      margin-bottom: 2rem; }

#about-me {
  position: relative;
  margin-bottom: 5rem;
  z-index: 10; }
  #about-me .container {
    display: flex;
    overflow: visible; }
    #about-me .container .content-info {
      flex: 2; }
      #about-me .container .content-info .social-icons {
        font-size: 3rem; }
        #about-me .container .content-info .social-icons a {
          padding-right: 1rem;
          transition: color 0.5s; }
        #about-me .container .content-info .social-icons a:hover {
          color: #d9b311; }
      #about-me .container .content-info h1 {
        color: #0080A7; }
    #about-me .container .profile-pic {
      flex: 1;
      margin-top: -3rem; }
      #about-me .container .profile-pic img {
        border-radius: 50%; }

#news {
  margin-bottom: 5rem; }

.youtube-container {
  display: flex;
  align-items: center; }

#capabilities {
  height: 100%;
  margin-bottom: 4.5rem; }
  #capabilities .capabilities-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #capabilities .capabilities-container .category {
      display: flex;
      flex: 1 1 100%;
      align-items: center;
      justify-content: center;
      margin-bottom: 4rem; }
      @media screen and (min-width: 768px) {
        #capabilities .capabilities-container .category {
          flex: 0 0 50%; } }
      @media screen and (min-width: 1025px) {
        #capabilities .capabilities-container .category {
          flex: 0 0 25%; } }
      #capabilities .capabilities-container .category .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        height: 100%; }
        #capabilities .capabilities-container .category .content img {
          height: 12rem;
          width: auto;
          display: block;
          object-fit: contain;
          opacity: 0.4;
          transition: 0.75s;
          padding-bottom: 4rem; }
        #capabilities .capabilities-container .category .content .text-animation {
          text-align: center;
          transition-duration: 0.75s; }
          #capabilities .capabilities-container .category .content .text-animation h3 {
            color: white;
            text-transform: uppercase; }
    #capabilities .capabilities-container .category:hover .content img {
      opacity: 1; }
    #capabilities .capabilities-container .category:hover .content .text-animation {
      transform: translateY(-2rem); }

#skills {
  margin-bottom: 5rem; }
  #skills .skills-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    #skills .skills-container .skills-section {
      display: flex;
      flex-direction: column;
      flex: 1;
      padding-left: 4rem; }
      #skills .skills-container .skills-section .skills-list .dot {
        height: 15px;
        width: 15px;
        background-color: #d9b311;
        border-radius: 50%;
        display: inline-block;
        position: relative;
        text-align: center;
        /*   Stroke */
        -webkit-box-shadow: 0px 0px 0px 5px rgba(217, 179, 17, 0.25);
        -moz-box-shadow: 0px 0px 0px 5px rgba(217, 179, 17, 0.25);
        box-shadow: 0px 0px 0px 5px rgba(217, 179, 17, 0.25); }
      #skills .skills-container .skills-section .skills-list .dot:after {
        content: "";
        position: absolute;
        height: 3px;
        border-bottom: 1px solid #d9b311;
        border-top: 1px solid #d9b311;
        bottom: 5px;
        /*   bottom: 0; */
        width: 250px;
        text-align: center; }

.brand {
  text-align: center; }
  .brand img {
    width: 50px; }

.p1:hover {
  opacity: 0.3;
  cursor: pointer; }

.p2:hover {
  opacity: 0.3;
  cursor: pointer; }

#portfolio-section {
  margin-bottom: 5rem; }
  #portfolio-section p {
    color: grey;
    font-size: 12px;
    font-weight: 200; }

.content {
  width: 100%;
  margin: 0 auto;
  padding: 0px;
  text-align: center; }
  .content .single-content img {
    width: 290px;
    height: 100%;
    margin: 10px; }

.filters {
  width: 100%;
  text-align: center; }
  .filters ul {
    list-style: none;
    padding: 20px 0; }
  .filters li {
    display: inline;
    padding: 10px 25px;
    font-size: 14px;
    color: #636363;
    font-weight: 400;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2em; }
    .filters li:hover {
      color: #a6a6a6; }
  .filters li.active {
    color: #ccc;
    border: 1px solid #ccc;
    border-radius: 15px; }

/** LIGHTBOX WEBSITES **/
.lightbox-websites {
  /** Default lightbox to hidden */
  display: none;
  /** Position and style */
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8); }

.lightbox-websites img {
  /** Pad the lightbox image */
  width: auto;
  display: block;
  max-height: 600px;
  max-width: 100%;
  margin: 0 auto; }

.image-button-container {
  width: 40%;
  margin: 2% auto;
  display: block;
  overflow: auto;
  max-height: 80%;
  position: relative; }

.lightbox-websites .button-text-container p {
  display: block;
  position: relative; }

.lightbox-websites .button-text-container .buttons-container {
  display: flex;
  justify-content: center; }
  .lightbox-websites .button-text-container .buttons-container .btn-dark {
    margin: 0 1rem;
    border: 3px solid white; }

.lightbox-websites:target {
  /** Remove default browser outline */
  outline: none;
  /** Unhide lightbox **/
  display: block; }

/** LIGHTBOX MARKUP **/
.lightbox {
  /** Default lightbox to hidden */
  display: none;
  /** Position and style */
  position: fixed !important;
  z-index: 999;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8); }

.lightbox img {
  width: 50%;
  max-width: 800px;
  height: auto;
  margin-top: 2%; }

.lightbox:target {
  /** Remove default browser outline */
  outline: none;
  /** Unhide lightbox **/
  display: block; }

#bottom-footer {
  height: 250px; }
  #bottom-footer .contact-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%; }
    #bottom-footer .contact-info a {
      color: white;
      transition: color 0.5s; }
    #bottom-footer .contact-info a:hover {
      color: #d9b311; }
    #bottom-footer .contact-info .social-icons {
      font-size: 3rem; }
      #bottom-footer .contact-info .social-icons a {
        padding-right: 1rem;
        transition: color 0.5s; }
      #bottom-footer .contact-info .social-icons a:hover {
        color: #d9b311; }

@media screen and (max-width: 1600px) {
  #header-home .container .header-content h2 {
    z-index: 2;
    margin-bottom: 1.5rem; }
  #header-home .container .header-content img {
    margin-top: -8rem;
    margin-bottom: -6rem; } }

@media screen and (max-width: 1450px) {
  #header-home .container .header-content h2 {
    z-index: 2;
    margin-bottom: 1.5rem; }
  #header-home .container .header-content img {
    margin-top: -7rem;
    margin-bottom: -6rem; } }

@media screen and (max-width: 1350px) {
  #header-home .container .header-content h2 {
    z-index: 2;
    margin-bottom: 1.5rem; }
  #header-home .container .header-content img {
    margin-top: -6rem;
    margin-bottom: -5rem; } }

@media screen and (max-width: 1150px) {
  #header-home .container .header-content {
    position: relative; }
    #header-home .container .header-content h2 {
      z-index: 2;
      margin-bottom: 1.5rem; }
    #header-home .container .header-content img {
      margin-top: -5rem;
      margin-bottom: -4rem; } }

@media screen and (max-width: 1024px) {
  #header-home .container .header-content {
    z-index: 1;
    position: relative; }
    #header-home .container .header-content h2 {
      z-index: 2;
      margin-bottom: 1.5rem; }
    #header-home .container .header-content img {
      margin-top: -5rem;
      margin-bottom: -4rem;
      width: 1200px;
      z-index: 0; }
  #header-home #particles-js {
    position: relative;
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: 1 !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 30%, black 75%);
    mask-image: linear-gradient(to bottom, transparent 70%, black 100%); }
  .menu-dropdown {
    z-index: 200;
    display: block;
    height: 70px;
    width: 70px;
    background-color: #0080A7;
    border-radius: 35px;
    position: fixed;
    top: 20px;
    right: 20px;
    cursor: pointer;
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -ms-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease; }
    .menu-dropdown .menu-content {
      background: transparent;
      color: #191f24;
      height: 0;
      width: 0;
      opacity: 0;
      -webkit-transition: all 1.5s ease-in-out !important;
      -moz-transition: all 1.5s ease-in-out !important;
      -ms-transition: all 1.5s ease-in-out !important;
      -o-transition: all 1.5s ease-in-out !important;
      transition: all 1.5s ease-in-out !important; }
      .menu-dropdown .menu-content ul {
        padding: 20px;
        margin: 0;
        list-style: none;
        padding-top: 80px;
        text-align: center; }
        .menu-dropdown .menu-content ul li {
          padding: 10px 0;
          font-size: 20px;
          -webkit-transition: all 0.5s ease;
          -moz-transition: all 0.5s ease;
          -ms-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          transition: all 0.5s ease; }
          .menu-dropdown .menu-content ul li a {
            color: white; }
            .menu-dropdown .menu-content ul li a:hover {
              color: cyan; }
      .menu-dropdown .menu-content.opacity {
        opacity: 1; }
    .menu-dropdown.menu-active {
      height: 450px;
      width: 300px;
      border-radius: 5px; }
      .menu-dropdown.menu-active .menu-content {
        height: 400px !important;
        width: 300px !important;
        color: white !important; }
    .menu-dropdown .con,
    .menu-dropdown .special-con {
      cursor: pointer;
      display: inline-block;
      position: fixed;
      top: 20px;
      right: 39px; }
    .menu-dropdown .bar {
      display: block;
      height: 5px;
      width: 35px;
      background: white;
      margin: 6px auto;
      position: relative;
      top: 16px;
      left: 2px;
      border-radius: 5px; }
    .menu-dropdown .con {
      width: auto;
      margin: 0 auto;
      -webkit-transition: all 0.7s ease;
      -moz-transition: all 0.7s ease;
      -ms-transition: all 0.7s ease;
      -o-transition: all 0.7s ease;
      transition: all 0.7s ease; }
    .menu-dropdown .col {
      display: inline-block;
      width: 24%;
      text-align: center;
      height: auto;
      position: relative; }
    .menu-dropdown .middle {
      margin: 0 auto; }
    .menu-dropdown .bar {
      -webkit-transition: all 0.7s ease;
      -moz-transition: all 0.7s ease;
      -ms-transition: all 0.7s ease;
      -o-transition: all 0.7s ease;
      transition: all 0.7s ease; }
    .menu-dropdown .con.menu-active .top {
      -webkit-transform: translateY(11px) rotateZ(45deg);
      -moz-transform: translateY(11px) rotateZ(45deg);
      -ms-transform: translateY(11px) rotateZ(45deg);
      -o-transform: translateY(11px) rotateZ(45deg);
      transform: translateY(11px) rotateZ(45deg); }
    .menu-dropdown .con.menu-active .bottom {
      -webkit-transform: translateY(-11px) rotateZ(-45deg);
      -moz-transform: translateY(-11px) rotateZ(-45deg);
      -ms-transform: translateY(-11px) rotateZ(-45deg);
      -o-transform: translateY(-11px) rotateZ(-45deg);
      transform: translateY(-11px) rotateZ(-45deg); }
    .menu-dropdown .con.menu-active .middle {
      width: 0; }
    .menu-dropdown .hidden {
      display: none; }
  #header-home {
    margin-bottom: 4rem; }
  #about-me {
    margin-bottom: 4rem; }
    #about-me .container {
      display: flex;
      overflow: visible;
      flex-direction: column-reverse;
      justify-content: center; }
      #about-me .container .content-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-bottom: 5rem;
        width: 90%;
        margin: auto; }
      #about-me .container .profile-pic {
        display: flex;
        justify-content: center; }
        #about-me .container .profile-pic img {
          width: 60%; }
  #capabilities {
    height: 100%;
    margin-bottom: 3rem; }
  #portfolio-section .lightbox img {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin-top: 20%; }
  #portfolio-section .lightbox-websites .image-button-container {
    width: 75%;
    margin: 2% auto;
    display: block;
    overflow: auto;
    max-height: 80%;
    position: relative;
    top: 15%; }
  .youtube-container {
    display: flex;
    align-items: center;
    flex-direction: column; } }

@media screen and (min-height: 1366px) {
  #header-home .container .header-content {
    margin-top: 10rem;
    z-index: 1;
    position: relative; }
    #header-home .container .header-content h2 {
      z-index: 2;
      margin-bottom: 1.5rem; }
    #header-home .container .header-content img {
      margin-top: -5rem;
      margin-bottom: -4rem;
      width: 1200px;
      z-index: 0; } }
