@font-face {
  font-family: 'Lexend';
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url("/assets/fonts/Lexend-Regular.woff2") format("woff2"), 
     url("/assets/fonts/Lexend-Regular.ttf") format("truetype");
  font-weight: normal;
}

:root {
  --color-azul-light: #65aaff;
  --color-azul-dark: #90a8b7;
  --ffamily: 'Lexend', sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ffamily);
  -webkit-font-smoothing: antialiased;
  background-color: #0e1b32;
  margin: 0;
}

h1, h2, h3, h4, h5, h6, hr, p, pre {
  margin: 0;
}

.txt_blanco {
  color: #fff;
}

header h1 {
  font-size: 2.4rem;
  margin: 0;
}
header h2 {
  font-size: 1.6rem;
}
header p {
  color: var(--color-azul-dark);
}

.mb-4 {
  margin-bottom: 1rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-16 {
  margin-top: 4rem;
}

#content section p {
  color: var(--color-azul-dark);
  line-height: 1.5rem;
  margin-bottom: 1rem;
}

#content section h2 {
  color: #fff;
  font-size: 1.3rem;
}

#content section p a {
  text-decoration: none;
  color:#fff;
  transition: all .3s;
}

#content section p a:hover {
  color:var(--color-azul-light);
  transition: all .3s;
}

.top_section {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  opacity: 0;
  position: relative;
  padding: 0;
  width: 100%;
  top: auto;
}

.redes {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
}

.redes li {
  margin-right: 1.2rem;
  opacity: .6;
  transition: all .5s;
}
.redes li:hover {
  opacity: 1;
  transition: all .5s;
}

footer {
  color: #bbe5ff;
}

.max-w340 {
  max-width: 340px;
}

.btn {
  display: inline-block;
  background: var(--color-azul-dark);
  color: #0e1b32;
  padding: 7px 15px;
  text-decoration: none;
  border-radius: 5px;
  transition: all .3s;
}

.btn:hover {
  background: var(--color-azul-light);
  transition: all .3s;
  color: #fff;
}

.cajas {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.cajas li {
  display: block;
  transition: all .5s;
  border:1px solid #b9e4ff21;
  border-radius: .5rem;
}
.cajas li a, .cajas li div {
  display: block;
}
.cajas li a, .cajas li div {
  text-decoration: none;
  padding: 1.5rem;
}
.cajas li a p:last-child, .cajas li div p:last-child {
  margin-bottom: 0 !important;
}

.cajas li:hover{
  border:1px solid #ffffff;
  background: #00102275;
  border-radius: 1.3rem;
  transition: all .5s;
}
.cajas li p {
  transition: all .5s;
}
.cajas li:hover p {
  color: #fff !important;
  transition: all .5s;
}

.cajas li .azul {
  color: #fff !important;
  margin-bottom: .1rem !important;
}
.cajas li:hover .azul {
  color: var(--color-azul-light) !important;
}
.cajas li {
  margin-bottom: 1.5rem;
}

.cajas .bg_img {
  background-repeat: no-repeat;
  transition: all .5s;
}
.cajas .bg_img:hover {
  background-repeat: no-repeat;
  transition: all .5s;
}

.cajas .bg_img.bg_o10media {
  background-image: url(/assets/img/logo-o10media.png);
  background-size: cover;
  background-position-x: 22rem;
  background-position-y: -4rem;
}
.cajas .bg_img.bg_o10media:hover {
  background-position-x: 14rem;
  background-position-y: 0rem;
}

.cajas .bg_img.bg_salesianos {
  background-image: url(/assets/img/logo-salesianos.png);
  background-position: 95% 50%;
}
.cajas .bg_img.bg_gitgithub {
  background-image: url(/assets/img/logo-git-github.png);
  background-position: 95% 50%;
}

/* Proyectos */
.portfolio {
  display: grid;
}
.portfolio article a {
  text-decoration: none;
}
.portfolio article {
  margin: 0;
  border-radius: .5rem;
}
.portfolio_img img {
  width: 100%;
  height: auto;
  display: block;
  transition: all .5s;
}



/* ----------------------------------------------------------------
	Gradient Utility Classes
-----------------------------------------------------------------*/

.gradient-html {
  background-image: linear-gradient(to right, #b13d21, #e06f3e) !important;
}
.gradient-git {
  background-image: linear-gradient(to right, #972b18, #e76c56) !important;
}
.gradient-css {
  background-image: linear-gradient(to right, #264ce4, #5180f0) !important;
}
.gradient-js {
  background-image: linear-gradient(to right, #ac9420, #d3ba18) !important;
}
.gradient-php {
  background-image: linear-gradient(to right, #484c81, #8e92cc) !important;
}
.gradient-mysql {
  background-image: linear-gradient(to right, #00748f, #f39110) !important;
}
.gradient-bootstrap {
  background-image: linear-gradient(to right, #7818f7, #5a437f) !important;
}
.gradient-sass {
  background-image: linear-gradient(to right, #813159, #CE6B9C) !important;
}
.gradient-photoshop {
  background-image: linear-gradient(to right, #08253C, #37ABFF) !important;
}
.gradient-wp {
  background-image: linear-gradient(to right, #185977, #4d96b8) !important;
}
.gradient-woo {
  background-image: linear-gradient(to right, #693e9e, #9E6293) !important;
}
.gradient-prestashop {
  background-image: linear-gradient(to right, #361F5F, #942b7c) !important;
}
.gradient-sheets {
  background-image: linear-gradient(to right, #1a6d33, #30b876) !important;
}
.gradient-notion {
  background-image: linear-gradient(to right, #080808, #d8d8d8) !important;
}
.gradient-custom {
  background-image: linear-gradient(to right, #1b1b1b, #707070) !important;
}
.gradient-laravel {
  background-image: linear-gradient(to right, #aa1c12, #e0493e) !important;
}

/* ----------------------------------------------------------------
	Skills Bar
-----------------------------------------------------------------*/
.skill-progress {
  --cnvs-progress-height: 36px;
  --cnvs-progress-color: var(--cnvs-themecolor);
  --cnvs-progress-trackcolor: var(--cnvs-contrast-100);
  --cnvs-progress-rounded: 50rem;
  --cnvs-progress-speed: 1.1s;
}
.skill-progress + .skill-progress {
  margin-top: 1rem;
}
.skill-progress-bar {
  position: relative;
  height: 36px;
  background-color: #f8f9fa14;
  border-radius: 50rem;
}
.skill-progress-percent {
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #1abc9c;
  border-radius: 50rem;
  transition-property: width, height;
  transition-duration: 2000ms;
  transition-timing-function: ease;
}
.skill-progress-bar h3 {
  color: #fff;
  font-size: 1rem;
}
.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.align-items-center {
  align-items: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.h-100 {
  height: 100% !important;
}
.w-100 {
  width: 100% !important;
}
.w-100-2{
  width: calc(100% - 2rem) !important;
}
.position-absolute {
  position: absolute !important;
}
.d-flex {
  display: flex !important;
}
.txt_light {
  color: #fff;
}


/* Overlay proyectos */
.overlay-outer {
  position: relative;
  margin: auto;
}
.overlay {
  background: rgb(11 41 68 / 80%);
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  transition: all 0.4s ease-in-out 0s;
}
a:hover .overlay {
  opacity: 1;
}
.content-details {
  text-align: center;
  width: 100%;
  top: 50%;
  left: 50%;
  transition: all 0.3s ease-in-out 0s;
}
.overlay-outer:hover .content-details {
  top: 50%;
  left: 50%;
  opacity: 1;
}
.content-details .content-title {
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05rem;
  font-size: 1.1rem;
}
.content-details p {
  color: #fff;
  font-size: 0.8rem;
}
.content-details p:last-child {
  margin-bottom: 0 !important;
}
.content-details .tags {
  list-style: none;
  padding: 0 .5rem;
}
.content-details .tags li {
  display: inline-block;
  color: #fff;
  background: var(--color-azul-dark);
  border-radius: 3px;
  padding: 3px 7px;
  font-size: .8rem;
  margin-bottom: 4px;
}
.fadeIn_bottom {
  top: 80%;
}


/* Menu */
nav {
  text-transform: uppercase;
}
nav ul {
  list-style: none;
  padding-left: 0;
  width: max-content;
  margin: 0px;
  padding: 0px;
}
nav a {
  text-decoration: none;
  color: var(--color-azul-dark);
  transition: all .3s;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  opacity: .6;
}
nav li:hover a {
  padding-left: 15px;
  transition: all .3s;
  opacity: 1;
}

nav a.active {
  opacity: 1;
  padding-left: 30px;
  color: #fff;
}

nav li{
	float: none; 
  width: 100%;
}

nav li a{
  display: block; 
  width: 100%; 
  border-left: 5px solid; 
  position: relative; 
  z-index: 2;
  text-decoration: none;
  color: var(--color-azul-dark);
  box-sizing: border-box;  
  -moz-box-sizing: border-box;  
  -webkit-box-sizing: border-box; 
  font-size: .9rem;
}

nav li a:hover{ border-bottom: 0px; color: #fff;}

nav li a:after { 
  content: "";
  height: 100%; 
  left: 0; 
  top: 0; 
  width: 0px;  
  position: absolute; 
  transition: all 0.3s ease 0s; 
  -webkit-transition: all 0.3s ease 0s; 
  z-index: -1;
}

nav li a:hover:after{ width: 100%; }
nav li a:after{ background: #294566; }


/* Media */
@media (min-width: 981px) {
  .contenido {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
  }
  header {
    width: 48%;
    padding-top: 6rem;
    padding-bottom: 6rem;
    flex-direction: column;
    justify-content: space-between;
    max-height: calc(100vh - 12rem);
    top: 0;
    display: flex;
    position: sticky;
  }
  #content {
    padding-top: 6rem;
    padding-bottom: 6rem;
    width: 52%;
  }
  .portfolio {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .contenedor {
    min-height: 100vh;
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 3rem;
    padding-right: 3rem;
  }
  #content section {
    scroll-margin-top: 6rem;
    margin-bottom: 9rem;
  }
  .portfolio {
    margin-bottom: 4rem;
  }
  #sobre-mi h2 {
    display: none;
  }
  .content-details {
    position: absolute;
    opacity: 0;
    transform: translate(-50%, -50%);
  }
  .overlay-outer {
    overflow: hidden;
  }
  .content-details .content-title {
    margin-bottom: 0.5em;
  }
  .content-details {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}


@media (max-width: 980px) {
  .contenedor {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
    padding-left: 3rem;
    padding-right: 3rem;
  }
  #content section:first-child {
    padding-top: 6rem;
  }
  nav {
    display: none;
  }
  .portfolio {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 25px;
    column-gap: 15px;
  }
  #content section {
    scroll-margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .portfolio {
    margin-bottom: 2rem;
  }
  .portfolio .content-details {
    width: calc(100% - .6rem);
    padding-top: 0.7rem;
    padding-left: .3rem;
    padding-right: .3rem;
  }
  .tags {
    margin: .7rem 0;
  }
  .portfolio_img img {
    border-radius: .5rem;
  }
  .content-details .content-title {
    margin-bottom: 0;
  }
  .content-text {
    margin-bottom: 0 !important;
  }
}


@media (max-width: 767px) {
  .portfolio {
    grid-template-columns: repeat(2, 1fr);
  }
  .contenedor {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (max-width: 500px) {
  .portfolio {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 25px;
  }
}

@media (max-width: 390px) {
  .contenedor {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}
@media (max-width: 350px) {
  .contenedor {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}
