/***********************************************************************************************
Salient by TEMPLATE STOCK
templatestock.co @templatestock
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)

**********************************************************************************************/

/***********************************************************************************************/
/* TABLE OF CONTENTS: */
/***********************************************************************************************/

/*------------------------------------------------------------------------


01. Common Styles
-Typography
-Buttons
-Form
02. Preloader
03. Navbar
04. Hero section
-Hero section 2
-Hero section 3
-Hero section 4
05. Home hero
06. About Section
07. Choose Section
08. Projects Section
09. Clients section
10. Statistics Section
11. Call-to-action section
12. Services
13. Portfolio Page
14. Tweet section
15. Blog-section
16. Contact section
17. Google maps
18. Single-project
19. Landing page
-Features Section
-Video section
-Offer section
-Screenshots
-Subscribe section
-Testimonials section
20. Landing Blog
-Pagination
-Comments section
-Sidebar
-About widget
-Tags
-Recent Posts
21. App landing page
22. Coming soon page
23. Personal page
24. Footer
25. Back to top
26. Responsive Part
27. Accesibilidad

--------------------------------------------------------------------------*/



/***********************************************************************************************/
/* =Common Styles */
/***********************************************************************************************/
:root {
  --main-color: #2bbdf7;
  --bg-color: #fff;
  --text-color: #000;
}



body {
  font-family: 'Raleway', sans-serif;
  color: #737272;
  line-height: 24px;
  font-size: 0.8125rem;
  letter-spacing: 1.2px;
  -webkit-font-smoothing: antialiased;
  padding-top: 68px;
  position: relative;
}

a {
  color: var(--main-color);
  -webkit-transition: all .25s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -ms-transition: all .25s ease-in-out;
  -o-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}

a:hover,
a:focus {
  text-decoration: none;
  color: var(--main-color);
}

img {
  max-width: 100%;
}

.dark-bg {
  background: #34353A;
}

.white-bg {
  background: #fff;
}

.without-padding {
  padding: 0;
}

.marg-0 {
  margin: 0;
}

.pad-b-0 {
  padding-bottom: 0 !important;
}

.pad-t-100 {
  padding-top: 100px !important;
}

.bg-gray {
  background: #e5e5e5;
}

.form-control::-moz-placeholder {
  color: #494949;
}

.form-control:-ms-input-placeholder {
  color: #494949;
}

.form-control::-webkit-input-placeholder {
  color: #494949;
}

/***********************************************************************************************/
/* =Typography */
/***********************************************************************************************/

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 700;
  color: #1f2021;
  text-transform: uppercase;
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 0;
  margin-bottom: 20px;
}

h1,
.h1 {
  font-family: 'Abel', sans-serif;
  font-size: 2.8rem;
  font-weight: 400;
  letter-spacing: 2px;
}

h2 {
  font-size: 24px;
}

h3 {
  font-size: 17px;
}

h4 {
  font-size: 15px;
}

h5 {
  font-size: 12px;
}

h6 {
  font-size: 0.75rem;
}

p {
  margin: 0;
}

.title-section hr {
  width: 15%;
  margin: -0.5em auto 0.9em auto
}

.title-section p {
  font-size: 15px;
  line-height: 26px;
  font-weight: 400;
  letter-spacing: 1.5px;
}

.pad-sec {
  padding: 100px 0 !important;
}

.title-section {
  padding-left: 30px;
  padding-right: 30px;
}

.sep-section {
  height: 1px;
  border-bottom: 1px solid #EAEAEA;
}

/***********************************************************************************************/
/* =Buttons */
/***********************************************************************************************/

.btn {
  font-size: 13px;
  letter-spacing: 1px;
  padding: 14px 25px;
  border-radius: 1px;
  -webkit-transition: all .25s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -ms-transition: all .25s ease-in-out;
  -o-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}

.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 3px solid #00ffff;
  outline-offset: 2px;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open>.dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #000;
  border-color: #000;
}

.btn-xs {
  padding: 5px 14px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.btn-sm {
  padding: 8px 37px;
  font-size: 12px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}

.btn-lg {
  padding: 15px 35px;
}

.btn-primary {
  text-transform: uppercase;
  background-color: var(--main-color);
  border-color: var(--main-color);
}

.btn-black {
  text-transform: uppercase;
  color: #fff;
  background-color: #000;
  border-color: #000;
}

.btn-black:hover {
  background-color: var(--main-color);
  border-color: var(--main-color);
  color: #fff;
}

.btn-clean {
  border-color: #F5F5F5;
  color: #F5F5F5;
  text-transform: uppercase;
  letter-spacing: 0;
}

.btn-clean:hover,
.btn-clean:focus,
.btn-clean:active {
  color: #fff;
}

.btn-dark {
  color: #FFF;
  text-transform: uppercase;
  background: rgba(34, 34, 34, .9);
  font-weight: 400;
  border-color: rgba(0, 0, 0, .7);
}

.btn-dark:hover,
.btn-dark:active,
.btn-dark:focus,
.btn-dark:visited {
  color: rgba(255, 255, 255, .85);
  background: rgba(0, 0, 0, .7);
  outline: 0;
  box-shadow: none;
}

.btn-light {
  background: #f3f3f3;
  color: #000;
}

.call-btn {
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 12px 20px;
  font-size: 12px;
  border-radius: 0;
  border: none;
  outline: none;
  display: inline-block;
}

.btn-gray {
  color: #777;
  background: #e5e5e5;
}

/***********************************************************************************************/
/* =Form */
/***********************************************************************************************/

.form-group {
  margin-bottom: 20px;
}

.form-control {
  font-size: 12px;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 1px;
  height: auto;
  padding: 9px 12px;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  -moz-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  -o-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  -ms-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.form-control:focus {
  color: #111;
  border-color: rgba(0, 0, 0, .7);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  outline: none;
}

/***********************************************************************************************/
/* =Preloader */
/***********************************************************************************************/

#preloader {
  background-color: #FFF;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999999;
}

#loading-animation {
  background-image: url("../images/loading.GIF");
  opacity: 0.7;
  background-position: center center;
  background-repeat: no-repeat;
  height: 200px;
  left: 50%;
  margin: -100px 0 0 -100px;
  position: absolute;
  top: 50%;
  width: 200px;
  border-radius: 4px;
}

/* NAVBAR BASE */
.custom-navbar {
  border-bottom: 2px solid #f0f0f0;
}

/* LOGO */
.img-nav {
  height: 80px;
}

/* LINKS */
.navbar .nav-link {
  color: #060606;
  text-transform: uppercase;
  transition: 0.3s;
  position: relative;
}

/* HOVER */
.navbar .nav-link:hover {
  color: var(--main-color);
}

/* ACTIVE (CLAVE) */
.navbar .nav-link.active {
  color: var(--main-color) !important;
}

/* LÍNEA ANIMADA */
.navbar .nav-link::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--main-color);
  transition: 0.3s;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
  width: 100%;
}

/***********************************************************************************************/
/* =Hero section */
/***********************************************************************************************/

#hero-section {
  position: relative;
  display: table;
  width: 100%;
  color: #f1f1f1;
}

.home-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.home-hero {
  background: url('../images/hero-bg/home.jpg');
  background-size: cover;
}

/***********************************************************************************************/
/* =Hero section-2 */
/***********************************************************************************************/

.home-hero-2:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.home-hero-2 {
  background: url('../images/hero-bg/home-2.jpg');
  background-size: cover;
}

/***********************************************************************************************/
/* =Hero section-3 */
/***********************************************************************************************/

.home-hero-3:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.home-hero-3 {
  background: url('../images/hero-bg/home-3.jpg');
  background-size: cover;
}

/***********************************************************************************************/
/* =Hero section-4 */
/***********************************************************************************************/

.home-hero-4:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.home-hero-4 {
  background: url('../images/hero-bg/home-4.jpg');
  background-size: cover;
}

/***********************************************************************************************/
/* =Home hero */
/***********************************************************************************************/

.hero-content {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: 2;
  text-align: center;
}

.hero-content h1,
p.hero {
  color: #fff;
}

.hero-content h1 {
  font-family: 'Open Sans', sans-serif;
  font-size: 43px;
  font-weight: 500;
  letter-spacing: 8px;
  text-transform: uppercase;
}

.div-line {
  width: 50px;
  background-color: #fff;
  height: 3px;
  margin: 20px auto;
}

p.hero {
  font-family: 'Crimson Text', serif;
  font-style: italic;
  color: #fff;
  font-size: 25px;
  line-height: 32px;
  display: block;
  margin-top: 20px;
}

.hero-btn {
  margin-top: 50px;
  z-index: 200;
}

ul.caption-slides {
  padding-left: 0;
}

ul.caption-slides li {
  text-align: center;
}

/***********************************************************************************************/
/* =About Section */
/***********************************************************************************************/

.about-hero {
  background: url('../images/hero-bg/about.jpg');
  background-size: cover;
}

.about-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

#about-us-section {
  padding: 100px 0;
}

.about-studio h4,
.what-do h4,
.process-work h4 {
  letter-spacing: 2px;
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 15px;
}

.btn-link-a {
  cursor: pointer;
  color: rgba(17, 17, 17, 0.9);
  text-transform: uppercase;
  display: block;
  font-weight: 500;
  margin-top: 25px;
}

.btn-link-a:hover {
  color: #000;
}

#about-section {
  padding: 110px 0 120px 0 !important;
}

.big-title-sec {
  text-align: center;
  padding-bottom: 100px;
}


.big-title-sec hr {
  border: 1.5px solid #000;
  margin: 0 auto;
  width: 80px !important;
  margin-bottom: 50px;
}

.big-title-sec .big-title {
  font-weight: 300;
  text-transform: none;
  font-size: 24px;
  color: #000;
}

.big-title-sec .big-subtitle {
  font-family: 'Raleway', sans-serif;
  letter-spacing: 1.3px;
  margin-top: 0;
  margin-bottom: 28px;
  font-size: 32px;
  font-weight: 300;
  line-height: 1.45;
  text-transform: none;
  color: #000;
}

.big-title-sec p {
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 1.7px;
  font-weight: 300;
}

.big-title-sec .view-more {
  padding-top: 50px;
}

.big-title-sec .view-more a.btn-primary {
  margin-right: 2px;
}

.big-title-sec .view-more a.btn-primary:hover {
  opacity: .8;
  background: var(--main-color);
  border: 1px solid var(--main-color);
}

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

.alt-about-icon {
  padding-top: 10px;
  font-size: 44px;
  line-height: 0.9;
  color: var(--main-color);
}

.about-box h4 {
  font-weight: 600;
  letter-spacing: 1.7px;
  padding-top: 15px;
  padding-bottom: 8px;
}

/***********************************************************************************************/
/* =Choose Section */
/***********************************************************************************************/

#choose-section .title-section,
#soon-services-section .title-section {
  padding-bottom: 80px;
}

.choose-image,
.soon-services-image {
  text-align: center;
}

ul.choose-list,
ul.soon-list {
  list-style: none;
  padding: 0;
  padding-top: 50px;
}

ul.choose-list li,
ul.soon-list li {
  margin-bottom: 30px;
}

.iconbox {
  float: left;
  width: 50px;
  height: 50px;
  text-align: center;
}

.iconbox i {
  font-size: 32px;
  color: var(--main-color)
}

.choose-box-content,
.soon-box-content {
  margin-left: 70px;
}

.choose-box-content h6,
.soon-box-content h6 {
  margin-top: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  margin-bottom: 15px;
}

/***********************************************************************************************/
/* =Projects Section */
/***********************************************************************************************/

#projects-section {
  padding: 100px 0 80px 0 !important;
}

#projects-section .title-section {
  padding-bottom: 80px;
}

#type-masory {
  width: 100%;
}

#projects-section #type-masory .project {
  overflow: hidden;
  margin-bottom: 30px;
}

.project-item a {
  position: relative;
  display: block;
}

.project-item a img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

/*Overlay projects*/

.overlay {
  position: absolute;
  top: 10px;
  left: 10px;
  bottom: 10px;
  right: 10px;
  background: rgba(15, 15, 15, 0.9);
  opacity: 0;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.overlay .overlay-inner {
  position: absolute;
  top: 40%;
  width: 100%;
  text-align: center;
  bottom: 0;
}

.overlay .overlay-inner h3 {
  color: #F0F0F0;
  margin-bottom: 15px;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  -webkit-transform: translateY(-30px);
  -moz-transform: translateY(-30px);
  -ms-transform: translateY(-30px);
  -o-transform: translateY(-30px);
  transform: translateY(-30px);
}

.overlay .overlay-inner p {
  color: #DBDBDB;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  -webkit-transform: translateY(30px);
  -moz-transform: translateY(30px);
  -ms-transform: translateY(30px);
  -o-transform: translateY(30px);
  transform: translateY(30px);
  margin-bottom: 15px;
}

a:hover .overlay .overlay-inner h3 {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

a:hover .overlay .overlay-inner p,
a:hover .overlay .overlay-inner span {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

/*
No existe esta clase en el index aparentemente

.overlay-inner span {
font-size: 42px;
color: #DBDBDB;
font-weight: 300;
transition: all .7s;
transform: translateY(30px);
}
*/

a:hover .overlay {
  opacity: 1;
}

.view-more {
  text-align: center;
  padding-top: 60px;
}

#masonry-projects-section {
  padding: 0 0 100px 0;
}

#masonry-projects-section #type-masory .project {
  padding-bottom: 30px;
}

/***********************************************************************************************/
/* =clients section*/
/***********************************************************************************************/



.clients-bg {
  background: url('../images/clients/clients-bg.jpg') center top;
  position: relative;
  padding: 60px 0;
}

.clients-bg:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(5, 5, 5, 0.8);
  width: 100%;
  height: 100%;
  z-index: 2;
}

.clients-bg .clients-container {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
}

.client {
  padding: 30px;

}

.client a {
  display: block;
  width: 200px;
  margin: auto;
  text-align: center;
}

.client a img {
  width: 100%;
  height: auto;
}

.client a:hover {
  opacity: .8;
}

.clients-container .row {
  min-height: 200px;
  /* ajusta según diseño */
}


/***********************************************************************************************/
/* =Statistics Section */
/***********************************************************************************************/

#statistic-section {
  background: url('../images/temp/stats-bg.jpg') center top;
  position: relative;
  text-align: center;
  padding-top: 70px;
}

#statistic-section:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(5, 5, 5, 0.8);
  width: 100%;
  height: 100%;
  z-index: 2;
}

#statistic-section .container {
  position: relative;
  z-index: 3;
}

.statistic-percent {
  padding-bottom: 70px;
}

span.percentfactor {
  color: #fff;
  font-size: 42px;
  margin-bottom: 4px;
}

.fact p {
  color: #fff;
  margin-top: 10px;
  text-transform: uppercase;
}

/***********************************************************************************************/
/* =Team Section */
/***********************************************************************************************/

.team-members .row {
  display: flex;
  flex-wrap: wrap;
  /* IMPORTANTE */
  justify-content: center;
}

/* TARJETA */
.member-team {
  position: relative;
  cursor: pointer;
  width: 100%;
  max-width: 350px;
  margin: auto;
  overflow: hi;
}

/* IMAGEN */
.member-team img {
  width: 100%;
  height: auto;
  /* QUITAMOS altura fija */
  aspect-ratio: 3/4;
  /* mantiene proporción elegante */
  object-fit: cover;
  border-radius: 20px;
  box-shadow:
    3px 3px #3BBFF3,
    -.3em 0 0.5em grey,
}

/* OVERLAY */
.member-team .magnifier {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.92);
  opacity: 0;
  transition: all .4s ease;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.member-team .magnifier .magnifier-inner ul.social-icons {
  list-style: none;
  padding: 0;
  margin: 15px 0 0 0;

  display: flex;
  justify-content: center;
  align-items: center;
}

.member-team .magnifier .magnifier-inner ul.social-icons li {
  margin: 0 6px;
}

.member-team .magnifier .magnifier-inner ul.social-icons li a {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.member-team .magnifier .magnifier-inner ul.social-icons li a i {
  color: #8e8e8e;
  font-size: 16px;
  transition: 0.3s;
}

.member-team .magnifier .magnifier-inner ul.social-icons li a:hover i {
  color: #000;
}

.member-team:hover .magnifier {
  opacity: 1;
}

/* CONTENIDO */
.member-team .magnifier-inner {
  padding: 20px;
}

/* ===== RESPONSIVE ===== */
/* #about-team {
  padding: 0px 0 100px 0;
} */

#about-team p,
#personal-skills p {
  line-height: 26px;
  text-align: justify;
}

#about-team .title-section,
#personal-skills .title-section {
  text-align: left;
  padding-left: 0;
}

#about-team h3,
#personal-skills h3 {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1.6px;
}

.p-bar {
  margin-bottom: 8px;
}

.progress {
  height: 6px;
  border-radius: 1px;
  margin-bottom: 5px;
}

.progress-bar {
  background: #111;
}

.progress-meta {
  overflow: hidden;
}

h6.progress-title,
h6.progress-value {
  color: #676767;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 1.6px;
  ;
}

h6.progress-title {
  float: left;
}

h6.progress-value {
  float: right;
}

/***********************************************************************************************/
/* =Call-to-action section */
/***********************************************************************************************/

#call-to-action-section {
  padding: 60px 0;
  background: var(--main-color);
}

#call-to-action-section h2,
#call-to-action-section p {
  color: #fff;
  text-align: center;
}

#call-to-action-section h2 {
  font-size: 28px;
  letter-spacing: 1.1px;
  font-weight: 300;
  color: #fff;
  margin: 20px 0;
  margin-top: 0;
}

#call-to-action-section p {
  margin: 20px 0
}

#call-to-action-section .call-action-btn {
  text-align: center;
  margin-top: 40px;
}

/***********************************************************************************************/
/* =Services*/
/***********************************************************************************************/

.services-hero {
  background: url('../images/hero-bg/services.jpg');
  background-size: cover;
}

.services-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

#services-section {
  padding: 100px 0 50px 0;
}

#services-section .title-section {
  padding-bottom: 80px;
}

.service-post {
  padding: 30px 0;
}

.service-post h4 {
  margin-top: 15px;
  margin-bottom: 20px;
}

.service-icon {
  font-size: 42px;
  color: #111;
  padding-bottom: 15px;
}

#banner-services {
  background: url('../images/temp/stats-bg.jpg') center top;
  position: relative;
  border-bottom: 1px solid transparent;
  margin-top: 9rem !important;
}

#banner-services:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(5, 5, 5, 0.8);
  width: 100%;
  height: 100%;
  z-index: 2;
}

#banner-services .container {
  position: relative;
  z-index: 3;
}

.banner-content {
  margin: 140px 0;
}

.banner-content,
.banner-content h3 {
  color: #fff;
}

.banner-content h3 {
  font-weight: 400;
  letter-spacing: 2.6px;
  font-size: 19px;
}

.banner-decription {
  font-weight: 300;
}

.banner-image {
  margin: -40px 0 0 0;
  text-align: right;
}

.banner-content a {
  letter-spacing: 1.6px;
  margin-top: 30px;
}

#action-section {
  padding: 100px 0;
  background-color: #f7f7f7;
  border-top: 1px solid #ebebeb;
}

#action-section h2 {
  padding-bottom: 25px;
  font-weight: 500;
  text-transform: capitalize;
}

#action-section .btn+.btn {
  margin-left: 20px;
}

.white-bg {
  background: #fff;
}

.dark-bg-1 {
  background: #333;
}

.work-process {
  padding: 100px 0;
}

.process {
  padding-top: 30px;
}

.process-icon span {
  font-size: 40px;
  color: var(--main-color);
}

.process h5 {
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  margin-top: 15px;
}


#prices-section {
  background: #f7f7f7;
}

/* CARD */
.price-card {
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  padding: 30px 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* HEADER */
.price-header h3 {
  font-size: 14px;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 20px;
}

/* LINEA SEPARADORA */
.price-header {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 15px;
  height: 40px;
}

/* PRECIO */
.price {
  font-size: 36px;
  font-weight: 700;
  margin: 20px 0 5px;
  color: #000;
}

.currency {
  font-size: 18px;
  vertical-align: top;
}

.months {
  font-size: 11px;
  letter-spacing: 1px;
  color: #777;
  margin-bottom: 20px;
}


/* TEXTO */
/* .price-body{
  height: 50px;
} */

.price-body p {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 18px;
}

/* LISTA */
.price-body ul {
  list-style: none;
  padding: 20px 0;
  margin: 20px 0;
  border-top: 1px solid #e5e5e5;
}

.prices-info {
  height: 110px;
}

.price-body ul li {
  font-size: 11px;
  letter-spacing: 1px;
  padding: 8px 0;
  text-transform: uppercase;
}

/* FOOTER */
.price-footer {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

/* BOTÓN */
.price-footer .btn {
  background: #111;
  color: #fff;
  border: none;
  padding: 10px;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.price-footer .btn:hover {
  background: #000;
}

/* GRID ESPACIADO */
.price-grid {
  margin-top: 40px;
}

.title-price {
  border-bottom: 1px solid #f1f1f1;
  ;
  padding: 25px !important;
  font-weight: 500;
}

.title-price h3 {
  margin-bottom: 0;
}

.price-table .price-box {
  padding: 30px;
  border-bottom: 1px solid #f1f1f1;
  position: relative;
  margin-bottom: 30px;
}

p.price {
  font-size: 38px;
  font-weight: 700;
  color: #000;
  position: relative;
  padding-left: 10px;
  padding-bottom: 10px;
}

span.currency {
  font-size: 18px;
  vertical-align: top;
}

p.months {
  text-transform: none !important;
  color: #333 !important;
}

ul.price-table li .btn {
  margin: 30px;
}

.text-price {
  font-size: 28px;
  font-weight: 700;
  margin: 20px 0 5px;
  color: #000;
}

.subtext-price {
  font-size: 15px;
  letter-spacing: 1px;
  color: #777;
  margin-bottom: 20px;
}

/***********************************************************************************************/
/* =Portfolio Page */
/***********************************************************************************************/

.portfolio-hero {
  background: url('../images/hero-bg/02.jpg');
  background-size: cover;
}

.portfolio-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 1;
}

#portfolio-section {
  padding: 80px 0;
}

ul.filter-list {
  padding: 60px 0 80px 0;
  list-style: none;
  text-align: center;
}

ul.filter-list li {
  display: inline-block;
  margin-right: 10px;
}

ul.filter-list li a {
  display: block;
  cursor: pointer;
  color: rgb(73, 73, 73);
  font-style: italic;
  font-size: 14px;
}

ul.filter-list li a:hover {
  color: var(--main-color);
}

ul.filter-list li a.active {
  color: var(--main-color);
}

ul.filter-list li a:after {
  content: "/";
  color: #898989;
  padding-left: 15px;
}

ul.filter-list li:last-child a:after {
  content: "";
}

.gallery-masory {
  width: 100%;
}

.portfolio-items .gallery-masory .gallery-item {
  overflow: hidden;
  padding-left: 5px;
  padding-right: 5px;
  margin-bottom: 10px;
}

/***********************************************************************************************/
/* =Tweet section*/
/***********************************************************************************************/

#tweet-section {
  background: url('../images/temp/tweet-bg.jpg') center top;
  position: relative;
  padding: 80px 0;
}

#tweet-section:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(5, 5, 5, 0.9);
  width: 100%;
  height: 100%;
  z-index: 2;
}

#tweet-section .container {
  position: relative;
  z-index: 3;
}

span.tweet-icon {
  display: block;
  color: #F4F4F4;
  font-size: 34px;
  margin-bottom: 24px;
  text-align: center;
}

ul.tweet-slider {
  text-align: center;
  padding: 0;
  list-style: none;
}

ul.tweet-slider h3 {
  font-size: 20px;
  color: #fff;
  font-weight: 400;
  text-transform: capitalize;
  letter-spacing: 1.3px;
}

ul.tweet-slider small {
  color: #e6e6e6;
  font-size: 99%;
}

/***********************************************************************************************/
/* =Blog-section section */
/***********************************************************************************************/

#blog-section .title-section {
  padding-bottom: 80px;
}

.entry-image {
  margin-bottom: 23px;
}

.entry-image a {
  display: block;
}

.entry-image a:hover {
  opacity: 0.8;
}

.entry-image img {
  width: 100%;
}

.post-meta {
  padding-bottom: 8px;
}

.post-meta,
.post-meta a {
  color: #aaa;
}

.post-meta a:hover {
  color: #111;
}

.post-meta p span.date:after {
  padding: 0 4px 0 8px;
  content: "|";
}

.post-meta p span.author a {
  padding-left: 2px;
}

.post-meta p span.author:after {
  padding: 0 4px 0 8px;
  content: "|";
}

h4.post-title {
  font-size: 16px;
  font-weight: 500 !important;
  letter-spacing: 2.1px;
}

.post-title a {
  color: #4F4F4F;
  font-size: 16px;
}

.blog-more {
  margin-top: 20px;
}

/***********************************************************************************************/
/* =Contact section*/
/***********************************************************************************************/

#contact-section .divider {
  display: inline-block;
}

#contact-section .title-section {
  padding-bottom: 80px;
}

.form-group .form-control.br-b {
  border-top: 0;
  border-left: 0;
  border-right: 0;
}

textarea.form-control {
  min-height: 100px;
}

#contactform .form-group #submit {
  display: block;
  width: 100%;
  margin-top: 10px;
}

.contact-info {
  text-align: center;
  border-top: 1px solid #EEEEEE;
}

.contact-info a {
  color: #4F4F4F;
  font-size: 18px;
  display: block;
  padding: 50px 0;
}

.contact-info a i {
  display: block;
  font-size: 30px;
  margin-bottom: 15px;
}

/***********************************************************************************************/
/* =Google maps*/
/***********************************************************************************************/

#map {
  height: 100%;
  width: 100%;
}

#module-maps {
  position: relative;
  height: 400px;
  width: 100%;
}

/***********************************************************************************************/
/* =Single-project */
/***********************************************************************************************/

#project-head-section {
  padding: 80px 0;
  position: relative;
  background: url('../images/temp/head.jpg');
}

#project-head-section:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(5, 5, 5, 0.7);
  width: 100%;
  height: 100%;
  z-index: 2;
}

#project-head-section img,
.project-photo img {
  width: 100%;
}

#project-head-section .container {
  position: relative;
  z-index: 3;
}

#project-head-section h2,
#project-head-section p {
  color: #fff;
  text-align: center;
}

#project-head-section h2 {
  font-size: 34px;
  font-weight: 400;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

#project-head-section p {
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.bx-wrapper img {
  width: 100%;
}

.single-portfolio {
  padding-top: 80px;
}

.project-image img {
  width: 100%;
}

.project-title {
  padding: 30px 0;
  text-align: center;
}

.project-title h6 {
  text-transform: lowercase;
}

.portfolio-desc {
  padding: 50px 0 80px 0;
}

.portfolio-desc h5 {
  border-bottom: 1px solid rgb(221, 221, 221);
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-size: 13px;
}

.portfolio-desc a {
  padding-top: 10px;
  display: block
}

.portfolio-desc a:hover {
  color: var(--main-color);
  opacity: .8;
}

ul.details-list {
  padding: 0;
  list-style-type: none;
}

ul.details-list li {
  padding: 4px 0;
}

ul.details-list li strong {
  color: #000;
}

ul.details-list li:first-child {
  padding-top: 0;
}

ul.details-list li:last-child {
  border: none;
}

.item {
  padding: 5px;
}

.item .overlay .overlay-inner {
  top: 38%;
}

.item .overlay .overlay-inner p {
  margin-bottom: 4px;
}

/*--------------------
Related Section
----------------------*/

#related-projects {
  padding: 80px 0;
}

#related-projects .related-head h2 {
  text-align: center;
  font-weight: 300;
  letter-spacing: 1.4px;
  font-size: 26px;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 60px;
}

#related-projects .related-head h2:after {
  content: "";
  width: 80px;
  height: 0;
  border-bottom: 1px solid var(--main-color);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.owl-theme .owl-controls {
  margin-top: 40px !important;
}

/***********************************************************************************************/
/* =Landing page*/
/***********************************************************************************************/

.landing-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.landing-hero {
  background: url('../images/hero-bg/landing.jpg');
  background-size: cover;
}

/*--------------------
Features Section
----------------------*/

#features-section {
  padding: 120px 0 !important;
  padding-bottom: 100px !important;
}

#features-section .title-section {
  padding-bottom: 80px;
}

.features-image {
  text-align: center;
  cursor: pointer;

}

.features-image img {
  border-radius: 20px;
  width: 26em;
  height: 45em;
}

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

ul.features-list {
  list-style: none;
  padding: 0;
  padding-top: 50px;
  width: 100%;
}

ul.features-list li {
  margin-bottom: 30px;
  overflow: hidden;
  /* limpia el float del iconbox */
}

.left-features-services,
.right-features-services {
  display: block;
}

ul.features-list li {
  margin-bottom: 30px;
}

.iconbox {
  float: left;
  width: 50px;
  height: 50px;
  text-align: center;
}

.iconbox i {
  font-size: 32px;
  color: var(--main-color)
}

.features-box-content {
  margin-left: 70px;
  text-align: justify;
}

.features-box-content h6 {
  margin-top: 0;
  font-size: 14px;
  /* text-align: center; */
  font-weight: 500;
  letter-spacing: 3px;
  margin-bottom: 15px;
}

.creative-content-left,
.creative-content-right {
  padding-top: 100px;
}


.creative-content-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  text-align: justify;
}

.creative-content-right h2 {
  font-size: 32px;
  line-height: 1.3;
  margin-bottom: 20px;
}

.creative-content-right p {
  font-size: 16px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 25px;
}

#creative-section-1 h2,
#creative-section-2 h2,
#features-app-section-1 h2,
#features-app-section-2 h2 {
  font-weight: 400;
  letter-spacing: 2px;
  font-size: 32px;
  text-transform: capitalize;
}

#creative-section-1 p,
#creative-section-2 p,
#features-app-section-1 p {
  line-height: 26px;
  font-size: 14px;
}

#creative-section-1 .view-more,
#creative-section-2 .view-more,
#features-app-section-1 .view-more,
#features-app-section-2 .view-more {
  padding-top: 30px;
  text-align: left !important;
}

.img-creative-left figure,
.img-creative-right figure {
  padding: 0 25px;
  text-align: start;
}

/*--------------------
Video section
----------------------*/

#video-section {
  background: url('../images/temp/rack02.jpg') center top;
  position: relative;
  padding: 100px 0;
}

#video-section:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: var(--main-color);
  opacity: .9;
  width: 100%;
  height: 100%;
  z-index: 2;
}

#video-section .container {
  position: relative;
  z-index: 3;
}

#video-section .video-section-content a {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  border: 3px solid rgba(255, 255, 255, .93);
  text-align: center;
  line-height: 78px;
  font-size: 28px;
  color: rgba(255, 255, 255, .93);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

#video-section .video-section-content a .fa-play {
  position: relative;
  left: 4px;
}

.video-head {
  font-size: 38px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  padding-bottom: 7px;
}

.video-sub-heading {
  font-size: 20px;
  font-weight: 300;
  text-align: center;
  line-height: 1.3;
  opacity: .9;
  color: #fff;
}

/*--------------------
Offer section
----------------------*/

#landing-offer .title-section h2 {
  padding-bottom: 10px;
  font-weight: 500;
  letter-spacing: 1.5px;
}

.offer-post {
  padding: 30px 0;
}

.offer-post h4 {
  margin-top: 15px;
  margin-bottom: 20px;
  text-transform: none;
  font-weight: 500;
}

.offer-icon {
  font-size: 42px;
  color: var(--main-color);
  padding-bottom: 15px;
}

/*--------------------
Screenshots
----------------------*/

#screenshots-section .title-section {
  padding-bottom: 80px;
}

.screenshots-carousel .shot {
  padding: 4px;
}

.screenshots-carousel .shot a.zoom {
  display: block;
}

.screenshots-carousel .shot a img {
  border-radius: 3px;
  width: 100%;
}

/*--------------------
Subscribe section
----------------------*/

#subscribe-section {
  background: #f8f8f8;
  padding: 70px 0;
  border-top: 1px solid #EAEAEA;
  border-bottom: 1px solid #EAEAEA;
}

.newsletter-title {
  margin-bottom: 30px;
}

.newsletter-title h4 {
  font-weight: 400;
}

.newsletter-field {
  width: 65%;
}

#subscriber-email {
  width: 100%;
}

.subscription-success,
.subscription-error {
  text-align: center;
  font-weight: 400;
  margin: 20px 0 25px 0;
  font-size: 13px;
}

.subscription-success span,
.subscription-error span {
  margin-bottom: 15px;
  font-size: 24px;
}

/*--------------------
Testimonials section
----------------------*/

#testimonials-section {
  padding: 80px 0;
  text-align: center;

}

ul.testimonials-slider {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.testimonials-slider li img {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  margin-bottom: 35px;
  display: inline-block;
}

ul.testimonials-slider li p {
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  margin: 0 0 20px;
  color: #9B9B9B;
  font-style: italic;
  letter-spacing: 1.4px;
}

.testimonials-author {
  color: var(--main-color);
}

.tc-arrows {
  margin-top: 30px;
}

.tc-arrow-left,
.tc-arrow-right {
  display: inline-block;
}

.testimonials-carousel a.bx-next,
.testimonials-carousel a.bx-prev {
  display: block;
  color: var(--main-color);
  width: 30px;
  height: 30px;
  border: 1px solid var(--main-color);
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all .3s ease-in-out;
  -moz-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.testimonials-carousel a.bx-next:hover,
.testimonials-carousel a.bx-prev:hover {
  color: #fff;
  background: var(--main-color);
}

.tc-arrow-left {
  margin-right: 2px;
}

.tc-arrow-right {
  margin-left: 1px;
}

.tc-arrow-left .fa,
.tc-arrow-right .fa {
  line-height: 28px;
  font-size: 21px;
  width: 28px;
  height: 28px;
  text-align: center;
}

.tc-arrow-left .fa {
  margin-left: -2px;
}

.tc-arrow-right .fa {
  margin-right: -2px;
}

#testimonials-section .bx-wrapper img {
  width: auto !important;
}

#soon-about-section .title-section {
  padding-bottom: 0;
  padding-top: 100px;
}

/***********************************************************************************************/
/* Landing Blog */
/***********************************************************************************************/

#blog-head {
  position: relative;
  background: url('../images/temp/head.jpg') center top;
  padding: 80px 0 !important;
}

#blog-head:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(5, 5, 5, 0.7);
  width: 100%;
  height: 100%;
  z-index: 2;
}

#blog-head .container {
  position: relative;
  z-index: 3;
}

.head-blog-title,
.head-blog-subtitle {
  color: #fff;
}

h2.head-blog-title {
  font-size: 36px;
}

.head-blog-subtitle {
  font-weight: 400;
}

.blog-post {
  margin-bottom: 80px;
}

.blog-item-body h3 {
  font-size: 22px;
  font-weight: 500;
  margin: 20px 0 10px 0;
  line-height: 1.4;
}

.blog-entry-meta {
  margin-bottom: 10px;
}

.blog-entry-body p {
  margin-bottom: 13px;
}

.blog-entry-body ul,
.blog-entry-body blockquote {
  margin: 15px 0;
}

.breadcrumb {
  background: none;
  text-align: right;
}

#blog-head .breadcrumb {
  margin: 20px 0 0 0;
}

#blog-head .breadcrumb li a {
  color: rgba(255, 255, 255, .8);
}

#blog-head .breadcrumb li a:hover,
#blog-head .breadcrumb li a:focus,
#blog-head .breadcrumb li a:visited,
#blog-head .breadcrumb li a:active {
  color: rgba(255, 255, 255, 1);
}

#blog-head .breadcrumb>.active {
  color: #9E9E9E;
}

.img-wrapper a {
  display: block;
}

.img-wrapper a img {
  width: 100%;
  -webkit-transition: all .3s ease-in-out;
  -moz-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.blog-media .bx-wrapper .bx-viewport {
  left: 0;
}

.p-name a {
  display: block;
  color: #000;
}

.blog-entry-foot {
  margin-top: 30px;
}

/*--------------------
Pagination
----------------------*/

.pagination {
  margin: 0;
}

.pagination>li>a,
.pagination>li>span {
  margin-right: 4px;
  border-radius: 50%;
}

.pagination>li:first-child>a,
.pagination>li:first-child>span,
.pagination>li:last-child>a,
.pagination>li:last-child>span {
  border-radius: 50%;
}

.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
  background: #272B2F;
  border: 1px solid #272B2F;
}

.pagination>li>a,
.pagination>li>span {
  color: #272B2F;
  border: 1px solid transparent;
}

.pagination>li>a:hover,
.pagination>li>span:hover,
.pagination>li>a:focus,
.pagination>li>span:focus {
  background-color: #272B2F;
  border-color: #272B2F;
  outline: 0;
  color: #fff;
}

.blog-post-foot {
  padding: 30px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  margin-bottom: 60px;
}

.post-tag {
  margin-top: 30px;
}

.blog-post-foot a {
  color: #a2a2a2;
}

/*--------------------
Comments section
----------------------*/

.comments-list {
  margin: 40px 0 70px;
}

h4.comments-title {
  position: relative;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee;
  font-weight: 500;
  letter-spacing: 2px;
}

#comments .media {
  padding: 30px 0 15px 0;
}

.media-left,
.media>.pull-left {
  padding-right: 20px;
}

.media {
  margin-top: 0;
}

.media-body p {
  line-height: 22px;
}

.media-heading {
  color: var(--main-color) !important;
  font-size: 15px;
}

.media-heading a:hover {
  color: #000;
}

.comment-meta p {
  font-size: 12px;
  color: #202020;
  margin-bottom: 15px;
}

.comment-reply-link a:hover {
  color: #000;
}

#comments .media.nbm {
  padding: 40px 0 0 0;
}

#reply-title {
  color: #000;
  letter-spacing: 2px;
  font-weight: 400;
  margin-bottom: 5px;
}

.comment-notes {
  margin-bottom: 40px;
}

.required {
  color: var(--main-color);
}

label {
  color: #000;
  font-weight: 500;
}

/*--------------------
Sidebar
----------------------*/

.widget {
  padding-top: 40px;
  padding-left: 10px;
}

.widget ul {
  padding-left: 0;
  list-style-type: none;
  margin-bottom: 0;
}

.widget li {
  padding: 5px 0;
}

.widget h3 {
  font-weight: 400;
  border-bottom: 1px solid #eee;
  padding: 0 0 12px;
  margin: 0 0 25px
}

.widget a {
  color: #777;
}

.widget a:hover,
.widget a:focus,
.widget:active {
  color: #000;
}

.widget:first-child {
  padding-top: 0;
}

#search-form {
  position: relative;
}

.input-group .form-control {
  border: 1px solid #dcdcdc;
  padding: 8px 12px;
}

.btn-search {
  border: 1px solid #dcdcdc;
  padding: 7px 20px;
  font-size: 14px;
  letter-spacing: 1.5px;
  color: #A1A1A1;
  background: transparent;
}

.btn-search:hover {
  color: #333;
}

.search-input {
  color: #A1A1A1;
  font-size: 13px;
  font-weight: 300;
}

.search-input::-moz-placeholder {
  color: #A1A1A1;
  opacity: 1;
  letter-spacing: 1.6px;
}

.search-input:-ms-input-placeholder {
  color: #A1A1A1;
  letter-spacing: 1.6px;
}

.search-input::-webkit-input-placeholder {
  color: #A1A1A1;
  letter-spacing: 1.6px;
}

/*--------------------
About widget
----------------------*/

.widget-about h3 {
  text-align: center;
  border-bottom: 0;
}

.about-widget-img {
  width: 150px;
  max-height: 200px;
  margin: 30px auto 0 auto;
  text-align: center;
  padding-bottom: 30px;
}

.about-widget-img img {
  border-radius: 50%;
}

.widget-about p {
  text-align: center;
}

.widget-social {
  text-align: center;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  padding-top: 20px;
}

.widget-social li {
  display: inline-block;
}

.widget-social li a {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 3px 6px 3px;
  border-radius: 15px;
  background-color: #f5f5f5;
  line-height: 30px;
  text-align: center;
}

.widget-social li a:hover {
  background-color: #272B2F;
  color: #fff;
}

/*--------------------
Tags
----------------------*/

.tagcloud a,
.post-tag a {
  display: inline-block;
  margin: 0 2px 8px 0;
  padding: 5px 7px;
  border: 1px solid #e9e9e9;
  color: #777;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 1px;
  -webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  -moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  -o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  -ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
  transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.tagcloud a:hover,
.tagcloud a:focus,
.tagcloud a:active {
  text-decoration: none;
  border-color: #333;
  color: #111;
}

/*--------------------
Recent Posts
----------------------*/

.widget-posts-img {
  float: left;
  margin: 0 7px 0 0;
  width: 80px;
  height: 80px;
}

.widget-posts li a {
  font-size: 14px;
  display: block;
  color: #555;
  text-decoration: none;
  letter-spacing: 1.4px;
}

.widget-posts-descr {
  overflow: hidden;
  padding-left: 5px;
}

/***********************************************************************************************/
/* =App landing page */
/***********************************************************************************************/

.app-hero {
  background: url('../images/hero-bg/app.jpg');
  background-size: cover;
}

.app-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  z-index: 1;
}

#features-app-section-1,
#features-app-section-2 {
  padding: 120px 0;
}

.features-app-content-right {
  padding-top: 30px;
}

#features-app-section-1 h2,
#features-app-section-2 h2 {
  margin-bottom: 35px;
}

#features-app-section-1 p {
  margin-bottom: 20px;
  line-height: 29px;
  letter-spacing: 1.4px;
  font-weight: 300;
}

ul.features-app-list {
  list-style-type: none;
  padding-left: 0;
  padding-top: 10px;
}

ul.features-app-list li {
  margin-bottom: 10px;
}

#feature-app-section-2 ul.features-app-list li {
  margin-bottom: 15px !important;
}

.app-feature-icon {
  font-size: 24px;
  color: var(--main-color);
  margin-right: 20px;
}

.feature-app-box-content p {
  margin-top: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  margin-bottom: 10px !important;
  font-weight: 300;
}

.features-app-content-left {
  padding-top: 40px;
}

#features-app-section-2 ul.features-app-list {
  padding-top: 50px;
}

#features-app-section-2 ul.features-app-list li {
  margin-bottom: 15px;
}

#features-app-section-2 .feature-app-box-content {
  display: table;
}

#features-app-section-2 .feature-app-box-content h6 {
  margin-top: 0;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 2px;
  margin-bottom: 15px;
}

#features-app-section-2 p {
  line-height: 24px;
  font-size: 13px;
  letter-spacing: 1.2px;
}

.feature2-image {
  border-radius: 20px;
  height: 40em;
}

#perfect-section {
  background: url('../images/temp/bg-3.jpg');
  background-size: cover;
  padding: 80px 0;
  position: relative;
}

#perfect-section:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  z-index: 1;
}

#perfect-section .container {
  position: relative;
  z-index: 3;
}

#perfect-section h2 {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
  margin-bottom: 10px;
}

#perfect-section p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  opacity: .9;
  color: #fff;
}

#perfect-section a {
  margin-top: 30px;
}

#download-section {
  position: relative;
  padding: 60px;
  background-size: cover;
  background: url('../images/temp/tweet-bg.jpg');
}

#download-section:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1;
}

#download-section .container {
  z-index: 3;
  position: relative;
}

#download-section .download-text {
  text-align: center;
}

.download-text h2 {
  line-height: 34px;
  font-weight: 300;
}

.download-text h2 strong {
  font-weight: 400;
  font-size: 26px;
}

.download-text h2,
.download-text p {
  color: #fff !important;
}

.download-text p {
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 10px;
}

.download-text a {
  margin-top: 30px;
  display: inline-block;
}

ul.download {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

ul.download li {
  display: inline-block;
}

ul.download li a {
  display: block;
}

ul.download li a:hover,
ul.download li a:focus,
ul.download li a:active {
  opacity: .8;
}

ul.download li a img {
  width: 90%;
}

/***********************************************************************************************/
/* = Coming soon page */
/***********************************************************************************************/

.soon-hero {
  background: url('../images/temp/stats-bg.jpg');
  background-size: cover;
}

.soon-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.soon-hero p {
  color: #fff;
  font-size: 14px;
}

.soon-countdown {
  color: #fff;
  margin-top: 65px;
  text-align: center;
}

.soon-countdown>* {
  text-align: center;
}

.soon-countdown div {
  display: inline-block;
}

.soon-countdown div span {
  width: 150px;
  display: block;
}

.soon-countdown div span:first-child {
  height: 78px;
  font-weight: 300;
  font-size: 6em;
  line-height: 64px;
}

.soon-countdown div span:last-child {
  height: 20px;
  font-weight: 300;
  font-size: 1.1em;
  line-height: 20px;
}

/***********************************************************************************************/
/* =Personal page*/
/***********************************************************************************************/

.personal-hero {
  background: url('../images/hero-bg/personal.jpg');
  background-size: cover;
}

.personal-hero:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.landing-hero::before {
  pointer-events: none;
}

.personal-hero .hero-btn {
  margin-top: 25px;
  z-index: 9999;
}

.about-me {
  padding: 11% 9% 0;
}

.about-me h4 {
  padding-bottom: 20px;
  font-size: 16px;
}


.about-me h3 {
  font-size: 20px;
  line-height: 1.35;
}

.about-me p {
  margin-bottom: 30px;
  line-height: 25px;
}

.about-img img {
  width: 100%;
}

#personal-skills {
  padding: 80px 0;
}


#experiences-section .title-section {
  padding-bottom: 80px;
}

#experiences-section .list-experiences {
  margin-bottom: 40px;
}

#experiences-section .list-experiences .time {
  border-bottom: 1px solid #000;
  margin-bottom: 30px;
  padding-bottom: 3px;
}

#experiences-section .list-experiences .time span {
  margin-right: 10px;
}

#experiences-section .list-experiences .time span.fa {
  color: var(--main-color);
  font-size: 16px;
}

#experiences-section .list-experiences .time h4 {
  font-weight: 500;
  letter-spacing: 1.6px;
  color: #000;
}

#experiences-section .list-experiences span,
#experiences-section .list-experiences h4 {
  display: inline-block;
}

/***********************************************************************************************/
/* =Footer */
/***********************************************************************************************/

/* #footer-section {
  padding: 0.9em;
  background: #F7F7F7;
  border-top: 1px solid #EEEEEE;
} */

#footer-section {
  padding: 0.9em;

  /* background: rgba(231, 224, 224, 0.75); */
  /* transparencia */

}



ul.footer-social-links {
  list-style: none;
  padding: 0;
}

ul.footer-social-links li {
  display: inline-block;
  margin-left: 30px;
}

ul.footer-social-links li:first-child {
  margin: 0;
}

ul.footer-social-links li a {
  font-size: 15px;
  color: #4F4F4F;
  text-transform: uppercase;
  position: relative;
}

ul.footer-social-links li a::after {
  content: "";
  display: block;
  height: 1px;
  background: var(--main-color);
  opacity: 0;
  transform: translateY(5px);
  transition: 0.3s;
}

ul.footer-social-links li a:hover::after {
  opacity: 1;
  transform: translateY(0);
}

/*=====================================
ACCESIBILIDAD
======================*/

.zoom-1 {
  font-size: 18px;
}

.zoom-2 {
  font-size: 20px;
}

.zoom-3 {
  font-size: 22px;
}

#accessibility-widget {
  position: fixed;
  bottom: 25px;
  left: 25px;
  z-index: 9999;
}

#accessibility-toggle {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #019EC2;
  /* NUEVO COLOR */
  color: #fff;
  border: 4px solid #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 28px;
  cursor: pointer;

  box-shadow:
    0 0 0 3px #019EC2,
    0 0 0 6px #fff,
    0 6px 15px rgba(0, 0, 0, 0.5);

  transition: 0.3s;
}

#accessibility-toggle:hover {
  transform: scale(1.1);
  background: #fff;
  color: #019EC2;
}

#accessibility-menu {
  position: absolute;
  bottom: 90px;
  left: 0;

  background: #000;
  padding: 12px;
  border-radius: 12px;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 3 columnas */
  gap: 8px;

  width: 360px;
}

#accessibility-menu button {
  background: #fff;
  color: #000;
  border: none;
  padding: 8px 12px;
  font-size: 12px;
  cursor: pointer;
  text-align: left;
}

#accessibility-menu button:hover {
  background: #00ffff;
}

#accessibility-toggle:focus,
#accessibility-menu button:focus {
  outline: 3px solid #00ffff;
}

.back-to-top {
  text-align: center;
  background: var(--main-color);
  color: #fff;
  display: none;

  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 12px;

  position: fixed;
  right: 25px;
  bottom: 25px;

  opacity: 0.7;
  transition: all .3s ease-in-out;
  cursor: pointer;
  z-index: 9999;
}

.back-to-top:hover {
  opacity: .9;
}

html,
body {
  height: 100%;
  margin: 0;
  padding-top: 50px;
  scroll-behavior: smooth;
  scroll-padding-top: 3em;
}

body {
  display: flex;
  flex-direction: column;
}

#wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

footer {
  margin-top: auto;
  padding-top: 0;
}

/***********************************************************************************************/
/* =Back to top */
/***********************************************************************************************/
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;

  width: 55px;
  height: 55px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #019EC2;
  /* mismo color que accesibilidad */
  color: white;

  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);

  font-size: 22px;

  opacity: 0;
  pointer-events: none;

  transform: translateY(20px);
  transition: all 0.3s ease;

  cursor: pointer;
  z-index: 9999;
}

/* ESTADO VISIBLE */
.back-to-top.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* HOVER */
.back-to-top:hover {
  transform: translateY(-5px) scale(1.05);
  background: #017a96;
}

/* Icono centrado perfecto */
.back-to-top i {
  line-height: 1;
  font-size: 30px;
}


/*=====================================
= SWIPER
=====================================*/

/* .blogSwiper {
  padding: 10px 0;
} */

.swiper-slide {
  display: flex;
  justify-content: center;
  /* height: auto; */
}

.card-item {
  flex: 0 0 33.333%;
  /* padding: 15px; */
  height: 40em;
}

.custom-card {
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  transition: 0.35s;
}

.custom-card:hover {
  transform: scale(1.05);
}

/* IMAGEN COMO BACKGROUND */
.card-img-wrapper {
  position: absolute !important;
  inset: 0 !important;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.6s;
}

.custom-card:hover img {
  transform: scale(1.1);
}

/* OVERLAY OSCURO */
.card-img-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
  z-index: 2;
}

/* 🔥 TEXTO SOBRE IMAGEN */
.custom-body {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  z-index: 3;

  /* por encima del overlay */
}

/* TEXTO */
.custom-body .card-title {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  display: -webkit-box;
  /* max-height: 2.8em; */
  -webkit-line-clamp: 2;
  /* máximo 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 2;

}

.custom-body .card-text {
  color: #ddd;
  font-weight: 100;
  font-size: 1.2em;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}



/* LINK */
.blogLink {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
}


/***********************************************************************************************/
/* Responsive Part */
/***********************************************************************************************/

@media screen and (max-width: 1200px) {

  #about-section .about {
    padding-top: 40px;
  }

  .prices-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

  }

  .team-members .row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  ul.features-list {
    padding-top: 0;
    margin: 0 auto;
  }


}

@media screen and (max-width: 992px) {

  .member-team {
    max-width: 300px;
  }

  body {
    padding-top: 55px;
  }

  .navbar .container {
    width: 90% !important;
  }

  .entry-post {
    padding-bottom: 35px;
  }

  #type-masory {
    width: auto;
  }

  #about-section .about {
    padding: 90px 70px;
  }



  .member-team .magnifier .magnifier-inner {
    padding: 0 10px;
  }

  .member-team .magnifier .magnifier-inner p:last-of-type {
    display: none;
  }

  .team-members .row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  ul.features-list {
    width: 80%;
    padding-top: 0;
  }



  ul.price-table {
    margin-left: 0;
    margin-right: 0;
  }



  .banner-image {
    margin-top: 40px !important;
  }

  .gallery-masory {
    width: auto;
  }

  .contactform {
    padding: 80px 10px;
  }

  .portfolio-desc .col-sm-4 {
    margin-bottom: 20px;
  }

  .portfolio-rel figure {
    margin-bottom: 20px;
  }

  .form-inline .form-control,
  .form-inline .form-group {
    display: block;
  }

  .newsletter-field {
    width: 100%;
  }

  #subscribe-section #subscribe-button {
    display: block;
    width: 100%;
  }

  #blog-head {
    text-align: center !important;
  }

  #search-form {
    margin-top: 30px;
  }

  .breadcrumb {
    text-align: center;
  }

  .prices-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;

  }

  .img-app-right {
    margin: auto;
  }


  .creative-content-right {
    display: flex;
    flex-direction: column;
    padding: 5%;
  }


}


@media screen and (max-width: 768px) {

  .team-members .row {
    flex-direction: column;
    align-items: center;
  }

  .member-team {
    max-width: 90%;
  }

  .member-team img {
    aspect-ratio: 4/5;
  }

  .member-team .magnifier-inner p {
    font-size: 13px;
  }

  .banner-decription {
    font-weight: 300;
    padding: 2em;
    text-align: justify;
  }

  .col-sm-5 {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .creative-content-right {
    padding: 20px;
    text-align: center;
  }

  .team-members {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .img-nav {
    height: 50px;
  }

  .member-team {
    max-width: 70%;
  }

  .navbar .container {
    justify-content: space-between;
    /* separa logo y hamburguesa */
    align-items: center;
  }

  /* Header (logo + botón) */
  .navbar-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }



  /* Menú desplegable */
  .navbar-collapse {
    text-align: center;
  }

  /* Lista centrada */
  .navbar-nav {
    width: 100%;
    align-items: center;
  }

  /* Cada item centrado */
  .navbar-nav .nav-item {
    width: 100%;
  }

  .navbar-nav .nav-link {
    text-align: center;
  }

  .big-title-sec .view-more a {
    margin: 5px 0;
  }

  .hero-content h1 {
    font-size: 38px;
  }

  .soon-countdown div span:first-child {
    font-size: 60px;
  }

  .creative-content-left {
    padding-top: 0;
  }

  #creative-section-1 .view-more {
    text-align: center !important;
  }

  #creative-section-2 .view-more {
    margin-bottom: 80px;
    text-align: center !important;
  }

  .about-studio,
  .what-do {
    padding-bottom: 35px;
  }

  .member-team {
    margin-bottom: 30px;
  }

  .member-team .magnifier .magnifier-inner {
    padding: 0 30px;
  }

  .member-team .magnifier .magnifier-inner p:last-of-type {
    display: block;
  }

  .banner-content {
    margin-top: 80px;
    margin-bottom: 60px;
    text-align: center;
  }

  .banner-image {
    text-align: center;
    margin-bottom: 40px;
  }

  .client img {
    width: 70% !important;
  }

  .about-me h4 a {
    margin-bottom: 30px;
  }


  .prices-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

  }


  .creative-content-right {
    display: flex;
    flex-direction: column;
    padding: 5%;
  }

  .w3-logo {
    width: 100%;
    height: 50%;
  }


  /*=====================================
ACCESIBILIDAD
======================*/

  .zoom-1 {
    font-size: 18px;
  }

  .zoom-2 {
    font-size: 20px;
  }

  .zoom-3 {
    font-size: 22px;
  }

  #accessibility-widget {
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 9999;
  }

  #accessibility-toggle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #000;
    color: #fff;
    border: 4px solid #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 28px;
    cursor: pointer;

    box-shadow:
      0 0 0 3px #000,
      0 0 0 6px #fff,
      0 6px 15px rgba(0, 0, 0, 0.5);

    transition: 0.3s;
  }

  #accessibility-toggle:hover {
    transform: scale(1.1);
    background: #fff;
    color: #000;
  }

  #accessibility-menu {
    position: absolute;
    bottom: 90px;
    left: 0;

    background: #000;
    padding: 10px;
    border-radius: 10px;

    display: flex;
    flex-direction: column;
    gap: 8px;

    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
  }

  #accessibility-menu button {
    background: #fff;
    color: #000;
    border: none;
    padding: 8px 12px;
    font-size: 14px;
    padding: 10px;
    cursor: pointer;
    text-align: left;
  }

  #accessibility-menu button:hover {
    background: #00ffff;
  }

  #accessibility-toggle:focus,
  #accessibility-menu button:focus {
    outline: 3px solid #00ffff;
  }



  /*=====================================
= VARIABLES + BASE
=====================================*/
  :root {
    --main-color: #2bbdf7;
  }

  body {
    font-family: 'Raleway', sans-serif;
    color: #737272;
    line-height: 24px;
    font-size: 0.8125rem;
    letter-spacing: 1.2px;
    padding-top: 68px;
  }

  a {
    color: var(--main-color);
    transition: .25s;
  }

  img {
    max-width: 100%;
  }

  #wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  footer {
    margin-top: auto;
    padding-top: 0;
  }
}

@media screen and (max-width: 640px) {

  h1,
  .h1 {
    font-size: 40px;
  }

  .hero-content h1 {
    font-size: 33px;
  }

  .soon-countdown div span:first-child {
    font-size: 50px;
  }

  p.hero {
    font-size: 14px;
    line-height: 24px;
  }

  .big-title-sec .big-title {
    font-size: 20px;
  }

  .big-title-sec .big-subtitle {
    font-size: 28px;
  }

  .big-title-sec p {
    font-size: 14px;
  }

  #action-section {
    text-align: center;
  }

  #action-section h2 {
    line-height: 1.4;
  }

  #action-section .btn+.btn {
    margin-left: 0;
    margin-top: 20px;
  }

  /* .client img {
    width: 100% !important;
  } */

  /* .team-members .row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .prices-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;


  }*/


  .clients-bg .clients-container {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .creative-content-right {
    display: flex;
    flex-direction: column;
    padding: 5%;
  }

  /*Finalizar esto con un carousel*/
  /* #clients-section {
    display: none;
  } */

}

@media screen and (max-width: 480px) {
  .back-to-top {
    visibility: hidden;
  }

  .team-members .row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .prices-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .clients-bg .clients-container {
    position: relative;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .creative-content-right {
    display: flex;
    flex-direction: column;
    padding: 5%;
  }

  /* Finalizar esto con un carousel */
  #clients-section {
    display: none;
  }

  .member-team {
    max-width: 100%;
  }

  .member-team .magnifier-inner {
    padding: 15px;
  }

  .member-team h3 {
    font-size: 14px;
  }

  .w3-logo {
    width: 100%;
    height: 20%;
  }

  .section_header h2 {
    text-align: center;
  }

}


/* ===== FIX HERO COLORES ===== */

/* Overlay correcto (pisar el actual) */
#hero-section.landing-hero::before {
  background: rgba(0, 0, 0, 0.4) !important;
}

/* TEXTO */
#hero-section .hero-text h1 {
  color: #fff !important;
  font-family: 'Open Sans', sans-serif;
  font-size: 43px;
  font-weight: 800;
  letter-spacing: 8px;
  text-transform: uppercase;
}

/* SUBTEXTO */
#hero-section .hero-text p.hero {
  color: #fff !important;
  font-family: 'Crimson Text', serif;
  font-style: italic;
  font-size: 25px;
  line-height: 32px;
}

/* LÍNEA */
#hero-section .div-line {
  background-color: #fff !important;
  height: 3px;
}

/* BOTÓN */
#hero-section .hero-btn .btn {
  color: #fff !important;
  border-color: #fff !important;
}

#hero-section .hero-btn .btn:hover {
  background: #fff !important;
  color: #000 !important;
}

/* FIX HERO CON TU HTML REAL */

.hero-text {
  position: relative;
  z-index: 2;
}

.hero-btn {
  position: relative;
  z-index: 2;
}

.img-estilo {
  /* border-radius: 20px; */
  max-width: 80%;
  max-height: 70em;
}

.w3-logo {
  width: 10%;
  height: 20%;
}


/***********************************************************************************************/
/* Video Modal*/
/***********************************************************************************************/

.video-modal {
  display: none;
  /* oculto por defecto */
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.85);
}

/* SOLO cuando esté activo */
.video-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-container {
  position: relative;

  /* 🔥 CLAVES */
  max-width: 90vw;
  max-height: 90vh;

  border: 6px solid #379DC1;
  border-top-width: 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow:
    0 25px 80px rgba(0, 0, 0, 0.9),
    0 10px 30px rgba(0, 0, 0, 0.7),
    0 0 0 2px rgba(55, 157, 193, 0.4);
}

/* 🔥 EL FIX IMPORTANTE */
.video-container video {
  max-width: 100%;
  max-height: 90vh;

  width: auto;
  height: auto;

  object-fit: contain;
}

/* BOTÓN CERRAR */
#closeVideo {
  position: absolute;
  top: -48px;
  right: 10px;

  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #fff;
  color: #379DC1;

  font-size: 20px;
  font-weight: bold;

  border-radius: 50%;
  cursor: pointer;

  border: none;

  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

/* HOVER */
#closeVideo:hover {
  background: #379DC1;
  color: #fff;
}

.video-state {
  position: absolute;
  inset: 0;
  /* ocupa todo */

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
  padding: 20px;
}

/* estilos específicos del error */
.video-state.error {
  background: #2c2c2c;
  color: #fff;
}

/* centra contenido interno bonito */
.state-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}


html,
body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
}

/* Este contenedor debe crecer */
#wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Empuja el footer abajo */
footer {
  margin-top: auto;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}



/*=====================================
= BOTONES SWIPER
=====================================*/

.swiper-button-prev,
.swiper-button-next {
  color: white !important;
  transition: 0.3s;
  font-weight: bold;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  color: #3A9EC0;
}

.novedad-div {
  justify-content: space-between;
  padding-bottom: 1em;
  align-items: baseline;
  padding-right: 1em;
  margin-top: 7em !important;
}


/*=====================================
= RESPONSIVE
=====================================*/

@media (max-width: 992px) {
  .blogSwiper .card-item {
    height: 400px;
  }
}

@media (max-width: 768px) {
  .blogSwiper .card-item {
    height: 350px;
  }

  .novedad-div {
    justify-content: center;
    padding-right: 0;
    margin-bottom: 5em;
  }

  .button-blogs {
    width: 35em;
  }
}

/* 
@media (max-widh: ) */

@media (max-width: 480px) {
  .blogSwiper .card-item {
    height: 300px;
  }


}


.navbar-legal {
  background: #fff;
  border: none;
  border-bottom-width: medium;
  border-bottom-style: none;
  border-bottom-color: currentcolor;
  width: 100%;
  height: auto;
  margin-bottom: 0;
  position: absolute;
  position: fixed;
  top: 0;
  border-bottom: 2px solid #f0f0f0;
}


/*=====================================
= Accesibilidad
=====================================*/

body {
  background: var(--bg-color);
  color: var(--text-color);
}

body.accessible-mode {
  --bg-color: #000;
  --text-color: #fff;
}

/* =========================
   MODO ALTO CONTRASTE (FINAL PRO)
========================= */

/* BASE */
body.accessible-mode {
  background-color: #000;
  color: #fff;
}

/* TEXTOS */
body.accessible-mode p,
body.accessible-mode span,
body.accessible-mode li,
body.accessible-mode small {
  color: #fff;
}

/* HEADINGS */
body.accessible-mode h1,
body.accessible-mode h2,
body.accessible-mode h3,
body.accessible-mode h4,
body.accessible-mode h5,
body.accessible-mode h6 {
  color: #fff;
}

/* LINKS */
body.accessible-mode a {
  color: #00ffff;
}

/* =========================
   NAVBAR (BOOTSTRAP FIX)
========================= */

body.accessible-mode .navbar,
body.accessible-mode .navbar.navbar-light {
  background-color: #000 !important;
  border-bottom: 2px solid #fff !important;
}

body.accessible-mode .navbar .nav-link,
body.accessible-mode .navbar.navbar-light .nav-link {
  color: #fff !important;
}

body.accessible-mode .navbar .nav-link:hover,
body.accessible-mode .navbar .nav-link.active {
  color: #00ffff !important;
}

/* =========================
   BOTONES BASE
========================= */

body.accessible-mode .btn {
  background: #fff;
  color: #000;
  border: 2px solid #fff;
}

body.accessible-mode .btn:hover {
  background: #00ffff;
  color: #000;
}

/* =========================
   BOTONES OUTLINE (TU CASO)
========================= */

body.accessible-mode .btn-outline-dark {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

body.accessible-mode .btn-outline-dark:hover {
  background: #00ffff !important;
  color: #000 !important;
  border-color: #00ffff !important;
}

/* =========================
   BOTÓN ACCESIBILIDAD
========================= */

body.accessible-mode #accessibility-toggle {
  background: #fff;
  color: #000;
  border: 4px solid #000;

  box-shadow:
    0 0 0 3px #fff,
    0 0 0 6px #000,
    0 6px 15px rgba(255, 255, 255, 0.3);
}

/* MENÚ */
body.accessible-mode #accessibility-menu {
  background: #fff;
}

body.accessible-mode #accessibility-menu button {
  background: #000;
  color: #fff;
  border: none;
}

body.accessible-mode #accessibility-menu button:hover {
  background: #00ffff;
  color: #000;
}

/* =========================
   CARDS Y BLOQUES
========================= */

body.accessible-mode #prices-section,
body.accessible-mode .price-card,
body.accessible-mode .offer-post,
body.accessible-mode .custom-card,
body.accessible-mode .banner-content {
  background: #111;
  color: #fff;
}


body.accessible-mode .member-team *{
  color: #000;
}

body.accessible-mode #footer-section {
  background: #111 !important;
  color: #fff;
}

body.accessible-mode .price,
body.accessible-mode .months,
body.accessible-mode .subtext-price {
  color: #fff;
}

/* =========================
   FORMULARIOS
========================= */

body.accessible-mode input,
body.accessible-mode textarea,
body.accessible-mode select {
  background: #000;
  color: #fff;
  border: 1px solid #fff;
}

/* =========================
   SWIPER / CAROUSEL
========================= */

body.accessible-mode .swiper-button-prev,
body.accessible-mode .swiper-button-next {
  color: #00ffff !important;
}

/* =========================
   OVERLAYS (NO ROMPER IMAGEN)
========================= */

body.accessible-mode #hero-section::before,
body.accessible-mode .landing-hero::before,
body.accessible-mode #video-section::before {
  background: rgba(0, 0, 0, 0.6);
}

/* HERO BUTTON FIX */
body.accessible-mode #hero-section .btn-outline-dark {
  background: #fff !important;
  color: #000 !important;
  border: 2px solid #fff !important;
}

/* HOVER */
body.accessible-mode #hero-section .btn-outline-dark:hover {
  background: #00ffff !important;
  color: #000 !important;
  border-color: #00ffff !important;
}

body.accessible-mode .big-title,
body.accessible-mode .big-subtitle,
body.accessible-mode .about-text {
  color: #fff !important;
}

body.accessible-mode .footer-social-links li a i {
  color: rgba(255, 255, 255, 0.85); 
  transition: 0.3s;
}

/* HOVER → blanco total */
body.accessible-mode .footer-social-links li a:hover i {
  color: #ffffff;
}

/* =========================
   FOCUS (Accesibilidad de movimiento por tabulacion)
========================= */

/* FOCUS GLOBAL (MUY IMPORTANTE) */
body.highlight-focus *:focus {
  outline: 4px solid #00ffff !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(0, 255, 255, 0.4);
  border-radius: 6px;
}

/* SOLO PARA MODO ACCESIBLE (más limpio) */
body.accessible-mode *:focus {
  outline: 3px solid #00ffff !important;
  outline-offset: 3px;
}

.blogLink:focus {
  outline: 3px solid #00ffff;
  outline-offset: 4px;
  border-radius: 12px;
}

/* SWIPER NO ACCESIBLE POR TAB */
.swiper,
.swiper * {
  pointer-events: auto;
}

.swiper a,
.swiper button,
.swiper-slide,
.swiper * {
  outline: none;
}

/* =========================
   skip link para movimiento por tab
========================= */

.skip-link {
  position: absolute;
  left: -9999px;
  /* lo sacamos completamente de pantalla */
  top: auto;

  background: #000;
  color: #fff;
  padding: 10px 15px;
  z-index: 9999;
  border-radius: 5px;
  text-decoration: none;
}

.skip-link:focus {
  left: 20px;
  /* vuelve a la pantalla */
  top: 20px;
}

/* alto contraste */
body.accessible-mode .skip-link {
  background: #fff;
  color: #000;
  border: 2px solid #000;
}

body.accessible-mode .skip-link:focus {
  outline: 3px solid #00ffff;
}


/*=====================================
= Accesibilidad - Subrayar enlaces
=====================================*/

.underline-links a {
  text-decoration: underline !important;
}


/*=====================================
= Accesibilidad - Espaciado de texto
=====================================*/

.increase-spacing,
.increase-spacing * {
  letter-spacing: 0.18em !important;
  word-spacing: 0.25em !important;
  line-height: 1.8 !important;
}

/*=====================================
= Accesibilidad - Modo lectura
=====================================*/

.reading-mode img,
.reading-mode video,
.reading-mode .banner-image,
.reading-mode .features-image {
  display: none !important;
}

.reading-mode {
  max-width: 800px;
  margin: auto;
}

/* MODO LECTURA */
.reading-mode .container {
  max-width: 100% !important;
  padding-left: 3rem;
  padding-right: 3rem;
}

.reading-mode .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Texto más cómodo */
.reading-mode p {
  font-size: 1.15rem;
  line-height: 1.8;
}

/* Títulos más claros */
.reading-mode h1,
.reading-mode h2,
.reading-mode h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* Opcional: centrar bloques importantes */
.reading-mode .title-section,
.reading-mode .hero-text {
  text-align: center;
}

/* Opcional: quitar cosas que distraen */
.reading-mode .navbar,
.reading-mode #accessibility-widget,
.reading-mode .back-to-top {
  opacity: 0.3;
}

/* ===== FEATURES EN READING MODE ===== */

/* 1. Ocultar imagen central */
body.reading-mode #features-section .features-image {
  display: none !important;
}

/* 2. Convertir columnas a 100% */
body.reading-mode #features-section .col-lg-3,
body.reading-mode #features-section .col-lg-6 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* 3. Quitar paddings raros */
body.reading-mode #features-section .without-padding {
  padding: 0 15px !important;
}

/* 4. Cada item ocupa toda la fila */
body.reading-mode #features-section .features-list li {
  width: 100%;
}

/* 5. Mejorar layout (icono + texto más limpio) */
body.reading-mode #features-section .features-box-content {
  margin-left: 60px; /* opcional: más compacto */
}

/* 6. Centrar mejor el bloque */
body.reading-mode #features-section .features-list {
  max-width: 800px;
  margin: 0 auto;
}

/* ===== TEAM EN READING MODE ===== */

/* 1. Columnas a 100% */
body.reading-mode #team-section .col-lg-3,
body.reading-mode #team-section .col-md-6 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* 2. Quitar imagen */
body.reading-mode #team-section .member-team img {
  display: none !important;
}

/* 3. Quitar overlay hover */
body.reading-mode #team-section .magnifier {
  position: static !important;
  opacity: 1 !important;
  background: transparent !important;
}

/* 4. Mostrar contenido siempre */
body.reading-mode #team-section .magnifier-inner {
  padding: 0 !important;
  text-align: left;
}

/* 5. Estilo tipo bloque lectura */
body.reading-mode #team-section .member-team {
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}

/* 6. Separación entre miembros */
body.reading-mode #team-section .member-team:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

/* 7. Tipografía más clara */
body.reading-mode #team-section h3 {
  margin-bottom: 5px;
}

body.reading-mode #team-section p {
  margin-bottom: 8px;
}


/* ===== ABOUT TEAM EN READING MODE ===== */

/* 1. Columnas a 100% */
body.reading-mode #about-team .col-lg-6,
body.reading-mode #about-team .col-md-6,
body.reading-mode #about-team .col-sm-6 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* 2. Ocultar barras de progreso (no aportan lectura) */
body.reading-mode #about-team .progress-bars {
  display: none !important;
}

/* 3. Centrar bloque y limitar ancho */
body.reading-mode #about-team .container {
  max-width: 800px;
  margin: 0 auto;
}

/* 4. Quitar paddings laterales raros */
body.reading-mode #about-team .px-5 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 5. Mejorar legibilidad */
body.reading-mode #about-team p {
  font-size: 1.1rem;
  line-height: 1.8;
}

/* 6. Título más limpio */
body.reading-mode #about-team .title-section {
  text-align: left;
  margin-bottom: 20px;
}

/* ===== BLOG EN READING MODE ===== */

/* 1. Quitar comportamiento swiper (modo lista) */
body.reading-mode .blogSwiper {
  overflow: visible !important;
}

body.reading-mode .swiper-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px;
}

body.reading-mode .swiper-slide {
  width: 100% !important;
}

/* 2. Ocultar imagen */
body.reading-mode .card-img-wrapper {
  display: none !important;
}

/* 3. Quitar overlay absoluto */
body.reading-mode .custom-body {
  position: static !important;
  padding: 0 !important;
}

/* 4. Card sin altura fija */
body.reading-mode .card-item {
  height: auto !important;
  flex: unset !important;
}

/* 5. Card limpia tipo artículo */
body.reading-mode .custom-card {
  height: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 15px 0;
  border-bottom: 1px solid #ccc;
  transform: none !important;
}

/* 6. Quitar animaciones hover */
body.reading-mode .custom-card:hover {
  transform: none !important;
}

/* 7. Texto limpio */
body.reading-mode .card-title {
  color: inherit !important;
  font-size: 1.2rem;
  margin-bottom: 5px;
}

body.reading-mode .card-text {
  color: inherit !important;
  font-size: 1rem;
  white-space: normal !important;
}

/* 8. Enlace ocupa solo texto */
body.reading-mode .blogLink {
  display: block;
  height: auto !important;
}

/* 9. Quitar botones swiper */
body.reading-mode .swiper-button-prev,
body.reading-mode .swiper-button-next {
  display: none !important;
}

/* 10. Centrar contenido como artículo */
body.reading-mode #blogSection {
  max-width: 800px;
  margin: 0 auto;
}


/* ===== BANNER SERVICES EN READING MODE (FIX) ===== */

/* 1. Ocultar imagen lateral */
body.reading-mode #banner-services .banner-image {
  display: none !important;
}

/* 2. Columnas a 100% */
body.reading-mode #banner-services .col-md-6 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* 3. Mantener background pero ajustar overlay */
body.reading-mode #banner-services::before {
  background: rgba(0, 0, 0, 0.6); /* un poco más legible */
}

/* 4. Contenedor tipo lectura */
body.reading-mode #banner-services .container {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 10px;
}

/* 5. Espaciado limpio */
body.reading-mode #banner-services .banner-content {
  margin: 0 !important;
  text-align: left;
}

/* 6. Texto más legible sobre fondo */
body.reading-mode #banner-services h3,
body.reading-mode #banner-services p {
  color: #fff;
}

/* 7. Botón bien integrado */
body.reading-mode #banner-services .btn {
  margin-top: 15px;
}

/* ===== FEATURES APP 2 EN READING MODE ===== */

/* 1. Ocultar imagen */
body.reading-mode #features-app-section-2 .img-app-right {
  display: none !important;
}

/* 2. Columnas a 100% */
body.reading-mode #features-app-section-2 .col-md-6,
body.reading-mode #features-app-section-2 .col-md-5,
body.reading-mode #features-app-section-2 .offset-md-1 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
}

/* 3. Contenedor tipo lectura */
body.reading-mode #features-app-section-2 .container {
  max-width: 800px;
  margin: 0 auto;
}

/* 4. Quitar floats (MUY IMPORTANTE) */
body.reading-mode #features-app-section-2 .app-feature-icon {
  float: none !important;
  margin-bottom: 10px;
}

/* 5. Reset layout horizontal */
body.reading-mode #features-app-section-2 .feature-app-box {
  display: block;
}

/* 6. Texto alineado */
body.reading-mode #features-app-section-2 .feature-app-box-content {
  margin-left: 0 !important;
  text-align: left;
}

/* 7. Espaciado entre items */
body.reading-mode #features-app-section-2 .features-app-list li {
  margin-bottom: 25px;
}

/* 8. Tipografía más legible */
body.reading-mode #features-app-section-2 p {
  font-size: 1.1rem;
  line-height: 1.8;
}

/* 9. Título alineado a lectura */
body.reading-mode #features-app-section-2 h2 {
  text-align: left !important;
}

/* 10. Separador más suave */
body.reading-mode .sep-section {
  margin: 30px auto;
  max-width: 800px;
}

/* ===== CREATIVE SECTION 1 EN READING MODE ===== */

/* 1. Ocultar imagen */
body.reading-mode #creative-section-1 .img-creative-left {
  display: none !important;
}

/* 2. Columnas a 100% */
body.reading-mode #creative-section-1 .col-md-7,
body.reading-mode #creative-section-1 .col-md-5 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* 3. Contenedor tipo lectura */
body.reading-mode #creative-section-1 .container {
  max-width: 800px;
  margin: 0 auto;
}

/* 4. Reset layout vertical */
body.reading-mode #creative-section-1 .creative-content-right {
  padding: 0 !important;
  text-align: left;
}

/* 5. Tipografía más legible */
body.reading-mode #creative-section-1 p {
  font-size: 1.1rem;
  line-height: 1.8;
}

/* 6. Título alineado a lectura */
body.reading-mode #creative-section-1 h2 {
  text-align: left !important;
}

/* 7. CTA integrado */
body.reading-mode #creative-section-1 .btn {
  margin-top: 15px;
}

/*=====================================
= Accesibilidad - Cursor grande
=====================================*/

body.big-cursor,
body.big-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpolygon points='0,0 0,48 12,36 24,48 30,42 18,30 36,30' fill='black'/%3E%3C/svg%3E") 0 0, auto !important;
}


/*=====================================
= Accesibilidad - Reducir animaciones
=====================================*/

.no-animations *,
.no-animations *::before,
.no-animations *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

/* Fix para AOS */
.no-animations [data-aos] {
  opacity: 1 !important;
  transform: none !important;
}


/*=====================================
= Accesibilidad - Estados activos botones
=====================================*/

#accessibility-menu button.active {
  background: #00ffff;
  color: #000;
}


/*=====================================
= Accesibilidad - Mejora foco (refuerzo)
=====================================*/

.highlight-focus *:focus {
  outline: 3px solid #00ffff !important;
  outline-offset: 3px;
}


/*=====================================
= Accesibilidad - Tamaño mínimo interactivo
=====================================*/

button,
a {
  min-height: 44px;
  min-width: 44px;
}


/* ===== PRECIOS EN MODO LECTURA (2 COLUMNAS) ===== */

body.reading-mode #prices-section .row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
}

/* 2 columnas */
body.reading-mode #prices-section [class*="col-"] {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  padding: 10px !important;
}

/* tablet → 1 columna */
@media (max-width: 768px) {
  body.reading-mode #prices-section [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* opcional: centrar cards */
body.reading-mode #prices-section .price-card {
  height: 100%;
}

body.reading-mode #clients-section .client img {
  display: block !important;
}

body.reading-mode .navbar-brand img{
  display: block !important;
}

body.reading-mode .img-w3-footer{
  display: block !important;
  margin: 10px auto 0 auto;
}

/* ===== PRECIOS EN MODO LECTURA (2 COLUMNAS) ===== */

body.reading-mode #prices-section .row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
}

/* 2 columnas */
body.reading-mode #prices-section [class*="col-"] {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  padding: 10px !important;
}

/* tablet → 1 columna */
@media (max-width: 768px) {
  body.reading-mode #prices-section [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* opcional: centrar cards */
body.reading-mode #prices-section .price-card {
  height: 100%;
}

body.reading-mode #prices-section .prices-info {
  height: 180px !important;
}

body.reading-mode #clients-section .client img {
  display: block !important;
}

.custom-modal-header {
  position: relative;
  padding-left: 70px;
  /* espacio para el logo */
}

/* LOGO EN ESQUINA */
.img-modal {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  height: 40px;
  width: auto;
}

/* Ajuste título */
.modal-title {
  font-weight: 600;
}

/* BOTÓN HAMBURGUESA - MODO ACCESIBLE */
body.accessible-mode .navbar-toggler {
  border-color: #fff;
  /* borde visible */
}

/* CAMBIAR EL ICONO */
body.accessible-mode .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='white' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}


h1 {
  font-size: 2.6875rem;
}

/* 43px */
h2 {
  font-size: 1.5rem;
}

/* 24px */
h3 {
  font-size: 1.0625rem;
}

/* 17px */
h4 {
  font-size: 0.9375rem;
}

/* 15px */
h5 {
  font-size: 0.75rem;
}

/* 12px */

.title-section p {
  font-size: 0.9375rem;
}

/* 15px */

.hero-content h1 {
  font-size: 2.6875rem;
}

/* 43px */
p.hero {
  font-size: 1.5625rem;
}

/* 25px */

.video-head {
  font-size: 2.375rem;
}

/* 38px */
.video-sub-heading {
  font-size: 1.25rem;
}

/* 20px */

.price {
  font-size: 2.25rem;
}

/* 36px */
.currency {
  font-size: 1.125rem;
}

/* 18px */
.months {
  font-size: 0.6875rem;
}

/* 11px */

.price-body p {
  font-size: 0.6875rem;
}

/* 11px */
.price-body ul li {
  font-size: 0.6875rem;
}

/* 11px */

.text-price {
  font-size: 1.75rem !important;
}

/* 28px */
.subtext-price {
  font-size: 0.9375rem !important;
}

/* 15px */

.blog-item-body h3 {
  font-size: 1.375rem;
}

/* 22px */

.widget-posts li a {
  font-size: 0.875rem;
}

/* 14px */

.feature-app-box-content p {
  font-size: 0.875rem;
}

/* 14px */

#perfect-section p {
  font-size: 0.875rem;
}

/* 14px */

.download-text p {
  font-size: 0.875rem;
}

/* 14px */

.soon-hero p {
  font-size: 0.875rem;
}

/* 14px */

.comment-meta p {
  font-size: 0.75rem;
}

/* 12px */
.big-title-sec .big-title {
  font-size: 1.5rem !important;
}

.big-title-sec .big-subtitle {
  font-size: 2rem !important;
}

.section_header h2 {
  font-size: 2rem !important;
}

#features-app-section-2 p {
  font-size: 0.8125rem !important;
}

.feature-app-box-content h6 {
  font-size: 0.8125rem !important;
}

.feature-app-box-content p {
  font-size: 0.8125rem !important;
}

.creative-content-right h2 {
  font-size: 2rem !important;
}

.creative-content-right p {
  font-size: 0.875rem !important;
}

.hero-text h1 {
  font-size: 2.6875rem !important;
}

.hero-text p {
  font-size: 1.5625rem !important;
}

html.zoom-1 {
  font-size: 110%;
}

html.zoom-2 {
  font-size: 120%;
}

html.zoom-3 {
  font-size: 130%;
}

html.zoom-4 {
  font-size: 140%;
}

html.zoom-5 {
  font-size: 150%;
}

html.zoom-6 {
  font-size: 160%;
}


@media (max-width: 991.98px) {

  /* ===== CONTENEDOR NAVBAR (FIX REAL) ===== */
  .navbar .container-fluid {
    flex-wrap: wrap; /* permite que el menú baje */
    align-items: center;
  }

  /* ===== LOGO ===== */
  .navbar-brand {
    order: 1;
    flex-shrink: 0;
  }

  /* ===== BOTÓN HAMBURGUESA SIEMPRE DERECHA ===== */
  .navbar-toggler {
    order: 2;
    margin-left: auto !important;
    flex-shrink: 0;
  }

  /* ===== MENÚ DEBAJO ===== */
  .navbar-collapse {
    order: 3;
    width: 100%;
  }

  /* SOLO cuando está abierto */
  .navbar-collapse.show {
    display: block !important; /* IMPORTANTE: no flex */
    text-align: center;
  }

  /* ===== CENTRADO DE ITEMS ===== */
  .navbar-nav {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .navbar-nav .nav-item {
    width: 100%;
    text-align: center;
  }

  .navbar-nav .nav-link {
    display: block;
    width: 100%;
    text-align: center;
  }

  /* Quitar línea animada en móvil */
  .navbar .nav-link::after {
    display: none !important;
  }
  
}

body {
  overflow-x: hidden;
}

/* ===== CAMBIO DE LOGO EN MODO ACCESIBLE ===== */

body.accessible-mode .img-nav {
  content: url("../images/8bitsInvertido.png");
}

/* ===== MODAL NO AFECTADO POR MODO ACCESIBLE ===== */

body.accessible-mode #legalModal,
body.accessible-mode #legalModal * {
  color: initial !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  line-height: normal !important;
}

body.accessible-mode #legalModal .modal-content {
  background-color: #fff !important;
  color: #000 !important;
}

body.accessible-mode #legalModal .modal-header {
  background-color: #fff !important;
  border-bottom: 1px solid #ddd;
}

body.accessible-mode #legalModal .modal-body {
  background-color: #fff !important;
  color: #000 !important;
}

body.accessible-mode #legalModal .modal-title {
  color: #000 !important;
}

.border-bottom-dotted {
    border-bottom-style: dashed !important;
}
