
@font-face {
    font-family: 'gibsonregular';
    src: url('fonts/gibson-regular-webfont.woff') format('woff');
         /* 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.woff2') format('woff2'),
         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.woff2') format('woff2'),
         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.woff2') format('woff2'),
         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.woff2') format('woff2'),
         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.woff2') format('woff2'),
         url('fonts/gibson-thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'gibsonthin_italic';
    src: url('fonts/gibson-thinitalic-webfont.woff2') format('woff2'),
         url('fonts/gibson-thinitalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

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,
h2,
.font-weight-normal {
    font-weight: 100 !important;
    font-family: gibsonregular;
    font-weight: normal;
}

h3,
.font-weight-semi-bold {
    font-weight: 600 !important;
	color: #ffff !important;
    font-family: gibsonregular;
    font-weight: normal;
}
h4,
.font-weight-semi-bold {
    font-weight: 600 !important;
	color: #4A001F !important;
    font-family: gibsonregular;
    font-weight: normal;
}
h5,
.font-weight-medium {
    font-weight: 600 !important;
	color: #4A001F !important;
    font-family: gibsonregular;
    font-weight: normal;
}
h6,
.font-weight-medium {
    font-weight: 500 !important;
	color: #FFFFFF;
    font-family: gibsonregular;
    font-weight: normal;
}
p.red {color:red;}

.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 {
    display: inline-block; padding: 10px 20px; text-decoration: none;
    font-weight: 600;
    transition: .5s;
    border-radius: 0.35rem 0.35rem 0.35rem 0.35rem ;
    font-family: Gibson;
    font-weight: normal;
    justify-content: center;
}

.btn-mosaico {    
    display: flex !important;
    background-color: #4A001F;
    color: #FFFFFF;
}

.btn-secondary {    
    color: #FFFFFF;
}
.btn-verde{
    background-color: #0e7a3f;
    color: #FFFFFF;
}
.btn-verde:hover {
    background-color: #FFFFFF;
    color: #0e7a3f;
}

.btn-azul{
    color: #fff;
    background: #4e73df;
    border-color: #4e73df;
}
.btn-azul:hover {
    background-color: #FFFFFF;
    color: #213f97;
}

.btn-secondary:hover {
    color: #fff;
    background: #4e73df;
    border-color: #4e73df;
}

.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;
}

/* .h5 {
    font-size: 1.25rem;
} */



.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;
}



.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;
	
}

.banner {
    width: 100%;
    overflow: hidden; /* evita desbordes */
}

.banner img {
    width: 100%;
    height: auto;      /* mantiene proporción */
    display: block;    /* elimina espacios blancos */
    max-width: 100%;
}

.fup2-container {
    max-width: 1100px;
    margin: auto;
    padding: 20px;
    background: var(--blanco);
  }
  
  /* HEADER */
  .fup2-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .fup2-logo {
    height: 60px;
  }
  
  .fup2-logo.center {
    height: 80px;
  }
  
  /* TITULO */
  .fup2-title {
    text-align: center;
    font-size: 22px;
    margin: 20px 0;
  }
  
  /* SECCIONES */
  .fup2-section {
    margin-bottom: 25px;
  }
  
  .fup2-section-title {
    border-left: 6px solid var(--guinda);
    padding-left: 10px;
    margin-bottom: 15px;
  }
  
  /* CAMPOS */
  .fup2-field span {
    font-size: 12px;
    color: var(--gris);
  }
  
  .fup2-field div {
    border-bottom: 2px solid var(--gris);
    height: 22px;
  }
  
  /* GRID */
  .fup2-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
  
  .fup2-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  
  .fup2-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  
  /* TABLA */
  .fup2-table {
    border: 1px solid var(--gris);
  }
  
  .fup2-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
  
  .fup2-row div {
    border: 1px solid var(--gris);
    height: 40px;
  }
  
  .fup2-header-row {
    background: var(--guinda);
  }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    .fup2-grid-4,
    .fup2-grid-3,
    .fup2-grid-2 {
      grid-template-columns: 1fr;
    }
  
    .fup2-logo {
      height: 40px;
    }
  }

/* Estilos de zonas */
#overlay { position:absolute; left:0; top:0; }
#pdfWrap {
    position: relative;
    display: inline-block;
    max-width: 100%;
  }
  
  #pdfCanvas {
    width: 100%;
    height: auto;
    display: block;
  }
  
  #overlay {
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* zonas invisibles */
  .zone {
    transition: all 0.2s ease;
  }
  
  /* hover PC */
  .zone:hover {
    background: rgba(74, 0, 31, 0.2);
    border: 1px solid #4A001F;
  }
  
  /* activo */
  .zone.active {
    background: rgba(74, 0, 31, 0.3);
    border: 2px solid #4A001F;
  }
/* Hotspot */
.zone.active{
  outline: 3px solid rgba(0, 128, 255, 0.9);
  background: rgba(0, 128, 255, 0.12);
}

#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 */