
@import url(https://fonts.googleapis.com/css?family=Raleway:100,200,300,regular,500,600,700,800,900,100italic,200italic,300italic,italic,500italic,600italic,700italic,800italic,900italic);

/* variables */
:root {
    /* Fondos */
    --bg-header: #fafafa;
    --bg-body: #fafafa;
    --bg-footer: #4158A6;
    --bg-modal: #fafafa;

    /* Textos */
    --text-tittle-color: #ea4a4c;
    --text-subtittle-color: #ea4a4c;
    --text-text1-color: #ea4a4c;
    --text-text2-color: #202124;
    --text-text3-color: #273852;
    --text-text4-color: #ffffff;

    /* Botones */
    --btn-colortext: #ffffff;
    --btn-colorbg: #ea4a4c;
    --btn-colorbg-hover: #f56565;
    --btn-socialtext: #ffffff;
    --btn-social-hover: #202124;
    --btn-techtext: #202124;
    --btn-techbg: #ffffff;
    --btn-techtext-hover: #ffffff;
    --btn-techbg-hover: #202124;
    --btn-icontechtext: #ffffff;
    --btn-icontechbg: #202124;

    /* Font Weight */
    --weight-small: 400;
    --weight-semibold: 600;
    --weight-bold: 800;

    /* Max width */
    --width-medium: 800px;
    --width-full: 100%;

    /* Animated Box */
    --d: 2500ms;
	--angle: 90deg;
	--gradX: 100%;
	--gradY: 50%;
	--c1: #ea4a4c;
	--c2: #fafafa;

}

[data-theme="dark"] {
    /* Fondos */
    --bg-header: #202124;
    --bg-body: #202124;
    --bg-footer: #202124;
    --bg-modal: #202124;

    /* Textos */
    --text-tittle-color: #758694;
    --text-subtittle-color: #758694;
    --text-text1-color: #758694;
    --text-text2-color: #fafafa;
    --text-text3-color: #fafafa;

    /* Botones */
    --btn-colortext: #ffffff;
    --btn-colorbg: #758694;
    --btn-colorbg-hover: #8a9dad;
    --btn-socialtext: #202124;
    --btn-social-hover: #fafafa;
    --btn-techtext: #202124;
    --btn-techbg: #ffffff;
    --btn-techtext-hover: #ffffff;
    --btn-techbg-hover: #202124;
    --btn-icontechtext: #202124;
    --btn-icontechbg: #ffffff;

    /* Animated Box */
	--c1: #758694;
	--c2: #202124;

}


/* Reset default styling */
html {font-size: 100%;scroll-behavior: smooth;}
* {margin: 0;padding: 0;box-sizing: border-box;}
ul {list-style: none;}
a {text-decoration: none;color: var(--text-text1-color);}

/* Main styling */
body {background: var(--bg-body);color: var(--text-text2-color);font-family: "Raleway", sans-serif;line-height: 1.5;}
body {scrollbar-color: var(--btn-colorbg) transparent;}
body::-webkit-scrollbar {background-color: #fff;}
body::-webkit-scrollbar-thumb {background-color: #aab7cf;}

/************************* MENU *************************/
/* Navbar */
.navbar {position: fixed;top: 0;left: 0;right: 0;z-index: 20;background: var(--bg-header);}
.navbar .container {display: flex;align-items: center;justify-content: space-between;z-index: 20;height: 80px;width: 100%;}
.navbar .container .nav-menu {display: flex;}
.navbar .container .nav-menu .nav-link {margin: 0 1rem;font-size: 0.8rem;font-weight: var(--weight-semibold);color: var(--text-text3-color);}
.navbar .container .nav-menu .btn {margin-right: 1.5rem;}
.navbar .container .nav-menu .btn .fas.fa-arrow-right {margin-left: 0.5rem;font-size: 0.9rem;}
/* Blur Navbar */
.backdrop-blur{background: transparent;backdrop-filter: blur(10px);}
.backdrop-blur-2{background: transparent;backdrop-filter: blur(30px);}

/* switch Dark mode */
#switch {display: none;}
.toggle-icons {display: flex;justify-content: space-between;align-items: center;cursor: pointer;}
.toggle-icons > img {transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);width: 30px;}
.moon {transform: rotate(10deg);}
#switch:checked + .toggle-icons .moon {transform: rotate(250deg);}
#switch:checked + .toggle-icons .sun {transform: rotate(100deg);}
/* hamburger */
.hamburger {margin-bottom: 0.1rem;display: none;position: absolute;left: 0;}
.hamburger .bar {display: block;width: 23px;height: 3px;margin: 4px auto;transition: all 0.3s ease-in-out;border-radius: 30px;background-color: var(--text-text2-color);}

/* Header Container */
.header-container {display: flex;flex-direction: column;align-items: center;justify-content: center;margin-top: 8rem;padding: 1rem;}
.header-container > div {margin-top: 1rem;}
/************************* HEADER *************************/
/* contenedor */
.content-text {text-align: center;margin: 1.5rem 0;}
.content-text h2 {font-size: 3rem;line-height: 1.2;transition: 0.2s ease-in-out;}
.content-text h3 {padding: 0.5rem;max-width: 700px;}
.content-text p {padding: 0.5rem;margin: 0 auto;max-width: 700px;}
.container {max-width: var(--width-medium);margin: 0 auto;padding: 1rem 2rem;}

/* Hero section */
#hero {display: flex;flex-direction: column;height: 100%;}
#hero .content-text h2{color: var(--text-tittle-color);}
#hero .content-text h3{color: var(--text-subtittle-color);}
#hero .content-text p{color: var(--text-text3-color);}
#hero .social {margin: 0.9rem 0;}
#hero .social img {width: 40px;height: 40px;}
#hero .social a {margin: 0 0.5rem;font-size: 2rem;transition: all 0.3s;color: var(--text-text3-color);}
#hero .social a:hover {color: var(--text-tittle-color);}
#hero .profile-image {width: 150px;/*border-radius: 50%;*/animation: bounce 1s infinite alternate;}
/************************* BODY *************************/
/* Boxes */
.project-container {display: flex;flex-direction: column;padding-top: 3.5rem;}
.project-container .btn {align-self: center;margin: 2rem 0;}
.project-container .content-text h2{text-align: left;color: var(--text-tittle-color);}
.project-container .content-text h3{text-align: left;color: var(--text-text3-color);}
.project-container .content-text p{text-align: left;padding: 0;margin: 0;color: var(--text-text3-color);}
.project-container .content-box .li-icon-box {margin-top:2px;}
.project-container .content-box .li-icon-box .icon-box {display: inline-block;cursor: default;margin-bottom: 4px;margin-left: 4px;margin-right: 4px;width: 60px;height: 60px;}
.project-container .content-box .li-icon-box .tooltip:hover:after{top:-50px;}
.project-container .content-box .li-icon-box .tooltip:hover:before {top:-50px;}
.project-container .content-box .list {max-width: var(--width-medium);margin: 20px auto;text-decoration: none;}
.project-container .content-box .list li {display: table;border-collapse: collapse;width: 100%;min-height: 230px;margin-bottom:35px;}
.project-container .content-box .list li .inner {display: table-row;overflow: hidden;}
.project-container .content-box .list li .inner .li-img {display: table-cell;vertical-align: top;width: 40%;padding-right: 1em;}
.project-container .content-box .list li .inner .li-img img {display: block;width: 100%;height: auto;margin-top:10px;-webkit-transform: scale(1);transform: scale(1);-webkit-transition: .2s ease-in-out;transition: .2s ease-in-out;padding: 3px;/*border-radius: .75rem;*/}
.project-container .content-box .list li .inner .li-img:hover img {-webkit-transform: scale(1.1);transform: scale(1.1);}
.project-container .content-box .list li .inner .li-text {display: table-cell;vertical-align: top;width: 60%;}
.project-container .content-box .list li .inner .li-text .li-head {margin: 0;color: var(--text-tittle-color);}
.project-container .content-box .list li .inner .li-text .li-sub {margin: 0;}
.project-container .content-box .list li .inner .li-text .li-sub p {margin: 0;color: var(--text-text3-color);}
.project-container .content-box .list li .inner .li-text .li-icon-tech {margin-top:2px;}
.project-container .content-box .list li .inner .li-text .li-icon-tech .icon-tech {display: inline-block;cursor: default;margin-bottom: 4px;width: 30px;height: 30px;}
.project-container .content-box .list li .inner .li-text .li-tech {margin-top:2px;}
.project-container .content-box .list li .inner .li-text .li-tech .orb-tech {display: inline-block;padding: 0.15rem 0.9rem;border-radius: 30px;text-transform: uppercase;font-size: 0.82rem;transition: 0.3s;background: var(--btn-techbg);color: var(--btn-techtext) !important;cursor: default;margin-bottom: 4px;border: 1px solid var(--btn-techtext);}
.project-container .content-box .list li .inner .li-text .li-tech .orb-tech:hover {background: var(--btn-techbg-hover);color:var(--btn-techtext-hover) !important;}
.project-container .content-box .list li .inner .li-text .li-social {margin-top:2px;}
.project-container .content-box .list li .inner .li-text .li-social .btn {padding: 0.15rem 0.9rem;margin: 0;margin-bottom: 5px;}
.project-container .content-box .list li .inner .li-text .li-social .btn:hover {background: var(--btn-social-hover);color:var(--btn-socialtext) !important;}
/* mostrar ocultar proyectos */
.project-container .content-box .list .column {display: none!important;}
.project-container .content-box .list .show {display: block!important;}

/************************* FOOTER *************************/
/* Footer */
#footer {background: var(--bg-footer);}
#footer .container {display: flex;flex-direction: column;align-items: center;justify-content: center;color: #ffffff;min-height: 160px;text-align: center;}
#footer a {font-size: 0.8rem;color: #fff;}
#footer a:hover {opacity: 0.6;}
#footer .social {margin: 0.9rem 0;}
#footer .social a {margin: 0 0.5rem;font-size: 2rem;transition: all 0.3s;color: var(--text-text4-color);}
#footer .social a:hover {color: var(--text-tittle-color);}
#footer p {font-size: 0.8rem;}


/************************* EXTRAS *************************/
/* Botones */
.btn {display: inline-block;padding: 0.75rem 1.9rem;border-radius: 30px;text-transform: uppercase;font-size: 0.82rem;transition: 0.3s;}
.btn-primary {background: var(--btn-colorbg);color: var(--btn-colortext) !important;cursor: pointer;}
.btn-primary:hover {background: var(--btn-colorbg-hover);}

/* Modal */
.modal {position: fixed;width: 100vw;height: 100vh;opacity: 0;visibility: hidden;transition: all 0.3s ease;top: 0;left: 0;display: flex;align-items: center;justify-content: center;}
.modal.open {visibility: visible;opacity: 1;transition-delay: 0s;z-index: 1000;}
.modal-bg {position: absolute;width: 100%;height: 100%;}
.modal-container {border-radius: 10px;background: var(--bg-modal);position: relative;padding: 30px;color:#273852;border: 1px solid var(--btn-colorbg);width: 96%;height: 94%;}
.modal-container #modal-display{overflow-y: auto;height: 100%;}
.modal-container #modal-display .container_proyectos {max-width: var(--width-full);padding-top: 0;}
.modal-container #modal-display .container_proyectos .content-box .list {max-width: var(--width-full);display: inline;}
.modal-close {position: absolute;right: 15px;top: 15px;outline: none;appearance: none;background: var(--btn-colorbg);color: var(--btn-colortext);border: 0px;font-weight: bold;cursor: pointer;height: 30px;width: 30px;border-radius: 50%;}
.modal-close:hover {background: var(--btn-colorbg-hover);}

#modal-display {scrollbar-color: var(--btn-colorbg) transparent;}
#modal-display::-webkit-scrollbar {background-color: #fff;}
#modal-display::-webkit-scrollbar-thumb {background-color: #aab7cf;}

/* Animated Box */
@property --angle {syntax: '<angle>';initial-value: 90deg;inherits: true;}
@property --gradX {syntax: '<percentage>';initial-value: 50%;inherits: true;}
@property --gradY {syntax: '<percentage>';initial-value: 0%;inherits: true;}
.animatedBox {border: 0.1rem solid;border-image: conic-gradient(from var(--angle), var(--c2), var(--c1) 0.1turn, var(--c1) 0.15turn, var(--c2) 0.25turn) 30;animation: borderRotate var(--d) linear infinite forwards;}
.animatedBox:nth-child(2) {border-image: radial-gradient(ellipse at var(--gradX) var(--gradY), var(--c1), var(--c1) 10%, var(--c2) 40%) 30;animation: borderRadial var(--d) linear infinite forwards;}
@keyframes borderRotate {100% {--angle: 420deg;}}
@keyframes borderRadial {
    20% {--gradX: 100%;--gradY: 50%;}
    40% {--gradX: 100%;--gradY: 100%;}
    60% {--gradX: 50%;--gradY: 100%;}
    80% {--gradX: 0%;--gradY: 50%;}
    100% {--gradX: 50%;--gradY: 0%;}
}




/* tooltip */
.tooltip{position: relative;}
.tooltip:hover:after{content:attr(data-tooltip);background:var(--btn-icontechbg);padding:5px;border-radius:3px;display: inline-block;position: absolute;transform: translate(-50%,-100%);margin:0 auto;color:var(--btn-icontechtext);min-width:150px;top:-25px;left: 50%;text-align:center;}
.tooltip:hover:before {top:-25px;left: 50%;border: solid transparent;content: " ";height: 0;width: 0;position: absolute;pointer-events: none;border-color: rgba(0, 0, 0, 0);border-top-color: var(--btn-icontechbg);border-width: 5px;margin-left: -5px;transform: translate(0,0px);}






/* data-tooltip */
[data-tooltip] {--arrow-size: 5px;position: relative;z-index: 10;}
[data-tooltip]:before,
[data-tooltip]:after {position: absolute;visibility: hidden;opacity: 1;left: 50%;bottom: calc(100% + var(--arrow-size));pointer-events: none;transition: 0.2s;will-change: transform;}
/* The actual tooltip with a dynamic width */
[data-tooltip]:before {content: attr(data-tooltip);padding: 10px 18px;min-width: 50px;max-width: 500px;width: max-content;width: -moz-max-content;border-radius: 6px;font-size: 14px;opacity: 1;background-color: var(--btn-icontechbg);color: var(--btn-icontechtext);text-align: center;white-space: pre-wrap;transform: translate(-50%,  calc(0px - var(--arrow-size))) scale(0.5);}
/* Tooltip arrow */
[data-tooltip]:after {content: '';border-style: solid;border-width: var(--arrow-size) var(--arrow-size) 0px var(--arrow-size); /* CSS triangle */border-color: var(--btn-icontechbg) transparent transparent transparent;transition-duration: 0s; /* If the mouse leaves the element, the transition effects for the  tooltip arrow are "turned off" */transform-origin: top;   /* Orientation setting for the slide-down effect */transform: translateX(-50%) scaleY(0);}
/* Tooltip becomes visible at hover */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {visibility: visible;opacity: 1;}
[data-tooltip]:hover:before {transition-delay: 0.5s;transform: translate(-50%, calc(0px - var(--arrow-size))) scale(1);}
[data-tooltip]:hover:after {transition-delay: 0.5s;transition-duration: 0.2s;transform: translateX(-50%) scaleY(1);}
/* LEFT */
[data-tooltip-location="left"]:before,
[data-tooltip-location="left"]:after {left: auto;right: calc(100% + var(--arrow-size));bottom: 50%;text-align: left;opacity: 1;}
[data-tooltip-location="left"]:before {transform: translate(calc(0px - var(--arrow-size)), 50%) scale(0.5);}
[data-tooltip-location="left"]:hover:before {transform: translate(calc(0px - var(--arrow-size)), 50%) scale(1);}
[data-tooltip-location="left"]:after {border-width: var(--arrow-size) 0px var(--arrow-size) var(--arrow-size);border-color: transparent transparent transparent var(--btn-icontechbg);transform-origin: left;transform: translateY(50%) scaleX(0);}
[data-tooltip-location="left"]:hover:after {transform: translateY(50%) scaleX(1);}
/* RIGHT */
[data-tooltip-location="right"]:before,
[data-tooltip-location="right"]:after {left: calc(100% + var(--arrow-size));bottom: 50%;text-align: left;opacity: 1;}
[data-tooltip-location="right"]:before {transform: translate(var(--arrow-size), 50%) scale(0.5);}
[data-tooltip-location="right"]:hover:before {transform: translate(var(--arrow-size), 50%) scale(1);}
[data-tooltip-location="right"]:after {border-width: var(--arrow-size) var(--arrow-size) var(--arrow-size) 0px;border-color: transparent var(--btn-icontechbg) transparent transparent;transform-origin: right;transform: translateY(50%) scaleX(0);}
[data-tooltip-location="right"]:hover:after {transform: translateY(50%) scaleX(1);}
/* BOTTOM */
[data-tooltip-location="bottom"]:before,
[data-tooltip-location="bottom"]:after {top: calc(100% + var(--arrow-size));bottom: auto;opacity: 1;}
[data-tooltip-location="bottom"]:before {transform: translate(-50%, var(--arrow-size)) scale(0.5);}
[data-tooltip-location="bottom"]:hover:before {transform: translate(-50%, var(--arrow-size)) scale(1);}
[data-tooltip-location="bottom"]:after {border-width: 0px var(--arrow-size) var(--arrow-size) var(--arrow-size);border-color: transparent transparent var(--btn-icontechbg) transparent;transform-origin: bottom;}

#IDTecnologias [data-tooltip]:before,
#IDTecnologias [data-tooltip]:after {bottom: calc(200% + var(--arrow-size));}

#IDProjects [data-tooltip]:before,
#IDProjects [data-tooltip]:after {bottom: calc(150% + var(--arrow-size));}

#projects [data-tooltip]:before,
#projects [data-tooltip]:after {bottom: calc(150% + var(--arrow-size));}

#IDCursosModal [data-tooltip]:before {text-align: left;}

#IDCursosModal details summary{cursor: pointer;}


/*==================================
    TIMELINE
==================================*/

.timeline .timeline-info {color: var(--text-tittle-color);}
.timeline .timeline-content h3{color: var(--text-subtittle-color) !important;}
.timeline .timeline-content p{color: var(--text-text3-color);}
.timeline .timeline-content summary{color: var(--text-text3-color);}

/*-- GENERAL STYLES --*/
.timeline {line-height: 1.4em;list-style: none;margin: 0;padding: 0;width: 100%;h1, h2, h3, h4, h5, h6 {line-height: inherit;}}
.timeline-item {padding-left: 40px;position: relative;&:last-child {padding-bottom: 0;}}
.timeline-info {font-size: 12px;font-weight: 700;letter-spacing: 3px;margin: 0 0 .5em 0;text-transform: uppercase;white-space: nowrap;}
.timeline-marker {
      position: absolute;
      top: 0; bottom: 0; left: 0;
      width: 15px;
      &:before {
          background:  var(--btn-colorbg);
          border: 3px solid transparent;
          border-radius: 100%;
          content: "";
          display: block;
          height: 15px;
          position: absolute;
          top: 2px; left: -3px;
          width: 15px;
          transition: background 0.3s ease-in-out,
                  border 0.3s ease-in-out;
      }
      &:after {
          content: "";
          width: 3px;
          background: #CCD5DB;
          display: block;
          position: absolute;
          top: 24px; bottom: 0; left: 6px;
      }
      .timeline-item:last-child &:after {
          content: none;
      }
  }
  .timeline-item:not(.period):hover .timeline-marker:before {
      background: transparent;
      border: 3px solid var(--btn-colorbg);
  }

  /*----- TIMELINE CONTENT -----*/

  .timeline-content {
      padding-bottom: 40px;
      p:last-child {
          margin-bottom: 0;
      }
  }

  /*----- TIMELINE PERIOD -----*/
  
  .period {
      padding: 0;
      .timeline-info {
          display: none;
      }
      .timeline-marker {
          &:before {
              background: transparent;
              content: "";
              width: 15px;
              height: auto;
              border: none;
              border-radius: 0;
              top: 0;
              bottom: 30px;
              position: absolute;
              border-top: 3px solid #CCD5DB;
              border-bottom: 3px solid #CCD5DB;
          }
          &:after {
              content: "";
              height: 32px;
              top: auto;
          }
      }
      .timeline-content {
          padding: 40px 0 70px;
      }
      .timeline-title {
          margin: 0;
      }
  }

  /*----------------------------------------------
      MOD: TIMELINE SPLIT
  ----------------------------------------------*/

      .timeline-split {
          @media (min-width: 768px) {
              .timeline {
                  display: table;
              }
              .timeline-item {
                  display: table-row;
                  padding: 0;
              }
              .timeline-info,
              .timeline-marker,
              .timeline-content,
              .period .timeline-info {
                  display: table-cell;
                  vertical-align: top;
              }
              .timeline-marker {
                  position: relative;
              }
              .timeline-content {
                  padding-left: 30px;
              }
              .timeline-info {
                  padding-right: 30px;
              }
              .period .timeline-title {
                  position: relative;
                  left: -45px;
              }
          }
      }

  /*----------------------------------------------
      MOD: TIMELINE CENTERED
  ----------------------------------------------*/

      .timeline-centered {
          @extend .timeline-split;
          @media (min-width: 992px) {
              &,
              .timeline-item,
              .timeline-info,
              .timeline-marker,
              .timeline-content {
                  display: block;
                  margin: 0;
                  padding: 0;
              }
              .timeline-item {
                  padding-bottom: 40px;
                  overflow: hidden;
              }
              .timeline-marker {
                  position: absolute;
                  left: 50%;
                  margin-left: -7.5px;
              }
              .timeline-info,
              .timeline-content {
                  width: 50%;
              }
              > .timeline-item:nth-child(odd) .timeline-info {
                  float: left;
                  text-align: right;
                  padding-right: 30px;
              }
              > .timeline-item:nth-child(odd) .timeline-content {
                  float: right;
                  text-align: left;
                  padding-left: 30px;
              }    
              > .timeline-item:nth-child(even) .timeline-info {
                  float: right;
                  text-align: left;
                  padding-left: 30px;
              }
              > .timeline-item:nth-child(even) .timeline-content {
                  float: left;
                  text-align: right;
                  padding-right: 30px;
              }
              > .timeline-item.period .timeline-content {
                  float: none;
                  padding: 0;
                  width: 100%;
                  text-align: center;
              }
              .timeline-item.period {
                  padding: 50px 0 90px;
              }
              .period .timeline-marker:after {
                  height: 30px;
                  bottom: 0;
                  top: auto;
              }
              .period .timeline-title {
                  left: auto;
              }
          }
      }

  /*----------------------------------------------
      MOD: MARKER OUTLINE
  ----------------------------------------------*/
      
      .marker-outline {
          .timeline-marker {
              &:before {
                  background: transparent;
                  border-color: var(--btn-colorbg);;
              }
          }
          .timeline-item:hover .timeline-marker:before {
              background: var(--btn-colorbg);;
          }
      }

