@font-face {
    font-family: 'gibsonregular';
    src: url('fonts/gibson-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'gibsonsemibold';
    src: url('fonts/gibson-semibold-webfont.woff') format('woff');
}

@font-face {
    font-family: 'gibsonsemibold_italic';
    src: url('fonts/gibson-semibolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gibsonheavy';
    src: url('fonts/gibson-heavy-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


@font-face {
    font-family: 'gibsonbold';
    src: url('fonts/gibson-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'gibsonthin';
    src: url('fonts/gibson-thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'gibson-thinitalic';
    src: url('fonts/gibson-thinitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'gibson-heavyitalic';
    src: url('fonts/gibson-heavyitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'gibson-italic';
    src: url('fonts/gibson-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'gibson-medium';
    src: url('fonts/gibson-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.gibson-medium {
    font-family: 'gibson-medium', sans-serif !important; 
}

.gibson-italic {
    font-family: 'gibson-italic', sans-serif;
}

.gibson-thinitalic {
    font-family: 'gibson-thinitalic', sans-serif;
}

.gibson-heavyitalic {
    font-family: 'gibson-heavyitalic', sans-serif;
}

.gibsonsemibold_italic {
    font-family: 'gibsonsemibold_italic', sans-serif;
}

.gibsonsemibold {
    font-family: 'gibsonsemibold', sans-serif;
    
}

.gibsonregular{
    font-family: 'gibsonregular', sans-serif;
}

.gibsonbold{
    font-family: 'gibsonbold', sans-serif;
}

.text-justify {
    display: block;
    text-align: justify !important;
    text-justify: inter-word;
}
  
  

:root {
    /* colores institucionales */
    --guinda: #4A001F;
    --rosa-claro: #FFC3D0;
    --rosa-fuerte: #D2417C;
    --morado: #6A0F49;
    --gris: #6D807F;
    --negro: #000000;
    --blanco: #ffffff;
    /* colores extras */
    --gris-suave: #d4d8d8;
    --amarillo:#ffc107;
  }

  .guinda{
    color: var(--guinda) !important
  }
  .rosa-claro{
    color: var(--rosa-claro) !important
  }
  .rosa-fuerte{
    color: var(--rosa-fuerte) !important
  }
  .morado{
    color: var(--morado) !important
  }
  .gris{
    color: var(--gris) !important
  }
  .blanco{
    color: var(--blanco) !important;
  }
  .texto-guinda{
    color: var(--guinda) !important;
  }
  .texto-rosa-claro{
    color: var(--rosa-claro) !important;
  }
  .texto-rosa-fuerte{
    color: var(--rosa-fuerte) !important;
  }
  .texto-morado{
    color: var(--morado) !important;
  }
  .texto-gris{
    color: var(--gris) !important;
  }
  .texto-negro{
    color: var(--negro) !important;
  }
  .text-warning{
    color: var(--amarillo) !important;
  }

  .gibson-medium {
    font-size: 1rem; /* base, teléfonos */
  }
ul.dropdown-menu li > ul.dropdown-menu{
    right: 100%;
    top: 0;
}

ul.dropdown-menu li:hover > ul.dropdown-menu, ul.dropdown-menu li:focus > ul.dropdown-menu{
    display: block;
    
}

a.dropdown-item:hover{
  background-color:#FFC3D0;;
}  

.dropdown-menu{
  border-color: transparent !important;
}

.dropdown-submenu a{
  color: red !important;
}

li.menu-item-has-children ul li a{
  color: #4A001F !important;
  text-transform: none !important;
  font-weight: normal !important;
}
 
/********** Template CSS **********/
:root {
    primary: #4a001f;	
    secondary: #6A0F49;
    light: #EEF9FF;
    dark: #4a001f;
	parent:#4a001f;
	rc: #2c2c2c;
    verde: #106b39;
    rosa: #FFC3D0;
}

h1 {font-size: 60px !important}
  
h2 {font-size: 48px !important}

h3 {font-size: 36px !important}

h4 {font-size: 30px !important}

h5 {font-size: 20px !important}
  
h6 {font-size: 16px !important}

p.red {color:red;}

.link{
    color:color #4A001F;
}

/* custom_table.css */
/* Asegurarse de que la tabla tenga un ancho completo */
.table {
    width: 100%;
    border-collapse: collapse; /* Evitar doble borde */
    margin: 20px 0;
    font-size: 16px;
    text-align: left;
}

/* Estilo de los bordes */
.table th, .table td {
    border: 1px solid #ddd;
    padding: 10px; /* Reducir padding para que sea más compacto */
}

/* Estilo del encabezado */
.table th {
    background-color: #f4f4f4;
    color: #333;
    font-weight: bold;
    text-transform: uppercase;
}

/* Fondo alternado para las filas */
.table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.table tbody tr:nth-child(odd) {
    background-color: #fff;
}

/* Hover en filas */
.table tbody tr:hover {
    background-color: #f1f1f1;
}

/* Compatibilidad con DataTables */
/* Asegurarse de que el paginador y otras partes sean responsivas */
.dataTables_wrapper {
    margin-top: 15px; /* Espaciado entre la tabla y el paginador */
    font-size: 14px;
}

/* Centrar el texto de la paginación */
.dataTables_paginate {
    text-align: center;
}

/* Evitar desbordamientos de columnas */
.table th, .table td {
    white-space: nowrap; /* Asegurar que no se rompa el contenido */
    overflow: hidden;
    text-overflow: ellipsis; /* Agregar puntos suspensivos si el contenido es muy largo */
}

/* Responsividad */
@media (max-width: 768px) {
    .table {
        font-size: 14px;
    }
    .table th, .table td {
        padding: 8px;
    }
    .dataTables_wrapper {
        font-size: 12px;
    }
}

.tri-list {
    list-style: none;
     padding: 0;
    margin: 0;
  }
  
  .tri-list li {
    position: relative;
    /* padding-left: 1.5em; */
  }
  
  .tri-list li::before {
    content: "►"; /* Triángulo */
    position: absolute;
    /* left: 0;
    top: 0.3em; */
    color: #4A001F !important;
    font-size: 1.5em;
  } 

.product-bg {
	/* background: url(../images/); */
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.product-bg-white {
	/* background: #ffffffbd; */
	
	padding-top: 80px;
	padding-bottom: 60px;
}

.product .title {
	text-align:left;
	padding-bottom: 60px;
}

.product .title h2 {
	font-size: 50px;
	line-height: 55px;
	color: #ffc3d0;
	font-weight: 500;
	text-transform: uppercase;
    margin-bottom: 27px;
    position: relative;
    padding-bottom: 8px;
}

.product .title h2:after {
	position: absolute;
    border-bottom: #ffc3d0 solid 10px;
    content: '';
    top: 100%;
    width: 110px;
}

.product .title span{
color:#070500;
font-size: 22px;
line-height: 28px;
margin-top: 20px;
}

.product-bg {
	/* background: url(../images/); */
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.product-bg-white {	
	padding-top: 20px;
	padding-bottom: 10px;
}
 .product-bg .product-bg-white .product-box {
 	/* background: #c3c3c3; */
 	text-align: center;
 	margin-bottom: 30px;
 	padding: 20px 25px;
}

.product-bg .product-bg-white .product-box i img {
    width: 100%;
}
 .product-bg .product-bg-white .product-box:hover {
 	background: #ffc3d0;
 }

 .product-bg .product-bg-white .product-box {
 	color: #4A001F;
    font-weight: 500;
 	font-size: 17px;
 	line-height: 20px;
 	padding-top: 15px;
    font-family: Gibson;
    font-weight: bold;
 }

 .negrita {
    font-family: Gibson;
    font-weight: bold;
}

 .product-bg .product-bg-white .product-box span {
 	/* color: #ffffff; */
 	font-weight: 500;
 	font-size: 22px;
 	line-height: 22px;
 }

.btn {
    background-color: var(--morado);
    color: #FFFFFF ;
    font-weight: 600;
    transition: .5s;
    border-radius: 0.35rem 0.35rem 0.35rem 0.35rem ;
    font-family: Gibson;
    font-weight: normal;
    display: flex;
    justify-content: center;
}

.btn-secondary {    
    color: #FFFFFF;
}

.btn-secondary:hover {
    background: var(--primary);
    border-color: var(--primary);
}

.btn-verde{
    background-color: #0e7a3f;
    color: #FFFFFF;
}
.btn-verde:hover {
    background-color: #FFFFFF;
    color: #0e7a3f;
}

.btn-azul{
    background-color: hsl(231, 72%, 35%);
    color: #FFFFFF;
}
.btn-azul:hover {
    background-color: #ffffff;
    color:  hsl(231, 72%, 35%);
}

.btn-square {
    width: 36px;
    height: 36px;
}

.btn-sm-square {
    width: 28px;
    height: 28px;
}

.btn-lg-square {
    width: 46px;
    height: 46px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

.top-shape::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 100%;
    top: 0;
    left: -17px;
    background: var(--primary);
    transform: skew(40deg);
}

.navbar-light .navbar-nav .nav-link {
    padding: 35px 15px;
    font-size: 18px;
    color: var(--primary);
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
    padding: 20px 15px;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary);
}

@media (max-width: 991.98px) {
    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link {
        padding: 10px 0;
    }
}

.section-title h5::before {
    position: absolute;
    content: "";
    width: 45px;
    height: 3px;
    right: -55px;
    bottom: 11px;
    background: var(--primary);
    font-family: gibsonsemibold;
    font-weight: normal;
}

.card-header {
    background-color: var(--morado) !important;
    border-radius: 0.35rem 0.35rem 0 0 !important;
    color: #FFFFFF;
    font-family: gibsonsemibold;
    font-weight: normal;
}

.card-error {
    background-color: #FF0000;
    border-radius: 0.15rem 0.15rem 0.15rem 0.15rem;
    color: #FFFFFF;
    font-family: gibsonregular;
    font-weight: normal;
}

.card-msg-complete {
    background-color: #01DF74;
    border-radius: 0.15rem 0.15rem 0.15rem 0.15rem;
    color: #FFFFFF;
    font-family: gibsonsemibold;
    font-weight: normal;
}

.input-contacto {
    background-color: var(--morado) !important;
    border-radius: 0.35rem 0.35rem 0.35rem 0.35rem !important;
    color: #FFFFFF;
    font-family: gibsonregular;
    font-weight: normal;
}

.card {
    position: relative;
    border-radius: 0.35rem 0.35rem 0.35rem 0.35rem !important;
    box-shadow: #00000040 0px 0px 25px 0px;
}

.minicard {
    width: 75%;
    border-radius: 0.35rem;
    box-shadow: var(--rosa-claro) 0px 0px 25px 0px;
    margin: 20px auto;   /* margen superior e inferior de 20px y centrado horizontal */
    padding: 15px;       /* opcional: espacio interno dentro del card */
}
/* .h5 {
    font-size: 1.25rem;
} */

.banner-responsivo {
    height: auto;
    object-fit: contain;
    width: 50%;
    border-radius: 25px;
}

.text-titulo {
    color: #4A001F !important;
    font-size: 1.75rem;
    font-family: gibsonsemibold;
    font-weight: normal;
}

.text-titulodti {
    color: var(--morado) !important;
    font-size: 1.25rem;
    font-family: gibsonsemibold;
    font-weight: normal;
}

/* .dropdown-item{
    color: #FFc3D0 !important;   
} */

.text-submenu {
    color: #4A001F !important;
    
    font-family: gibsonsemibold;
    font-weight: normal;
    /* display: flex;
    justify-content: left; */
}

.text-cuerpo {
    color: var(--gris);
    font-size: 1.15rem;
    font-family: gibsonregular;
    font-weight: normal;    
}

.text-label {
    color: #FFC4D0;
    font-size: 1.15rem;
    /* font-family: Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji",
    "Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji", sans-serif; */
    font-weight: regular    ;    
}

.text-contacto {
    color: #ffff;
    font-size: 1.15rem;
    font-family: gibsonregular;
    font-weight: normal    ;    
}

.alineacion {
    display: flex;
    justify-content:  center;
  }

.section-title h5::after {
    position: absolute;
    content: "";
    width: 15px;
    height: 3px;
    right: -75px;
    bottom: 11px;
    background: var(--secondary);
}


.twentytwenty-wrapper {
    height: 100%;
}

.hero-header {
    background: linear-gradient(rgba(74, 0, 31, .80), rgba(74, 0, 31, .80)), url(../img/carousel-7.jpg) center center no-repeat;
    background-size: cover;
}

.bg-appointment {
    background: linear-gradient(rgba(74, 0, 31, .85), rgba(74, 0, 31, .80)), url(../img/enlaces.jpg) center center no-repeat;
    background-size: cover;
}

.appointment-form {
    background: rgba(6, 163, 218, .7);
}

.service-item img,
.service-item .bg-light,
.service-item .bg-light h5,
.team-item .team-text {
    transition: .5s;
}

.service-item:hover img {
    transform: scale(1.15);
}

.team-item .team-text::after,
.service-item .bg-light::after {
    position: absolute;
    content: "";
    top: 50%;
    bottom: 0;
    left: 15px;
    right: 15px;
    border-radius:100px / 15px;
    box-shadow: 0 0 15px rgba(0, 0, 0, .7);
    opacity: 0;
    transition: .5s;
    z-index: -4;
}

.linea-pleca {
    width: 100%;
    height: 48px;
    background-image: url('../img/pleca.svg');
    background-repeat: repeat-x;
  }

.bg-offer {
    background:url(../img/carousel-1.jpg) center center no-repeat;
    background-size: cover;
}

.offer-text {
    background: rgba(6, 163, 218, .85);
}

.text-parent {
	color: var(--parent);
}

.bg-rc {
	background-color: var(--rc)
}

/*Texto del recuadro de formulario*/
.input-contacto::placeholder{
    color: white!important;
}

.linckmenu:active {
	background-color: #ffffff;
	
}
.linckmenu:hover {
	background-color: #7c0135;
	
}
/* Start: Google Maps Responsive */
.map-responsive {
    overflow:hidden;
    padding-bottom:400px; /*Reduce este valor si el mapa fuera muy alto, por ejemplo 250px, puedes usar porcentajes, 50%*/
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

.gibson-medium h3.texto-responsivo,
h4.texto-responsivo {
    font-size: clamp(15px, 4.5vw, 30px) !important;
    line-height: 1.3 !important;
    margin: 0.5rem 0 !important;
    word-break: break-word;
    max-width: 100%;
  }
  @media (max-width: 480px) {
    .gibson-medium h3.texto-responsivo,
    .gibson-medium h4.texto-responsivo {
      font-size: clamp(14px, 5vw, 20px) !important;
    }
  }  

#pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a{ background-color: #4a001f;	color: #ffffff;}
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay, #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items.pojo-a11y-links{ border-color: #4a001f;}
body.pojo-a11y-focusable a:focus{ outline-style: solid !important;	outline-width: 1px !important;	outline-color: #ffc3d0 !important;}
#pojo-a11y-toolbar{ top: 106px !important;}
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay{ background-color: #4a001f;}
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a, #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title{ color: #ffffff;}
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a.active{ background-color: #4a001f;	color: #ffc3d0;}
@media (max-width: 767px) { #pojo-a11y-toolbar { top: 106px !important; } }
.wpb_animate_when_almost_visible { opacity: 1; }

/* End: Google Maps Responsive */