/* WHATSAPP STYLE BUTTON */

  .whatsapp-btn {
      position: fixed;
      bottom: 20px; /* Espacio desde la parte inferior */
      right: 25px; /* Espacio desde la parte derecha */
      z-index: 1000;
  }

  .whatsapp-btn img {
      width: 60px; /* Tamaño del botón */
      height: 60px;
      transition: transform 0.3s ease;
  }

  .whatsapp-btn img:hover {
      transform: scale(1.1); /* Efecto de aumento */
  }

/* ACCEDER STYLE BUTTON */

/* Container to enable 3D perspective */
.acceder-container {
  perspective: 1000px;
}

/* Base acceder styles with capsule shape and glass effect */
.acceder {
  width: 200px;
  height: 60px;
  border-radius: 30px; /* Creates the capsule shape */
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.15),
    rgba(255, 255, 255, 0.05)
  ); /* Transparent glass gradient */
  box-shadow:
    inset 0 1px 2px rgba(255, 255, 255, 0.4),
    /* Top highlight */ inset 0 -1px 2px rgba(0, 0, 0, 0.2),
    /* Bottom shadow */ 0 4px 8px rgba(0, 0, 0, 0.2),
    /* Drop shadow */ 0 0 20px rgba(255, 255, 255, 0.1); /* Subtle glow */
  transform: rotateX(15deg) translateZ(0); /* Initial 3D tilt */
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55); /* Springy transition */
  position: relative;
  cursor: pointer;
  animation: pulse 2s infinite ease-in-out; /* Pulsing glow animation */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

/* Moving shine effect for glass-like reflection */
.acceder::before {
  content: "";
  position: absolute;
  top: 0;
  left: -50px;
  width: 50px;
  height: 100%;
  background: linear-gradient(
    to right,
    transparent,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.2),
    rgba(255, 255, 255, 0.1),
    transparent
  ); /* Shine gradient */
  transform: skewX(-25deg); /* Tilted shine */
  animation: shine 3s infinite linear; /* Continuous shine movement */
  pointer-events: none;
  z-index: 1;
}

/* Ground shadow to enhance 3D effect */
.acceder::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 10%;
  width: 80%;
  height: 10px;
  background: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 0.3) 0%,
    transparent 70%
  ); /* Soft shadow */
  z-index: -1;
}

/* Text inside the acceder */
.acceder span {
  position: relative;
  z-index: 2;
  color: white;
  font-size: 18px;
  font-family: Arial, sans-serif;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); /* Depth for text */
  display: block;
  line-height: 60px; /* Center vertically */
  text-align: center;
  background: transparent !important;
}

/* Hover state: Straighten, lift, and enhance glow */
.acceder:hover {
  transform: rotateX(0deg) translateZ(15px) scale(1.05); /* Lift and scale */
  box-shadow:
    inset 0 1px 2px rgba(255, 255, 255, 0.4),
    inset 0 -1px 2px rgba(0, 0, 0, 0.2),
    0 8px 16px rgba(0, 0, 0, 0.3),
    /* Stronger shadow */ 0 0 40px rgba(255, 255, 255, 0.25); /* Brighter glow */
}

/* Active state: Depress and dim glow */
.acceder:active {
  transform: rotateX(0deg) translateZ(-5px) scale(0.95); /* Push down */
  box-shadow:
    inset 0 1px 2px rgba(255, 255, 255, 0.4),
    inset 0 -1px 2px rgba(0, 0, 0, 0.2),
    0 2px 4px rgba(0, 0, 0, 0.2),
    /* Reduced shadow */ 0 0 10px rgba(255, 255, 255, 0.1); /* Dimmed glow */
}

/* Pulsing animation for idle state */
@keyframes pulse {
  0%,
  100% {
    box-shadow:
      inset 0 1px 2px rgba(255, 255, 255, 0.4),
      inset 0 -1px 2px rgba(0, 0, 0, 0.2),
      0 4px 8px rgba(0, 0, 0, 0.2),
      0 0 20px rgba(255, 255, 255, 0.1);
  }
  50% {
    box-shadow:
      inset 0 1px 2px rgba(255, 255, 255, 0.4),
      inset 0 -1px 2px rgba(0, 0, 0, 0.2),
      0 4px 8px rgba(0, 0, 0, 0.2),
      0 0 30px rgba(255, 255, 255, 0.2); /* Peak glow */
  }
}

/* Shine animation for dynamic glass effect */
@keyframes shine {
  0% {
    left: -50px; /* Start off-screen */
  }
  100% {
    left: 250px; /* Move past acceder width (200px + buffer) */
  }
}

.acceder-button {
  all: unset; /* Quita casi todo estilo predeterminado */
  cursor: pointer; /* Manito al pasar el mouse */
  display: inline-block; /* Para que respete dimensiones */
}

/* responsive button acceder */

/* —— Extra Small Phones (≤ 320px) —— */
@media (max-width: 320px) {
  .acceder-container {
    perspective: 600px; /* Menos profundidad en pantallas muy pequeñas */
  }
  .acceder {
    width: 140px;
    height: 45px;
    border-radius: 22.5px;
  }
  .acceder span {
    font-size: 14px;
    line-height: 45px;
  }
}

/* —— Small Phones (321px – 480px) —— */
@media (min-width: 321px) and (max-width: 480px) {
  .acceder-container {
    perspective: 700px;
  }
  .acceder {
    width: 160px;
    height: 50px;
    border-radius: 25px;
  }
  .acceder span {
    font-size: 15px;
    line-height: 50px;
  }
}

/* —— Medium Phones / Small Tablets (481px – 768px) —— */
@media (min-width: 481px) and (max-width: 768px) {
  .acceder-container {
    perspective: 900px;
  }
  .acceder {
    width: 180px;
    height: 54px;
    border-radius: 27px;
  }
  .acceder span {
    font-size: 16px;
    line-height: 54px;
  }
}

/* —— Tablets / Small Desktops (769px – 1024px) —— */
@media (min-width: 769px) and (max-width: 1024px) {
  .acceder-container {
    perspective: 1000px;
  }
  .acceder {
    width: 200px;
    height: 60px;
    border-radius: 30px;
  }
  .acceder span {
    font-size: 18px;
    line-height: 60px;
  }
}

/* —— Desktops (1025px – 1440px) —— */
@media (min-width: 1025px) and (max-width: 1440px) {
  .acceder-container {
    perspective: 1100px;
  }
  .acceder {
    width: 220px;
    height: 66px;
    border-radius: 33px;
  }
  .acceder span {
    font-size: 20px;
    line-height: 66px;
  }
}

/* —— Large Desktops / 4K (≥ 1441px) —— */
@media (min-width: 1441px) {
  .acceder-container {
    perspective: 1200px;
  }
  .acceder {
    width: 240px;
    height: 72px;
    border-radius: 36px;
  }
  .acceder span {
    font-size: 22px;
    line-height: 72px;
  }
}



/* PARALLAX */
.parallax-section {
  position: relative;
  overflow: hidden;
  min-height: 70vh;
  z-index: 1;
}

.parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* más alto que el contenedor para crear el efecto */
  background-size: cover;
  background-position: center;
  transform: translateY(0);
  z-index: 0;
  will-change: transform;
}

.parallax-content {
  position: relative;
  z-index: 2;
}

/* Responsive Parallax */

/* —— Extra Small Phones (≤ 320px) —— */
@media (max-width: 320px) {
  .parallax-section {
    min-height: 50vh;           /* Menor altura en móviles muy pequeños */
  }
  .parallax-bg {
    /* Desactiva el parallax suave para ahorrar recursos */
    background-attachment: scroll;
    transform: none;
  }
}

/* —— Small Phones (321px – 480px) —— */
@media (min-width: 321px) and (max-width: 480px) {
  .parallax-section {
    min-height: 55vh;
  }
  .parallax-bg {
    /* Reduce el recorrido del fondo para que no se vea cortado */
    transform: translateY(-10%);
  }
}

/* —— Medium Phones / Small Tablets (481px – 768px) —— */
@media (min-width: 481px) and (max-width: 768px) {
  .parallax-section {
    min-height: 60vh;
  }
  .parallax-bg {
    transform: translateY(-15%);
  }
}

/* —— Tablets / Small Desktops (769px – 1024px) —— */
@media (min-width: 769px) and (max-width: 1024px) {
  .parallax-section {
    min-height: 65vh;
  }
  .parallax-bg {
    transform: translateY(-20%);
  }
}

/* —— Desktops (1025px – 1440px) —— */
@media (min-width: 1025px) and (max-width: 1440px) {
  .parallax-section {
    min-height: 70vh;  /* Altura por defecto óptima para escritorio medio */
  }
  .parallax-bg {
    transform: translateY(-25%);
  }
}

/* —— Large Desktops / 4K (≥ 1441px) —— */
@media (min-width: 1441px) {
  .parallax-section {
    min-height: 80vh;  /* Más presencia en pantallas muy grandes */
  }
  .parallax-bg {
    transform: translateY(-30%);
  }
}


/* GENERAL */

body {
  font-family: 'Open Sans', sans-serif;
}


p {
  font-size: 13px;
  color: #7a7a7a;
  line-height: 24px;
}

.page-content {
  width: 77.5%;
  float: right;
}

.content-section {
  padding-top: 80px;
  position: relative;
  width: 100%;
  display: inline-block;
  height: auto;
  left: 50%;
  text-align: center;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.section-heading {
  text-align: left;
  position: relative;
  margin-bottom: 60px;
}

.section-heading h1 {
  margin-top: 0px;
  font-size: 32px;
  color: #232323;
  display: inline-block;
  margin-right: 50px;
}

.section-heading em {
  font-style: normal;
  font-weight: 700;
  color: #029e99;
}

.section-heading p {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  color: #343434;
  position: absolute;
  top: 12.5px;
}

.white-button a {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  text-transform: capitalize;
  background-color: #029e99;
  display: inline-block;
  height: 44px;
  line-height: 44px;
  padding: 0px 25px;
  letter-spacing: 0.25px;
  text-decoration: none;
  transition: all 0.3s;
}

.white-button a:hover {
  background-color: #ffffff;
  color: #000000;
}

.accent-button a {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-transform: capitalize;
  background-color: #029e99;
  display: inline-block;
  height: 44px;
  line-height: 44px;
  padding: 0px 25px;
  letter-spacing: 0.25px;
  text-decoration: none;
  transition: all 0.3s;
}

.accent-button a:hover {
  background-color: #fff;
  color: #029e99;
}

header {
    position: fixed;
    top: 0;
    transition: top 0.3s ease-in-out;
    width: 100%;
}

.nav-up {
    top: -75px;
}

/* Responsive Navigation */

.responsive-nav {
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 80px;
  background-color: rgba(250,250,250,.95);
  box-shadow: 0px 5px 15px rgba(0,0,0,0.2);
}

.navbar-toggle {
  position: absolute;
  top: 40%;
  left: 50%;
  display: inline-block;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.navbar-nav {
  margin: 0;
  border: none;
}

#main-nav ul {
  text-align: center;
  background-color: rgba(0,0,0,0.9);
  margin-top: 59px;
  width: 100%;
}
#main-nav ul li {
  margin: 15px 0px;
}
#main-nav ul li:hover {
  background-color: transparent;
}
#main-nav ul li a {
  font-size: 15px;
  text-transform: capitalize;
  color: #fff;
  box-shadow: none;
  border: none;
}

#main-nav ul li a:hover {
  opacity: 0.5;
  background-color: transparent;
}

.navbar-toggle span {
  background-color: #232323;
}


/* Sidebar Style */

.sidebar-navigation {
  width: 22.5%;
  float: left;
  height: 100%;
  position: fixed;
  background-color: rgba(12,12,12,0.9);
  z-index: 10;
}

.sidebar-navigation .logo {
  position: absolute;
  width: 100%;
  height: 140px;
  line-height: 100px;
  background-color: #0000000a;
  padding: 20px;
  text-align: center;
}

.sidebar-navigation .logo a {
  text-decoration: none;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  height: 100px;
  width: 100%;
  display: inline-block;
  border: 1px solid rgba(250,250,250,0.5);
}

.sidebar-navigation .logo em {
  font-style: normal;
  font-weight: 300;
}

.sidebar-navigation nav {
  position: relative;
  top: 60%;
  left: 60%;
  -webkit-transform: translateX(-60%) translateY(-60%);
  -moz-transform: translateX(-60%) translateY(-60%);
  -ms-transform: translateX(-60%) translateY(-60%);
  -o-transform: translateX(-60%) translateY(-60%);
  transform: translateX(-60%) translateY(-60%);
}

.sidebar-navigation ul {
  margin-left: 45px;
  list-style: none;
  padding: 0;
}
.sidebar-navigation li{
  padding: 10px 0;
}
.sidebar-navigation span{
  display: inline-block;
  position:relative;
}
.sidebar-navigation nav a{
  display: inline-block;
  color: #fff;
  margin-top: 5px;
  text-decoration: none!important;
  font-size: 15px;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}
.circle{
  margin-right: 5px;
  height: 10px;
  width: 10px;
  left: 0px;
  top: -1px;
  border-radius: 50%;
  background-color: transparent;
  border: 2px solid #fff;
  transition: all 0.3s;
}
.rect{
  height: 1px;
  width: 0px;
  left: 0;
  bottom: 5.5px;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.1s, width 0.6s;
  -moz-transition: -webkit-transform 0.1s, width 0.6s;
  transition: transform 0.1s, width 0.6s;
}
.sidebar-navigation nav a:focus {
  color: #fff;
}
.sidebar-navigation nav a:hover, nav .active-section {
  color: #fff;
}
.sidebar-navigation nav a:hover span, nav .active-section span{
  background-color: #ddd;
}
.sidebar-navigation nav .active-section .rect{
  width: 30px;
}
.sidebar-navigation nav .active-section .circle{
  background-color: #fff;
}

.sidebar-navigation .social-icons {
  position: absolute;
  width: 100%;  
  bottom: 10px;
  padding: 0;
  margin: 0;
  text-align: center;
}

.sidebar-navigation .social-icons li {
  display: inline-block;
  margin-right: 15px;
  margin-top: 0px;
  margin-bottom: 0px;
}
.sidebar-navigation .social-icons li:last-child {
  margin-right: 0px;
}

.sidebar-navigation .social-icons li a {
  font-size: 18px;
  color: #fff;
  transition: all 0.5s;
}

.sidebar-navigation .social-icons li a:hover {
  color: #029e99;
}


/* Slider Style */

.slider .content-section {
  padding-top: 0px;
  min-width: 100%;
  min-height: 100vh;
  width: 100%;
  height: 100vh;
  text-align: center;
}

.slider p a {
	color: #FFF;
}
.slider p a:hover {
	color: #FF0;
	text-decoration: none;
}

.Modern-Slider .info {
  text-align: right;
  position: absolute;
  z-index: 10;
  top: 50%;
  right: 60px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  display: inline-block;
}

.Modern-Slider .info h1 {
  margin-top: 0px;
  margin-bottom: 15px;
  font-size: 48px;
  color: #000000;
  font-weight: 700;
}

.Modern-Slider .info p {
  font-size: 22px;
  color: #000000;
}

.Modern-Slider .info .white-button {
  margin-top: 30px;
}

.Modern-Slider .info .white-button a:focus {
  outline: none;
}

.Modern-Slider .slick-dots {
  opacity: 0;
}

.Modern-Slider .NextArrow{
  outline: none;
  display: none;
  position:absolute;
  top:60px;
  right:60px;
  width:50px;
  height:50px;
  background:rgba(0,0,0,.50);
  border:0 none;
  margin-top:-22.5px;
  text-align:center;
  font:32px/50px FontAwesome;
  color:#FFF;
  z-index:5;
}

.Modern-Slider .NextArrow:before{content:'\f105';}

.Modern-Slider .PrevArrow{
  outline: none;
  position:absolute;
  top:60px;
  right: 120px;
  width:50px;
  height:50px;
  background:rgba(0,0,0,.50);
  border:0 none;
  margin-top:-22.5px;
  text-align:center;
  font:32px/50px FontAwesome;
  color:#FFF;
  z-index:5;
}

.Modern-Slider .item .image {
  width: 100%;
  height: 100vh;
  background-position: center center;
  background-size: cover;
  display: block;
}

.Modern-Slider .item-1 .image {
  background-image: url(../img/slide_1.jpg);
}

.Modern-Slider .item-2 .image {
  background-image: url(../img/slide_2.jpg);
}

.Modern-Slider .item-3 .image {
  background-image: url(../img/slide_3.jpg);
}

.Modern-Slider .PrevArrow:before{content:'\f104';}

.Modern-Slider .item .image {
  animation: zoomin 12s ease-in-out infinite alternate;
  -webkit-animation: zoomin 12s ease-in-out infinite alternate;
}

@keyframes zoomin {
    0% {-webkit-transform: scale(1);}
    100% {-webkit-transform: scale(1.2);}
}

.Modern-Slider {background:transparent;}

/* ==== Slick Slider Css Ruls === */
.slick-slider{position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-list:focus{outline:none}.slick-list.dragging{cursor:hand}
.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}
.slick-track{position:relative;top:0;left:0;display:block}
.slick-track:before,.slick-track:after{display:table;content:''}.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{display:none;float:left /* If RTL Make This Right */ ;height:100%;min-height:1px}
.slick-slide.dragging img{pointer-events:none}
.slick-initialized .slick-slide{display:block}
.slick-loading .slick-slide{visibility:hidden}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}


/* Featured Style */

#featured {
  padding-left: 60px;
  padding-right: 60px;
  padding-bottom: 80px;
  border-bottom: 1px solid #eee;
}

#featured .section-heading {
  margin-right: 20%;
}

#featured .content-section {
  display: inline-block;
  position: relative;
}

#featured .owl-dots {
  margin-top: 40px;
}

#featured .owl-dots .owl-dot span  {
  width: 12px;
  height: 12px;
  background-color: #cdcdcd!important;
  display: inline-block;
  border-radius: 50%;
  margin: 0 3px;
}

#featured .owl-dots .active span {
  background-color: #029e99!important;
}

#featured .owl-dots button {
  outline: none;
}

#featured .owl-nav {
  position: absolute;
  display: inline-block;
  top: -110px;
  right: 0;
}

#featured .owl-nav button:focus {
  outline: none;
}

#featured .owl-nav .owl-prev span {
  margin-right: 10px;
}

#featured .owl-nav .owl-next span, #featured .owl-nav .owl-prev span {
  outline: none;
  width: 50px;
  height: 50px;
  display: inline-block;
  text-align: center;
  line-height: 42px;
  background-color: #eee;
  color: #232323;
  font-size: 42px;
  transition: all 0.5s;
}

#featured .owl-nav span:hover {
  background-color: #029e99;
  color: #fff;
}

#featured .item {
  text-align: left;
  position: relative;
  z-index: 10;
}

#featured .item .image {
  position: relative;
}

#featured .item .image img {
  width: 100%;
  overflow: hidden;
}

#featured .item .image .featured-button a {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  text-transform: capitalize;
  background-color: rgba(69,72,154, 0.9);
  display: inline-block;
  height: 44px;
  line-height: 44px;
  width: 100%;
  letter-spacing: 0.25px;
  text-decoration: none;
  transition: all 0.5s;
  position: absolute;
  z-index: 9;
  bottom: -44px;
  opacity: 0;
}

#featured .item:hover .featured-button a {
  bottom: 0;
  opacity: 1;
}

#featured .item .text-content {
  padding-top: 20px;
  background-color: #fff;
  position: relative;
  z-index: 10;
}

#featured .item .text-content h4 {
  margin-top: 0px;
  margin-bottom: 5px;
  font-size: 21px;
  font-weight: 600;
  color: #232323;
  letter-spacing: 0.5px;
}

#featured .item .text-content span {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: #7a7a7a;
  letter-spacing: 0.5px;
  margin-bottom: 12.5px;
}


/* Projects Style */

#projects {
  padding-left: 60px;
  padding-right: 60px;
  padding-bottom: 50px;
}

#projects .masonry {
  position: relative;
  width: 100%;
}

#projects .masonry .item img {
  transition: all 1s;
  width: 100%;
  overflow: hidden;
  margin-bottom: 30px;
}

#projects .masonry .item img:hover {
  opacity: 0.5;
}



/* Video Presentation Style */

#video {
  text-align: center;
  background-color: #f4f4f4;
  padding: 100px 60px;
}

#video .section-heading {
  margin-bottom: 30px;
  text-align: center;
}

#video .section-heading h1 {
  display: block;
  margin: 0px;
}

#video .section-heading p {
  position: relative;
  margin: 0px;
}

#video .accent-button {
  margin-top: 30px;
}

.box-video{
  width: 100%;
  position: relative;
  margin-top: 30px;
  cursor: pointer;
  overflow: hidden;
}

.box-video .bg-video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 2;
}

.box-video .video-container{
  position: relative;
  margin: 0;
  z-index: 1;
}

.box-video .bt-play {
  position: absolute;
  top:50%;
  left:50%;
  margin:-30px 0 0 -30px;
  display: inline-block;
  width: 60px;
  height: 60px;
  background:#fff;
  border-radius: 50%;
  text-indent: -999em;
  cursor: pointer;
  z-index:2;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
.box-video .bt-play:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  height: 0;
  width: 0;
  margin: -12px 0 0 -6px;
  border: solid transparent;
  border-left-color: #000;
  border-width: 12px 20px;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
.box-video:hover .bt-play {
  transform: scale(1.1);
}

.box-video.open .bg-video{
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all .6s .8s;
  transition: all .6s .8s;  
}
.box-video.open .video-container{
  opacity: 1;
  -webkit-transition: all .6s .8s;
  transition: all .6s .8s;
}


/* Blog Style */

#blog {
  padding-left: 60px;
  padding-right: 60px;
  padding-bottom: 80px;
}

#blog .tabs {
  list-style: none;
  margin: 0px;
  padding: 0px;
  height: 90px;
  width: 100%;
  background-color: #eee;
  border-bottom: 10px solid #029e99;
}

#blog .tabs li {
  display: inline-block;
  text-align: center;
  width: 25%;
  float: left;
  margin: 0;
  padding: 0;
}

#blog .tabs a {
  display: block;
  text-align: center;
  text-decoration: none;
  text-transform: capitalize;
  letter-spacing: 0.5px;
  color: #232323;
  font-size: 19px;
  line-height: 80px;
  font-weight: 600;
  transition: 0.5s;
}

#blog .tabs a:hover {
  color: #029e99;
}


#blog .tabs .active:hover {
  color: #fff;
}

#blog .tabs .active {
  background-color: #029e99;
  color: #fff;
}

.tabgroup {
  background-color: #f4f4f4;
  padding: 20px 30px;
}

.clearfix:after {
  content:"";
  display:table;
  clear:both;
}

#blog .tabgroup ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

#blog .tabgroup ul li {
  display: inline-block;
  text-align: left;
  margin-bottom: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd;
}

#blog .tabgroup ul li:last-child {
  border-bottom: none;
  margin-bottom: 0px;
  padding-bottom: 10px;
}

#blog .tabgroup ul li img {
  float: left;
  margin-right: 30px;
  max-width: 100%;
  overflow: hidden;
}
#blog .tabgroup ul li .text-content {
  display: inline;
}

#blog .item .text-content h4 {
  padding-top: 7.5px;
  margin-top: 0px;
  margin-bottom: 5px;
  font-size: 21px;
  font-weight: 600;
  color: #232323;
  letter-spacing: 0.5px;
}

#blog .item .text-content span {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: #7a7a7a;
  letter-spacing: 0.5px;
  margin-bottom: 15px;
}

#blog .item .text-content .accent-button {
  margin-top: 25px;
}



/* games Style */

#games {
  padding-left: 60px;
  padding-right: 60px;
  padding-bottom: 80px;
  border-bottom: 1px solid #eee;
}

#games .section-heading {
  margin-right: 20%;
}

#games .content-section {
  display: inline-block;
  position: relative;
}

#games .owl-dots {
  margin-top: 40px;
}

#games .owl-dots .owl-dot span  {
  width: 12px;
  height: 12px;
  background-color: #cdcdcd!important;
  display: inline-block;
  border-radius: 50%;
  margin: 0 3px;
}

#games .owl-dots .active span {
  background-color: #029e99!important;
}

#games .owl-dots button {
  outline: none;
}

#games .owl-nav {
  position: absolute;
  display: inline-block;
  top: -110px;
  right: 0;
}

#games .owl-nav button:focus {
  outline: none;
}

#games .owl-nav .owl-prev span {
  margin-right: 10px;
}

#games .owl-nav .owl-next span, #games .owl-nav .owl-prev span {
  outline: none;
  width: 50px;
  height: 50px;
  display: inline-block;
  text-align: center;
  line-height: 42px;
  background-color: #eee;
  color: #232323;
  font-size: 42px;
  transition: all 0.5s;
}

#games .owl-nav span:hover {
  background-color: #029e99;
  color: #fff;
}

#games .item {
  text-align: left;
  position: relative;
  z-index: 10;
}

#games .item .image {
  position: relative;
}

#games .item .image img {
  width: 100%;
  overflow: hidden;
}

#games .item .image .games-button a {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  text-transform: capitalize;
  background-color: rgba(69,72,154, 0.9);
  display: inline-block;
  height: 44px;
  line-height: 44px;
  width: 100%;
  letter-spacing: 0.25px;
  text-decoration: none;
  transition: all 0.5s;
  position: absolute;
  z-index: 9;
  bottom: -44px;
  opacity: 0;
}

#games .item:hover .games-button a {
  bottom: 0;
  opacity: 1;
}

#games .item .text-content {
  padding-top: 20px;
  background-color: #fff;
  position: relative;
  z-index: 10;
}

#games .item .text-content h4 {
  margin-top: 0px;
  margin-bottom: 5px;
  font-size: 21px;
  font-weight: 600;
  color: #232323;
  letter-spacing: 0.5px;
}

#games .item .text-content span {
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  color: #7a7a7a;
  letter-spacing: 0.5px;
  margin-bottom: 12.5px;
}

/* Contact Style */

#contact {
  padding-top: 0px;
}

#contact-content {
  padding: 80px 60px;
}

#contact input {
  border-radius: 0px;
  padding-left: 15px;
  font-size: 13px;
  color: #aaa;
  background-color: #f4f4f4;
  border: 1px solid #eee;
  outline: none;
  box-shadow: none;
  line-height: 40px;
  height: 40px;
  width: 100%;
  margin-bottom: 25px;
}

#contact textarea {
  border-radius: 0px;
  padding-left: 15px;
  padding-top: 10px;
  font-size: 13px;
  color: #aaa;
  background-color: #f4f4f4;
  border: 1px solid #eee;
  outline: none;
  box-shadow: none;
  height: 200px;
  max-height: 250px;
  width: 100%;
  max-width: 100%;
  margin-bottom: 25px;
}

#contact button {
  font-size: 13px;
  border-radius: 0px;
  font-weight: 600;
  color: #fff;
  text-transform: capitalize;
  background-color: #029e99;
  display: inline-block;
  height: 44px;
  line-height: 24px;
  outline: none;
  box-shadow: none;
  width: 100%;
  letter-spacing: 0.25px;
  text-decoration: none;
  transition: all 0.3s;
}

#contact button:hover {
  color: #232323;
  background-color: #f4f4f4;
}



/* Footer Style */

.footer {
  background-color: rgba(12,12,12,0.9);
  height: 80px;
  line-height: 80px;
  display: inline-block;
  text-align: center;
  width: 100%;
}

.footer p {
  margin-bottom: 0px;
  font-size: 13px;
  line-height: 80px;
  color: #fff;
  letter-spacing: 0.5px;
  font-weight: 300;
}

.footer p a {
  text-decoration: none;
  color: #fff;
  font-weight: 600;
}



/* Responsive Style */

@media (max-width: 992px) {

  .responsive-nav {
    display: none;
  }

  .sidebar-navigation .logo a {
    font-size: 18px;
  }

  .sidebar-navigation nav a {
    font-size: 13px;
  }

  .sidebar-navigation nav ul {
    margin-left: 30px;
  }

  .sidebar-navigation .social-icons li a {
    font-size: 15px;
  }

}


@media (max-width: 767px) {

  .responsive-nav {
    display: block;
    height: 60px;
  }

  .page-content {
    width: 100%;
  }

  .Modern-Slider .info {
    text-align: center;
    right: 0px;
    padding: 0px 30px;
  }

  .Modern-Slider .NextArrow{
    outline: none;
    display: none;
    position:absolute;
    top:120px;
    right: 50%;
    transform: translateX(50%);
    margin-right: -30px;
    width:50px;
    height:50px;
    background:rgba(0,0,0,.50);
    border:0 none;
    text-align:center;
    font:32px/50px FontAwesome;
    color:#FFF;
    z-index:5;
  }

  .Modern-Slider .NextArrow:before{content:'\f105';}

  .Modern-Slider .PrevArrow{
    outline: none;
    position:absolute;
    top:120px;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -30px;
    width:50px;
    height:50px;
    background:rgba(0,0,0,.50);
    border:0 none;
    text-align:center;
    font:32px/50px FontAwesome;
    color:#FFF;
    z-index:5;
  }

  

}

@media (max-width: 690px) {

  .section-heading p {
    position: relative;
  }

  #featured {
    padding-left: 15px;
    padding-right: 15px;
  }

  #featured .owl-nav {
    position: absolute;
    display: inline-block;
    top: -220px;
    right: 0;
  }

  #games {
    padding-left: 15px;
    padding-right: 15px;
  }

  #games .owl-nav {
    position: absolute;
    display: inline-block;
    top: -220px;
    right: 0;
  }

  #projects {
    padding-left: 15px;
    padding-right: 15px;
  }

  #video {
    padding-left: 15px;
    padding-right: 15px;
  }

  #blog {
    padding-left: 15px;
    padding-right: 15px;
  }

  #blog .tabs a {
    font-size: 13px;
  }

  #blog .tabgroup ul li img {
    float: none;
    width: 100%;
    margin-bottom: 15px;
  }
  #blog .tabgroup ul li .text-content {
    display: block;
  }

  #contact-content {
    padding-left: 15px;
    padding-right: 15px;
  }

}

/* ESTILOS DE BOTONES DE ENVIO EXITOSO O DE ERROR */

/* –– COMÚN –– */
.popup {
  margin: 10px;
  box-shadow: 4px 4px 10px -10px rgba(0, 0, 0, 1);
  width: 150px;
  display: flex;
  align-items: center;
  border-radius: 4px;
  padding: 5px 0;
  font-weight: 300;
  justify-content: space-around;
}
.popup svg {
  width: 1rem;
  height: 1rem;
}
.popup-icon svg {
  margin: 5px;
  display: flex;
  align-items: center;
  width: 20px;
}
.close-icon {
  margin-left: auto;
}
.close-svg {
  cursor: pointer;
}
.close-path {
  fill: grey;
}

/* –– ÉXITO –– */
.success-popup {
  background-color: #edfbd8;
  border: 1px solid #84d65a;
}
.success-icon path {
  fill: #84d65a;
}
.success-message {
  color: #2b641e;
}

/* –– ERROR –– */
.error-popup {
  background-color: #fef2f2;
  border: 1px solid #f87171;
}
.error-icon path {
  fill: #f87171;
}
.error-message {
  color: #991b1b;
}

/* ESTILOS ERROR 404 */

.card {
  top: 115px;
  width: 280px;
  height: 350px;
  background: linear-gradient(135deg, #05062d, #02012a);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(0, 234, 255, 0.3);
  border-radius: 20px;
  padding: 20px;
  position: relative;
  overflow: hidden;
  text-align: center;
  cursor: pointer;
  box-shadow:
    0 0 15px rgba(0, 234, 255, 0.2),
    0 0 30px rgba(151, 65, 252, 0.15);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.card::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  border-radius: 22px;
  border: 2px solid transparent;
  background: linear-gradient(
      135deg,
      rgba(0, 234, 255, 0.8),
      rgba(139, 0, 255, 0.6)
    )
    border-box;
  -webkit-mask:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card:hover::before {
  opacity: 1;
  animation: pulse 2.5s infinite ease-in-out;
}

.a404 {
  top: 20px;
  text-decoration: none;
  color: #00ccff;
  font-weight: bold;
  padding: 5px;
  font-size: 20px;
  transition: all 0.3s ease;
}

.a404:hover {
  top: 20px;
  color: white;
  font-weight: bold;
  font-size: 21px;
  padding: 5px;
}

@keyframes pulse {
  0%,
  100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

.card:hover {
  transform: scale(1.03);
  box-shadow:
    0 0 20px rgba(0, 234, 255, 0.3),
    0 0 40px rgba(151, 65, 252, 0.2);
}

.error-message {
  font-size: 18px;
  font-weight: 600;
  color: #00eaff;
  text-transform: uppercase;
  margin-bottom: 10px;
  animation: fade-in 1.5s ease-out;
  text-shadow: 0 0 8px rgba(0, 234, 255, 0.5);
  letter-spacing: 1px;
}

.error-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 42px;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  position: relative;
  line-height: 1;
  letter-spacing: 3px;
  margin: 15px 0;
}

.error-item {
  position: relative;
  margin: 5px 0;
}

.error-title span {
  position: relative;
  z-index: 1;
  text-shadow:
    2px 2px 0 #fded00,
    -2px -2px 0 #00eaff;
}

.error-title .error-glitch {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-shadow:
    2px 2px 0 #00e572,
    -2px -2px 0 #8b00ff;
  clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
  animation: glitch 2.5s infinite linear alternate;
  opacity: 0.8;
}

.error-title .error-glitch--secondary {
  text-shadow:
    -2px -2px 0 #ff3366,
    2px 2px 0 #00ccff;
  clip-path: polygon(0 60%, 100% 60%, 100% 100%, 0 100%);
  animation-delay: 0.5s;
}

.error-title:hover .error-glitch {
  display: block;
}

@keyframes glitch {
  0% {
    clip-path: polygon(
      0 2%,
      100% 2%,
      100% 95%,
      95% 95%,
      95% 90%,
      85% 90%,
      85% 95%,
      8% 95%,
      0 70%
    );
  }
  2%,
  8% {
    clip-path: polygon(
      0 78%,
      100% 78%,
      100% 100%,
      95% 100%,
      95% 90%,
      85% 90%,
      85% 100%,
      8% 100%,
      0 78%
    );
    transform: translate(-5%, 0);
  }
  6% {
    clip-path: polygon(
      0 78%,
      100% 78%,
      100% 100%,
      95% 100%,
      95% 90%,
      85% 90%,
      85% 100%,
      8% 100%,
      0 78%
    );
    transform: translate(5%, 0);
  }
  9% {
    clip-path: polygon(
      0 78%,
      100% 78%,
      100% 100%,
      95% 100%,
      95% 90%,
      85% 90%,
      85% 100%,
      8% 100%,
      0 78%
    );
    transform: translate(0, 0);
  }
  25% {
    clip-path: polygon(
      0 0,
      100% 0,
      100% 0,
      95% 0,
      95% 0,
      85% 0,
      85% 0,
      8% 0,
      0 0
    );
    transform: translate(5%, 0);
  }
  30% {
    clip-path: polygon(
      0 0,
      100% 0,
      100% 0,
      95% 0,
      95% 0,
      85% 0,
      85% 0,
      8% 0,
      0 0
    );
    transform: translate(-5%, 0);
  }
  35%,
  45% {
    clip-path: polygon(
      0 40%,
      100% 40%,
      100% 85%,
      95% 85%,
      95% 85%,
      85% 85%,
      85% 85%,
      8% 85%,
      0 70%
    );
    transform: translate(-5%);
  }
  50% {
    clip-path: polygon(
      0 40%,
      100% 40%,
      100% 85%,
      95% 85%,
      95% 85%,
      85% 85%,
      85% 85%,
      8% 85%,
      0 70%
    );
    transform: translate(0, 0);
  }
}

.error-description {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 15px;
  animation: fade-in 2s ease-out;
  max-width: 80%;
  line-height: 1.4;
}

@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 480px) {
  .card {
    width: 240px;
    height: 240px;
    padding: 15px;
  }
  .error-title {
    font-size: 36px;
  }
}
 /* BODY 404 ANIMACIÓN */

 @keyframes gradientAnimation {
  0% {
    background: linear-gradient(135deg, #05062d, #02012a);
  }
  50% {
    background: linear-gradient(135deg, #02012a, #0a032e);
  }
  100% {
    background: linear-gradient(135deg, #0a032e, #05062d);
  }
}

/* LOGIN BUTTON */


.user-profile {
  width: 104px;
  height: 41px;
  border-radius: 15px;
  cursor: pointer;
  transition: 0.3s ease;
  background: linear-gradient(
    to bottom right,
    #2e8eff 0%,
    rgba(46, 142, 255, 0) 30%
  );
  background-color: rgba(46, 142, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-profile:hover,
.user-profile:focus {
  background-color: rgba(46, 142, 255, 0.7);
  box-shadow: 0 0 10px rgba(46, 142, 255, 0.5);
  outline: none;
}

.user-profile-inner {
  width: 100px;
  height: 37px;
  border-radius: 13px;
  background-color: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  color: #ffffff;
  font-weight: 600;
}

.user-profile-inner p {
  margin-top: 6px;
  color: white;
}

.user-profile-inner svg {
  width: 18px;
  height: 18px;
  fill: #ffffff;
}

/* SIGN UP BUTTON */

.button2 {
  min-width: 100px;
  height: 40px;

  position: relative;
  cursor: pointer;

  padding: 12px 17px;
  border: 0;
  border-radius: 7px;

  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  background: radial-gradient(
    ellipse at bottom,
    rgb(46, 142, 255, 0.5) 0%,
    rgb(27, 27, 27) 70%
  );

  color: rgb(255, 255, 255);

  transition: all 1s cubic-bezier(0.15, 0.83, 0.66, 1);
}

.button2::before {
  content: "";
  width: 70%;
  height: 1px;

  position: absolute;
  bottom: 0;
  left: 15%;

  background: rgb(255, 255, 255);
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  opacity: 0.2;

  transition: all 1s cubic-bezier(0.15, 0.83, 0.66, 1);
}

.button2:hover {
  color: rgb(255, 255, 255, 1);
  transform: scale(1.1) translateY(-3px);
}

.button2:hover::before {
  opacity: 1;
}
