
@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-weight: normal;
    font-style: normal;
}

@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 !important;
}

.gibson-thinitalic {
    font-family: 'gibson-thinitalic', sans-serif !important;
}

.gibson-heavyitalic {
    font-family: 'gibson-heavyitalic', sans-serif !important;
}

.gibsonsemibold_italic {
    font-family: 'gibsonsemibold_italic', sans-serif !important;
}

 .gibsonsemibold {
    font-family: 'gibsonsemibold', sans-serif !important;
    color: var(--negro)
}

.gibsonregular{
    font-family: 'gibsonregular', sans-serif !important;
}

.gibsonbold{
    font-family: 'gibsonbold', sans-serif !important;
}

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;
}


/* h1,
.font-weight-normal {
    font-weight: 500;
}
h2,
.font-weight-normal {
    font-weight: 400;
}
h3,
.font-weight-semi-bold {
    font-weight: 300;
}
h4,
.font-weight-semi-bold {
    font-weight: 200;
}
h5,
.font-weight-medium {
    font-weight: 100;
} */

.link{
    color:color #4A001F;
}

.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  h3 {
 	color: #4A001F;
    font-weight: 500;
 	font-size: 17px;
 	line-height: 20px;
 	padding-top: 15px;
    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) !important;
    color: #FFFFFF !important;
    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-primary,
.btn-secondary {
    color: #FFFFFF;
}

.btn-primary:hover {
    background: var(--secondary);
    border-color: var(--secondary);
}

.btn-secondary:hover {
    background: var(--primary);
    border-color: var(--primary);
}

.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;
    }
}

@media (max-width: 576px) {
    .input-span {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
}

.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);
    border-radius: 0.35rem 0.35rem 0 0 !important;
    color: #FFFFFF;
    font-family: gibsonsemibold;
    font-weight: normal;
}

.carta-body {
    background-color: var(--morado);
    border-radius: 0 1.5rem 1.5rem 0 !important;
    padding: 0.75rem 1rem; /* padding vertical y horizontal */
    display: flex;
    align-items: center;
    flex-wrap: wrap; /* permite que el contenido baje si no cabe */
    height: auto; /* importante para que se expanda si el contenido crece */
    min-height: 50px; /* asegura altura mínima similar a la original */
    word-break: break-word; /* permite cortar palabras largas si es necesario */
}

.input-span {
    font-size: 1rem;
    flex: 1 1 auto;
    min-width: 0;
    word-wrap: break-word;
    padding: 0.5rem 1rem;
    text-align: center;
    border-radius: 0.5rem;
    max-width: 100%;
    width: 100%;
    overflow-wrap: break-word;
    white-space: normal; /* permite saltos de línea */
}

.input-span h4 {
    margin: 0.5rem 0;
    font-size: 1.1rem;
    width: 100%;
}

.input-span a {
    display: inline-block;
    word-break: break-word;
    text-align: center;
    width: 100%;
}

.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;
}

.card {
    position: relative;
    border-radius: 0.35rem 0.35rem 0.35rem 0.35rem !important;
    box-shadow: #00000040 0px 0px 25px 0px;
}

.text-label {
    color: #FFC4D0;
    font-size: 1.15rem;
    font-family: Gibson;
    font-weight: regular;    
}

.html{
    width: 100%; 
    min-height: 600px; 
    border: none; 
    font-family: gibson-medium;
    margin-bottom: 20px;
}

.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;
} 
  
  .carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--blanco);
    border: none;
    font-size: 2rem;
    padding: 0.5em;
    cursor: pointer;
    border-radius: 50%;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
  }
  
  .carousel-btn:hover {
    background: var(--gris-suave);
  }
  
  .carousel-btn.prev { left: 10px; }
  .carousel-btn.next { right: 10px; }
  

.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)
}

.linckmenu:active {
	background-color: #ffffff;
	
}
.linckmenu:hover {
	background-color: #7c0135;
	
}
/* Start: Google Maps Responsive */
.map-responsive{
    overflow:hidden;
    padding-bottom:400px;
    position:relative;
    height:0;
}

.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

#mapMichoacan{
    height: 450px !important; /* o 600px mínimo */
    width: 100%;
}
html, body {
    height: 100%;
}

.leaflet-container{
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
}

body{
    overflow-x:hidden;
}

@media(max-width:768px){

    #mapMichoacan{
        height:500px;
        min-height:500px;
    }

}

#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 */