/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  /*font-family: "Inconsolata", monospace;*/
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #130036;
  background-color: #f2f2f2;
}

ul {
  margin-bottom: 1rem;
}

.privacidad a {
  font-size: smaller;
}

/*ESTILOS DEL BANNER DE COOKIES*/
.cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  text-align: center;
  padding: 10px;
  z-index: 1000;
  display: none; /* oculto por defecto */
}

.cookie-consent-content {
  max-width: 960px;
  margin: auto;
}

.cookie-consent a {
  color: #fff;
  text-decoration: underline;
}

.cookie-consent button {
  background: #43277f;
  border: none;
  padding: 10px 20px;
  color: white;
  cursor: pointer;
  border-radius: 5px;
}

.cookie-consent button:hover {
  background: #6641b5;
}



/*ESTILOS DE SWITCH*/
.switch {
  width: 60px;
  height: 30px;
  padding: 0 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  border-radius: 100px;
  border: #130036 solid 2px;
  background-color: #130036;
}

.switch i {
  font-size: 1rem;
  color: #fff;
}

.mode li:last-child::before {
  content: "";
  position: absolute;
  height: 25px;
  width: 25px;
  border-radius: 50%;
  background-color: #fff;
  border: solid thin #130036;
  left: 0;
  right: unset;
}

.mode li:last-child.active::before {
  right: 0;
  left: unset;
  border: solid #130036;
}

.mode li:last-child.active i:first-child {
  color: #130036;
}

.mode li:last-child.active {
  background-color: #fff;
  border: solid 2px #fff;
}

body.active nav {
  background-color: #130036;
}

.filters a.active, .filters a:focus {
  font-size: 800;
  color: #fff;
  background-color: #43277f;
}


body.active .custom-navbar .burger {
  filter: invert(70%);
}

body.active nav ul {
  background-color: #130036;
}

body.active nav ul li a {
  color:#cfcfcf;
}

body.active ul li {
  color:#cfcfcf;
}


body.active .card-body ul li {
  color:#130036;
}

body.active h1, body.active h2, body.active h3 {
  color: #f2f2f2;
}

body.active p {
  color: #cfcfcf;
}


body.active .card-body p {
  color: #130036;
  font-weight: 500;
}

body.active a {
  color: #fff;
  transition: ease-in-out .5s;
}

body.active main .section-1, body.active nav, body.active footer {
  background-color: #130036;
}

body.active .social a {
  background: none;
  transition: ease-in-out .5s;
}


body.active .social a:hover, body.active a:hover {
  color: #cacaca;
}

body.active nav .logo-main {
  display: none;
}

body.active nav .logo-main-dm {
  display: flex;
}

body.active .card-header, body.active .custom-navmenu, body.active #navFoot, body.active #navFoot .custom-navmenu, body.active .breadcrumbs {
  background-color: #43277f; 
}

body.active main section:first-child article h2 {
  color: #fff;
}

body.active main section:first-child article p {
  color: #bdbdbd;
}

body.active main section:nth-child(2) {
  background-color: #130036;
}


body.active main section:nth-child(3) {
  background-color: #130036;
}


body.active main section:nth-child(2) > p{
  color: #bdbdbd;
}

 .datos li, body.active .breadcrumbs, body.active .breadcrumbs ol li + li::before {
  color: #cacaca;
}


body.active .send {
  color: #130036;
  text-decoration: none;
  background: #cacaca;
}


body.active .send:hover {
  color: #fff;  
  background: #43277f;
}


/*----------------Fin de los estilos del nuevo switch------------------------*/

/* The switch - the box around the slider 
.switch {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 25px;
}

/* Hide default HTML checkbox 
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #cbc7d3;
  -webkit-transition: .4s;
  transition: .4s;
}


.material-symbols-outlined {
  color: #f2f2f2;
  font-variation-settings:
  'FILL' 1,
  'wght' 100,
  'GRAD' -25,
  'opsz' 20
}


/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

.logo-main-dm {  
  display: none;  
  }




/* DARK THEME */


/*se invierte todo al 100%, luego se invierten las imágenes al 100% nuevamente*/
/*
html.dark-mode , html.dark-mode img{
  filter: invert(100%);
}*/


html.dark-mode .logo-main{  
display: none;  
}

html.dark-mode .logo-main-dm {  
  display: flex; 
}

html.dark-mode h1, html.dark-mode h2, html.dark-mode h3, html.dark-mode p, html.dark-mode li {
  color: #f2f2f2;
}

html.dark-mode .social a {
  background-color: #43277f;
  color: #f2f2f2;
}

html.dark-mode .custom-navmenu h3, html.dark-mode .custom-navmenu p {
  color: #f2f2f2;
}

html.dark-mode .card-header, html.dark-mode .custom-navmenu {
  background-color: #43277f; 
}

html.dark-mode .filters a {
  color: #f2f2f2;
}

html.dark-mode .filters a:hover {
  color: #cacaca;
}

html.dark-mode .card-body {
  background-color: #0c0c0c; 
}

html.dark-mode .list-line li{  
  color: #f2f2f2;  
}

html.dark-mode .list-line li:before{  
  background: #f2f2f2;  
}

html.dark-mode .material-symbols-outlined {
  color: #130036;
}

html.dark-mode .navbar, html.dark-mode body { 
  background-color: #130036;    
}

html.dark-mode .custom-navbar .burger {
  filter: invert(70%);
}

html.dark-mode .work-info h3 {
  font-weight: 600;
  color: #f2f2f2;
}

html.dark-mode label {  
  color: #f2f2f2;
}


html.dark-mode .send:hover {
  color: #f2f2f2;
  text-decoration: none;
  background: #43277F;
}

html.dark-mode .datos a {
 color: #cacaca;
}

html.dark-mode .datos a:hover {
  color: #f2f2f2;
 }

html.dark-mode .credits {
  color: #f2f2f2;
 }

 html.dark-mode .breadcrumbs { 
  background-color: #43277F;  
}

html.dark-mode .breadcrumbs ol li + li::before { 
  color: #f2f2f2;  
}

html.dark-mode #navFoot {
  background-color: #43277F;
}

html.dark-mode .form-control {
  color: #fff;
  background: #393939;
}

 html.dark-mode .credits a {
  color: #f2f2f2;
 }

 html.dark-mode .credits a:hover {
  color: #cacaca;
 }
 


/* --> End Dark theme */

a {
  color: #777;
  text-decoration: none;
}

a:hover {
  color: #000;
}

h1, h2, h3, h5, h6, .font-heading {
  font-family: "Montserrat", sans-serif;
}

.section {
  padding: 5rem 0;
}

.filters a {
  text-decoration: none;
  color: #000;
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

.filters a:hover, .filters a:focus, .filters a:active {
  text-decoration: none;
}

.filters a:hover:before {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 1px;
  background-color: #130036;
}



.item {
  border: none;
  margin-bottom: 30px;
}

.item .item-wrap {
  display: block;
  position: relative;
  overflow: hidden;
}


.item .item-wrap:after {
  z-index: 2;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  opacity: 0;
  transition: .3s all ease-in-out;
}


.item .item-wrap img {
  transition: .3s transform ease;
  transform: scale(1);
}


.item .item-wrap > .work-info {
  position: absolute;
  top: 50%;
  width: 100%;
  text-align: center;
  z-index: 3;
  transform: translateY(-50%);
  color: #f2f2f2;
  opacity: 0;
  visibility: hidden;
  margin-top: 20px;
  transition: .3s all ease;
}

.item .item-wrap > .work-info h3 {
  font-size: 20px;
  margin-bottom: 0;
}


.item .item-wrap > .work-info span {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .2rem;
}



.item .item-wrap:hover {
  text-decoration: none;
}

.item .item-wrap:hover img {
  transform: scale(1.05);
}

.item .item-wrap:hover:after {
  opacity: 1;
  visibility: visible;
}

.item .item-wrap:hover .work-info {
  margin-top: 0px;
  opacity: 1;
  visibility: visible;
}
*/
.testimonial-wrap {
  padding: 50px 50px 80px 50px;
  background: #eceff2;
}

.testimonial-wrap .testimonial {
  text-align: center;
  max-width: 500px;
  margin: 0 auto;
}

.testimonial-wrap .testimonial img {
  border-radius: 50%;
  width: 120px;
  margin: 0 auto 30px auto;
}

.testimonial-wrap .testimonial blockquote p {
  font-size: 20px;
}

h1 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: xxx-large;
}

h2 {
  font-weight: 600;
}

.h3 {
  font-size: 20px;
  font-weight: 600;
}

.h4 {
  font-size: 20px;
}

.heading {
  font-size: 28px;
}

.send {
  display: inline-block;
  border: 1px solid #130036;
  padding: 10px 15px;
  font-size: 12px;
  text-transform: uppercase;
  color: #130036;
  transition: .2s all ease;
  font-weight: 700;
}

.send:active, .send:focus, .send:hover {
  outline: none;
}

.send:hover {
  color: #f2f2f2;
  text-decoration: none;
  background: #130036;
}

@media (max-width: 780px) {

  .send {    
    max-width: 150px;
  }

}

.testimonials-slider .swiper-pagination {
  margin-top: 60px;
  position: relative;
}

.testimonials-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(13, 30, 45, 0.3);
  opacity: 1;
}

.testimonials-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: rgba(13, 30, 45, 0.6);
}

.sticky-content {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  /* required */
}

.list-line li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px;
}

.list-line li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .7rem;
  width: 10px;
  height: 2px;
  background: #000;
}

.section .card {
  height: 18rem;
}

.card li {
  font-size: small;
}

.card-header{  
  background-color: #130036;
  color: #f2f2f2;
  text-transform: uppercase;
  }

.card-header img{
max-width: 3rem;
}

.form-control {
  border-radius: 0;
  background: #f8f9fa;
  border: 1px solid transparent;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.form-control:active, .form-control:focus {
  background: #eff1f4;
  outline: none;
  box-shadow: none;
  border: 1px solid transparent;
}

.custom-progress {
  height: 7px;
  border-radius: 0;
}

.custom-progress .progress-bar {
  background: #130036;
}

/* Services */
.services i {
  font-size: 40px;
}

.services h4 {
  padding-top: 10px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
/* Custom Navmenu */
.custom-navmenu {
  background-color: #130036;
}

.custom-navmenu .custom-menu, .custom-navmenu .custom-menu li {
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  list-style: none;
}

.custom-navmenu .custom-menu li {
  margin-bottom: 0;
  font-size: 20px;
}

.custom-navmenu .custom-menu li a {
  color: #f2f2f2;
  padding: 10px 0 !important;
}

.custom-navmenu .custom-menu li a:hover {
  text-decoration: none;
  color: #CBC7D3;
}

.custom-navmenu .custom-menu li.active a {
  text-decoration: underline;
}

.custom-navmenu h3 {
  font-size: 20px;
  color: #f2f2f2;
}

.custom-navmenu p {
  color: #CBC7D3;
}

.custom-navmenu a {
  color: #CBC7D3;
}

.custom-navmenu a:hover {
  color: #f2f2f2;
}

#navFoot{
  background-color: #130036;
}

/* Custom Navbar */
.custom-navbar {
  padding-top: 50px;
  width: 100%;
}

.container-navbar {
  margin: 0;
}

.logo-main, .logo-main-dm {
  max-width: 10rem;
}

@media (max-width: 780px) {

  .logo-main, .logo-main-dm {
    max-width: 8rem;
  }

  .section .card {
    height: auto;
  }

}

.custom-navbar .navbar-brand {
  font-size: 1.7rem;
}



/* Burger */
.burger {
  width: 28px;
  height: 32px;
  margin-left: 3rem;
  cursor: pointer;
  position: relative;
}

.burger:before, .burger span, .burger:after {
  width: 100%;
  height: 2px;
  display: block;
  background: #130036;
  border-radius: 2px;
  position: absolute;
  opacity: 1;
}

.burger:before, .burger:after {
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  content: "";
}

.burger:before {
  top: 4px;
}

.burger span {
  top: 15px;
}

.burger:after {
  top: 26px;
}

/* Hover */
.burger:hover:before {
  top: 7px;
}

.burger:hover:after {
  top: 23px;
}

/* Click */
.burger.active span {
  opacity: 0;
}

.burger.active:before, .burger.active:after {
  top: 40%;
}

.burger.active:before {
  transform: rotate(45deg);
}

.burger.active:after {
  transform: rotate(-45deg);
}

.burger:focus {
  outline: none;
}

/*--------------------------------------------------------------
# Hero
--------------------------------------------------------------*/

.carousel-caption {
  position: absolute;
  background: rgb(0, 0, 51);
  right: 15%;
  bottom: 10rem;
  left: 5%;
  width: 50vw;
  padding: 2rem;
  padding-bottom: 1.25rem;
  color: #f2f2f2;
  text-align: start;
}

.carousel-caption h5{
  text-transform: uppercase;
  font-size: 6rem;
  font-weight: 600;
}

.carousel-caption p{
  
  font-size: 1.3rem;
  
}

.carousel-caption h2 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: xxx-large;
}

@media (max-width: 780px) {

  
  .carousel-caption {
    width: 80vw;
    background: rgba(5, 13, 24, 0);
  }  

  .carousel-caption h2{
    font-size: 3rem;
  }

  .carousel-caption p{  
    font-size: 1rem;    
  }

  .carousel-caption.second{
    top: 3rem;
  }

  .carousel-caption.second h2{
    font-size: 3rem;
  }


  .carousel-caption.tercero {
    padding: 0;
    top: 5rem;
  }

  .carousel-caption.tercero h2{
    font-size: 2.8rem;
  }

  .carousel-item img{    
    opacity: 0;    
  }

  .carousel-inner {    
    background-color: #130036;
    height: 400px; 
  }

  html.dark-mode .carousel-inner {
    background: #0c0c0c;
  }

 
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 20px 0;
  background: #f9f9f9;
}

.breadcrumbs h2 {
  font-size: 26px;
  font-weight: 300;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 15px;
}

.breadcrumbs ol li + li {
  padding-left: 10px;
}

.breadcrumbs ol li + li::before {
  display: inline-block;
  padding-right: 10px;
  color: #0e2442;
  content: "/";
}

@media (max-width: 768px) {
  .breadcrumbs .d-flex {
    display: block !important;
  }
  .breadcrumbs ol {
    display: block;
  }
  .breadcrumbs ol li {
    display: inline-block;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  padding: 0 0 4rem 0;
}

.footer a {
  color: #130036;
}

.social a {
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #f8f9fa;
  position: relative;
  text-align: center;
  color: #130036;
}

.social a span {
  display: inline-block;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.social a:hover {
  color: #130036;
}
