@font-face {
    font-family: OpenSansBold;
    src: url('/font/OpenSans-Bold.ttf');
}

@font-face {
    font-family: OpenSansRegular;
    src: url('/font/OpenSans-Regular.ttf');
}

@font-face {
    font-family: PlayfairBold;
    src: url('/font/PlayfairDisplay-Bold.ttf');
}

@font-face {
    font-family: PlayfairRegular;
    src: url('/font/PlayfairDisplay-Regular.ttf');
}

@font-face {
    font-family: PlayfairItalic;
    src: url('/font/PlayfairDisplay-Italic.ttf');
}

body {
    margin: 0;
    padding: 0;
    font-family: "OpenSansRegular", Helvetica, sans-serif;
    background-color: #e8e1dd;
    font-size: 1.2vw;
}

header {
    margin: 0;
    width: 100%;
    background-color: #000000;
    padding: 5px 0;
    overflow-y: auto;
}

header a {
    text-decoration: none;
}

.imgicon {
    color: white !important;
    font-size: 8vw;
    float: right;
    margin: 5px 10px;
}

.imglogo {
    width: 20%;
    margin-left: 2%;
}

.menulinks {
    display: initial;
}

#lateralmenu {
    display: none;
}

.logomobile {
    display: none;
}

.logoweb {
    display: initial;
}

.topnav {
    font-family: "PlayfairRegular";
    overflow: hidden;
    display: inline-block;
    float: right;
    margin-top: 20px;
}

.topnav a {
    float: left;
    color: white;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 5px 10px;
}

.topnav a:hover {
    color: white;
}

.topnav a img {
    max-height: 30px;
}

.topnavbottom {
    font-family: "PlayfairRegular";
    overflow: hidden;
    display: inline-block;
    float: right;
}

.topnavbottom a {
    float: left;
    color: white;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 5px 10px;
}

.topnavbottom a:hover {
    color: white;
}

.topnavbottom a img {
    max-height: 30px;
}

.dropdownown {
    float: left;
    overflow: hidden;
    margin: 5px 10px;
}

.dropdownown img {
    max-height: 25px;
}

.dropdownown .dropbtn {
    border: none;
    outline: none;
    color: white;
    background-color: black;
    margin: 0;
}

.dropdownown-content {
    display: none;
    position: absolute;
    background-color: black;
    padding: 0 10px;
    z-index: 100;
    text-align: center;
}

.dropdownown-content a {
    float: none;
    text-decoration: none;
    display: block;
    text-align: left;
    color: white;
}

.dropdownown:hover .dropdownown-content {
    display: block;
}

footer {
    background: url('/img/foto-pie.jpg') no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    padding: 30px 2% 10px 2%;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
}

.divfooter {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
    color: white;
}

.divfooter .social {
    font-size: 3vw;
    color: #db0a3c;
    margin: 0 10px;
}

#imgfooter {
    max-width: 30%;
    margin-bottom: 10px;
}

.divfooter a {
    color: white;
    text-decoration: none;
}

.divfooter a:hover {
    color: white;
    cursor: pointer;
}

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

.divfooter ul li {
    display: inline-block;
    margin: 0 10px;
}

.imgformapago {
    height: 25px;
    margin-top: 10px;
    margin-left: 5px;
    margin-right: 5px;
}

.marginmenumin {
    margin-bottom: 20px;
}

.marginmenu {
    margin-top: 80px;
}

#divpatrocinio {
    background: url('/img/fondo-logos.webp') no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    padding: 30px 2% 10px 2%;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
}

#listpatrocinio {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

#listpatrocinio li {
    display: inline-block;
    margin: 30px 20px;
}

#listpatrocinio li img {
    height: 80px;
}

#maingalery {
    position: relative;
    float: left;
    width: 100%;
}

.divtitlegalery {
    background-color: #000000;
    color: white;
    display: inline-block;
    padding: 0px 10px;
}

.divtitlegalery a {
    color: white !important;
}

.divtitlegalery .titlegalery {
    font-size: 2.5vw;
    font-family: "PlayfairBold";
    margin: 0px 2em 0px auto;
}

.divtitlegalery .subtitlegalery {
    font-size: 1.2vw;
    margin-bottom: 10px;
}

.divbuttonbuy {
    display: block;
    width: 100%;
    margin-top: 20px;
}

.divbuttonbuy .buttongalery {
    background-color: #db0a3c;
    color: white;
    font-size: 1.2vw;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    text-decoration: none;
    padding: 5px 10px 5px 5px;
    font-family: "PlayfairItalic";
}

.divbuttonbuy .buttongalery img {
    height: 25px;
}

.beneficios {
    border: 2px solid #db0a3c;
    text-align: center;
    padding: 2% !important;
    margin: 2% !important;
}

.beneficios span {
    padding: 1%;
}

.beneficios div {
    display: flex;
}

.beneficios span img {
    width: 40%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 992px) {
    .beneficios span img {
        width: 20%;
    }
}

.textoRojo {
    color: #db0a3c;
}

#titleweb {
    position: relative;
    float: left;
    text-align: center;
    width: 100%;
    font-size: 2vw;
    font-family: "PlayfairBold";
    color: white;
    background-color: #db0a3c;
    font-weight: bold;
    padding: 20px 0;
    margin: 0;
}

#titleimage {
    position: relative;
    float: left;
    text-align: center;
    width: 100%;
    top: -18px;
}

#titleimage img {
    width: 150px;
}

#containerproducts {
    position: relative;
    float: left;
    width: 100%;
    box-sizing: border-box;
    padding: 20px 2%;
}

#containerrutas {
    position: relative;
    float: left;
    width: 100%;
    box-sizing: border-box;
    padding: 20px 2%;
}

.flexproducts {
    position: relative;
    float: left;
    width: 100%;
}

.itemproduct {
    margin: 1%;
    width: 31%;
    position: relative;
    float: left;
    color: white;
    text-align: left;
}

.itemproduct .mainimage {
    width: 100%;
}

.itemproduct .logoimage {
    width: 100px;
    float: left;
    margin-left: 2%;
    position: absolute;
}

.itemproduct .productoption {
    background-color: rgba(0, 0, 0, 0.8);
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 0 2% 10px 2%;
}

.itemproduct .productoption:hover {
    cursor: pointer;
}

.itemproduct .productoption label {
    font-size: 2vw;
    font-family: "PlayfairRegular";
    width: 100%;
    display: block;
    padding: 5px 0;
    position: relative;
    float: left;
    margin: 0;
}

.itemproduct .productoption hr {
    width: 10%;
    float: left;
    position: relative;
    border: #db0a3c 1px solid;
    margin: 0;
}

.itemproduct .productoption p {
    width: 100%;
    display: block;
    position: relative;
    float: left;
    margin: 5px 0 10px 0;
    padding: 0;
    font-size: 1vw;
    line-height: 1.2vw;
}

.productcomprar {
    background-color: #db0a3c;
    color: white;
    font-size: 1.2vw;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    text-decoration: none;
    padding: 5px 10px 5px 5px;
    font-family: "PlayfairItalic";
}

.productcomprar:hover {
    cursor: pointer !important;
    color: white !important;
    text-decoration: none;
}

.divbuy {
    display: block;
    width: 100%;
    position: relative;
    float: left;
}

.itemproduct .productoption label:hover {
    cursor: pointer;
}

.itemproduct a {
    color: white;
}

.itemproduct a:hover {
    color: white;
    cursor: pointer;
}

.itemproduct .productoption .productcomprar img {
    height: 20px;
}

#divgranata {
    background: url('/img/fondo-granata.webp') no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    padding: 30px 2% 30px 2%;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.titlegranata {
    width: 100%;
    margin: 0 auto 20px auto;
    text-align: center;
    position: relative;
    float: left;
}

.titlegranata h2 {
    margin: 10px 0;
    padding: 0;
    text-align: center;
    font-family: "PlayfairRegular";
    font-size: 2vw;
}

.titlegranata hr {
    padding: 0;
    text-align: center;
    width: 15%;
    margin: 10px auto;
    border: #db0a3c 1px solid;
}

.titlegranata p {
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 1.5vw;
}

#containergranata {
    width: 40%;
    margin: 0 auto;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 0 0 20px 0;
}

#containergranata .imagengranata {
    width: 50%;
}

#containergranata label {
    margin: 0;
    padding: 0;
    font-family: "PlayfairRegular";
    font-size: 3vw;
    width: 100%;
    text-align: center;
}

#containergranata hr {
    width: 15%;
    margin: 5px auto;
    border: #db0a3c 1px solid;
}

#containergranata p {
    padding: 0;
    margin: 0 0 10px 0;
}

#containergranata a {
    background-color: #db0a3c;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    text-decoration: none;
    color: white;
    margin: 0 10%;
    padding: 5px 20px;
}

#containergranata a img {
    height: 30px;
}

#divmap {
    width: 100%;
}

#divmap h2 {
    margin: 20px 0;
    padding: 0;
    font-family: "PlayfairRegular";
    text-align: center;
}

#innermap {
    position: relative;
    float: left;
    width: 100%;
    height: 400px;
    display: block;
}

.collogomapbox {
    position: relative;
    float: left;
    width: 120px;
    text-align: center;
}

.collogomapbox img {
    width: 100%;
    padding: 10px;
}

.colbuttonmapbox {
    position: relative;
    float: left;
    width: 150px;
    font-size: 16px;
}

.buyticketsmapbox {
    display: block;
    width: 90%;
    margin: 0 5%;
    background-color: #DD0A3A;
    color: white;
    text-decoration: none;
    font-family: PlayfairItalic;
    text-align: center;
}

.colbuttonmapbox .buyticketsmapbox:hover {
    cursor: pointer;
    color: white;
    text-decoration: none;
}

.latlongmapbox {
    display: block;
    text-align: center;
    width: 90%;
    margin: 0 5%;
    background-color: white;
    color: #000;
    font-family: PlayfairItalic;
}

#headermonument {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #757270;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#headermonument h1 {
    margin: 0;
    padding: 60px 0;
    text-align: center;
    color: white;
    font-family: "PlayfairBold";
    position: relative;
    width: 100%;
}

#headermonument #imglogomonument {
    width: 8%;
    max-width: 200px;
    position: absolute;
    left: 2%;
}

#backgroundcart {
    width: 100%;
    overflow-y: auto;
    position: relative;
    float: left;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#containermonumentdetail {
    width: 80%;
    margin: 0 10%;
    padding: 30px 0;
    position: relative;
    float: left;
}

#containermonumentdetail a{
    overflow-wrap: break-word;
    word-break: break-word;
}

#diventradamonumentdetail {
    width: 70%;
    position: relative;
    float: left;
}

#divcomprarentradasmonumentdetail {
    width: 30%;
    position: relative;
    float: right;
    text-align: right;
}

#divcomprarentradasmonumentdetail a {
    background-color: #db0a3c;
    color: white;
    font-size: 1.2vw;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    text-decoration: none;
    padding: 5px 10px 5px 5px;
    font-family: "PlayfairItalic";
}

#divcomprarentradasmonumentdetail a img {
    height: 15px;
}

#divhorariogaleria {
    width: 100%;
    position: relative;
    float: left;
    margin-top: 30px;
}

#divhorario {
    width: 45%;
    position: relative;
    float: left;
}

.blockhorario {
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 30px;
}

.phorario {
    margin: 0;
    padding: 0;
    width: 100%;
}

.pnota {
    border: 1px solid #db0a3c;
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
    font-size: 1vw;
    line-height: 1.2vw;
    margin: 10px 0 0 0;
}

.pnota label {
    color: #db0a3c;
    margin-bottom: 0px;
}

#divgaleria {
    width: 45%;
    position: relative;
    float: right;
    overflow-y: auto;
}

#divgaleriaSin {
    width: 45%;
    margin: 0px auto;
}

.colimage {
    position: relative;
    float: left;
    width: 10%;
}

.colimage img {
    max-width: 100%;
    height: 35px;
}

.coltext {
    position: relative;
    float: left;
    width: 90%;
}

.titleimages {
    font-size: 2vw;
    color: #db0a3c;
    font-family: "PlayfairRegular";
}

.listtarifas {
    margin: 0;
    padding: 0;
    list-style: none;
}

#divnormas,
#textoreservascolegio{
    width: 100%;
    position: relative;
    float: left;
    padding: 30px 5%;
    box-sizing: border-box;
    background-color: white;
}

.titleinterior {
    font-size: 2.5vw;
    width: 100%;
    position: relative;
    float: left;
    font-family: "PlayfairRegular";
    margin-bottom: 5px;
}

.hrtitle {
    width: 10%;
    float: left;
    position: relative;
    border: #db0a3c 1px solid;
    margin: 0;
    margin-bottom: 20px;
}

.contacto {
    font-size: 2.5vw;
    width: 100%;
    font-family: "PlayfairRegular";
    margin-bottom: 5px;
    text-align: center;
}

.contacto-Input {
    margin: 0.5em 0px;
    border: 1px solid #db0a3c !important;
}

.contacto-check {
    width: 5% !important;
}

.hrtitleCentro {
    width: 10%;
    border: #db0a3c 1px solid;
    margin: 0 auto 20px auto;
}

.legal {
    font-size: 1em;
    text-align: left;
}

.divContacto {
    width: 100%;
    position: relative;
    float: left;
    margin: 0;
    padding: 0 15%;
}

.containertextointerior {
    position: relative;
    float: left;
    width: 100%;
    font-size: 1vw;
    overflow-wrap: break-word;
    word-break: break-word;
}

.containertextointerior a,
.divmoreinfo a,
#divsobre .divtexto a {
    overflow-wrap: break-word;
    word-break: break-word;
}

.containertextointerior ul {
    margin: 0 0 40px 0;
    padding: 0;
    list-style: none;
}

.containertextointerior ul li {
    margin-bottom: 10px;
}

#divnormas img {
    max-width: 100%;
    margin: 0 auto;
}

.divcomprarentradas {
    width: 100%;
    position: relative;
    float: left;
    margin: 30px 0;
    text-align: center;
}

.buttoncomprarentradas {
    background-color: #db0a3c;
    color: white;
    font-size: 1.2vw;
    display: inline-flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
    text-decoration: none;
    padding: 5px 10px 5px 5px;
    font-family: "PlayfairItalic";
    border: none;
}

.buttoncomprarentradas:hover {
    cursor: pointer;
    color: white !important;
}

.buttoncomprarentradas img {
    height: 20px;
}

#divsobre {
    width: 100%;
    position: relative;
    float: left;
    margin: 30px 0;
}

#divsobre .divimage {
    width: 30%;
    position: relative;
    float: left;
}

#divsobre .divimage img {
    width: 100%;
}

#divsobre .divtexto {
    width: 68%;
    position: relative;
    float: right;
    padding: 30px 5%;
    background-color: white;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: break-word;
}

#divbook {
    width: 100%;
    position: relative;
    float: left;
    margin: 30px 0;
    text-align: center;
}

#divbook img {
    width: 20%;
    position: relative;
    float: left;
    margin: 0 auto;
}

.infobook {
    width: 75%;
    position: relative;
    float: right;
    text-align: left;
}

.titlebook {
    font-size: 2vw;
    font-family: "PlayfairBold";
    width: 100%;
    position: relative;
    float: left;
    margin-bottom: 10px;
}

.autorbook {
    font-size: 1.5vw;
    width: 100%;
    position: relative;
    float: left;
    margin-bottom: 10px;
}

.masinfobook {
    color: #db0a3c;
    font-family: "PlayfairItalic";
    width: 100%;
    position: relative;
    float: left;
    margin-bottom: 10px;
}

.masinfobook:hover {
    color: #db0a3c;
}

.divmoreinfo {
    width: 100%;
    position: relative;
    float: right;
    display: block;
    margin-top: 20px;
    font-size: 1.2vw;
}

.divmoreinfo a {
    color: #db0a3c;
    text-decoration: none;
    font-family: "PlayfairItalic";
}

.divmoreinfo a:hover {
    color: white;
}

#divsequencecart {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
    color: white;
    font-size: 1.2vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

#divsequencecart label {
    padding: 0px 10px;
    display: inline-block;
    margin-left: -5px;
    margin-bottom: 0;
}

#divsequencecart img {
    padding: 2px;
    display: inline-block;
    margin-left: -5px;
}

.selectsequence {
    background-color: #db0a3c;
}

.noselectsequence {
    background-color: #000000;
}

.radius50 {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

.titlecart {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
    margin: 30px 0;
    font-family: "PlayfairRegular";
    font-size: 2.5vw;
}

.divcartstep {
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 40px;
}

.cartstep {
    position: relative;
    float: left;
    width: 100%;
    font-family: "PlayfairRegular";
    color: white;
    font-size: 1.5vw;
    padding: 5px 1%;
    box-sizing: border-box;
}

.backgroundrojo {
    background-color: #db0a3c;
    border: 1px solid #db0a3c;
}

.backgroundnegro {
    background-color: black;
}

.backgroundgris {
    background-color: #757270;
}

.bordergris {
    border: 1px solid #757270;
}

.backgroundamarillo {
    background-color: #efcd3f;
}

.rectangle {
    display: inline-block;
    width: 40px;
}

.optionstep {
    background-color: white;
    position: relative;
    float: left;
    width: 100%;
    padding: 20px 5%;
    box-sizing: border-box;
    text-align: center;
}

.optionstep .fa-spinner {
    font-size: 5vw;
}

.optiontitle {
    font-size: 1.5vw;
    margin: 10px 0 20px 0;
    padding: 0;
    text-align: left;
    font-family: PlayfairRegular;
}

.disabledoption {
    display: none;
}

.opcioncalendar {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
}

.opcioncalendar ul {
    margin: 0;
    padding: 0;
}

.opcioncalendar ul li {
    display: inline-block;
    margin: 0 20px;
}

#divcalendar,
.divcalendar {
    position: relative;
    float: left;
    width: 40%;
    margin: 20px 30%;
}

.buttontipocompras {
    font-size: 2vw;
    font-family: "PlayfairItalic";
    color: white;
    padding: 5px 20px;
    display: inline-block;
    margin-bottom: 20px;
    text-decoration: none;
}

.buttontipocompras:hover {
    cursor: pointer;
    color: white !important;
}

.buttoncontinuar {
    border: solid 1px black;
    font-size: 2vw;
    font-family: "PlayfairItalic";
    color: black;
    padding: 5px 20px;
    display: inline-block;
    margin-bottom: 20px;
    text-decoration: none;
    box-sizing: border-box;
}

.buttoncontinuar:hover {
    cursor: pointer;
    color: black !important;
}

#divticketcombinado {
    font-size: 1.5vw;
}

#divticketcombinado p {
    padding: 0;
    margin: 0 0 20px 0;
}

.itemcombinado {
    width: 70%;
    margin: 20px auto;
    font-size: 2vw;
    display: inline-flex;
    align-items: center;
    text-align: left;
    justify-content: left;
    flex-wrap: wrap;
    text-decoration: none;
    font-family: "PlayfairRegular";
    border: 2px solid #db0a3c;
}

.itemcombinado .mainimagecombinado {
    height: 100px;
    display: inline-block;
    margin-right: 20px;
}

.itemcombinadoselect {
    background: #db0a3c !important;
    color: white !important;
}

.itemcombinado:hover {
    cursor: pointer;
}

.nav {
    position: relative;
    float: left;
    width: 100%;
    background-color: #757270;
    color: white;
    text-align: center;
    padding: 5px 0;
}

.nav p {
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: center;
}

.nav #prev,
.nav .prev {
    float: left;
    margin-left: 1%;
    position: absolute;
    left: 0;
    z-index: 100;
}

.nav #next,
.nav .next {
    float: right;
    margin-right: 1%;
    position: absolute;
    right: 0;
    z-index: 100;
}

.nav #next:hover,
.nav #prev:hover,
.nav .next:hover,
.nav .prev:hover {
    cursor: pointer;
}

#cal {
    width: 100%;
    background-color: #e8e1dd;
    text-align: center;
    color: #4d4d4d;
    box-sizing: border-box;
    padding: 10px 20px;
}

.cal {
    width: 100%;
    background-color: #e8e1dd;
    text-align: center;
    color: #4d4d4d;
    box-sizing: border-box;
    padding: 10px 20px;
}

.nodisponible {
    background-color: #757270;
    margin: 5px;
    padding: 5px;
    color: #4d4d4d;
}

.disponibilidadalta {
    background-color: white;
    margin: 0px 5px;
    padding: 5px;
    color: #4d4d4d;
}

.disponibilidadbaja {
    background-color: #efcd3f;
    margin: 0px 5px;
    padding: 5px;
    color: #4d4d4d;
}

.selectday {
    background-color: #db0a3c !important;
    color: white !important;
}

.selectableday:hover {
    cursor: pointer;
}

.contentcalendar:hover {
    cursor: pointer;
}

.optionsesion {
    position: relative;
    float: left;
    width: 80%;
    margin: 20px 10% 0 10%;
}

#divsesiones {
    width: 100%;
    display: grid;
    overflow: hidden;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 1fr;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
}

.sesionnodisponible {
    background-color: #757270;
    margin: 5px;
    padding: 5px;
    color: #4d4d4d;
    border: 1px solid #757270;
}

.sesiondisponibilidadalta {
    background-color: white;
    margin: 0px 5px;
    padding: 5px;
    color: #4d4d4d;
    border: 1px solid #757270;
}

.sesiondisponibilidadbaja {
    background-color: #efcd3f;
    border: 1px solid #efcd3f;
    margin: 0px 5px;
    padding: 5px;
    color: #4d4d4d;
}

.selectsesion {
    background-color: #db0a3c !important;
    border: 1px solid #db0a3c !important;
    color: white !important;
}

.sesionclicable:hover {
    cursor: pointer;
}

.itemsesion {
    margin: 5px 10px;
}

.itemsesion label {
    font-size: 1vw;
}

.listtipoentrada {
    padding: 0;
    text-align: left;
    width: 80%;
    margin: 0 10%;
}

.listtipoentrada li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #4d4d4d;
    /* Evita que el contenido haga wrap */
    flex-wrap: nowrap;
}

.listtipoentrada li > span,
.listtipoentrada li > label,
.listtipoentrada li > .textotipoentrada {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.listtipoentrada li .divnumbertickets {
    display: flex;
    align-items: center;
    margin-left: 20px;
    flex-shrink: 0;
    gap: 5px; /* Espacio entre botones */
    white-space: nowrap; /* Mantiene los botones en línea */
}

.divnumbertickets .buttonnumbertickets {
    background-color: #db0a3c;
    padding: 3px 5px;
    display: inline-block;
    text-align: center;
    color: white;
}

.divnumbertickets .buttonnumbertickets:hover {
    cursor: pointer;
}

.divnumbertickets label {
    min-width: 15px;
    display: inline-block;
    text-align: center;
}

.labelnumbertickets {
    border: none;
    width: 35px;
    text-align: center;
}

.labelnumbertickets::-webkit-outer-spin-button,
.labelnumbertickets::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.btnsiguiente {
    background-color: #db0a3c;
    width: 100%;
    padding: 5px 0;
    font-size: 1.5vw;
    border: none;
    font-family: "PlayfairRegular";
    color: white;
}

#divdatospersonales {
    position: relative;
    float: left;
    width: 100%;
    margin-top: 50px;
}

#coldatospersonales {
    position: relative;
    float: left;
    width: 60%;
    padding: 20px 3%;
    box-sizing: border-box;
    background-color: white;
}

#colresumen {
    position: relative;
    float: right;
    width: 35%;
}

#coldatospersonales .lineform {
    position: relative;
    float: left;
    width: 100%;
    border: 1px solid #757270;
    margin: 10px 0;
    padding: 2px 5px;
    box-sizing: border-box;
    font-family: "PlayfairRegular";
}

#coldatospersonales .lineform label {
    font-size: 1vw;
    display: block;
    width: 100%;
}

#coldatospersonales .lineform input {
    border: none;
    width: 100%;
    font-size: 1.5vw;
    margin: 0;
    padding: 0;
}

#coldatospersonales .lineform2 {
    position: relative;
    float: left;
    width: 100%;
    margin: 10px 0;
    padding: 2px 5px;
    box-sizing: border-box;
    font-family: "PlayfairRegular";
}

#coldatospersonales .lineform select {
    position: relative;
    float: left;
    width: 100%;
    border: none;
    font-size: 1.5vw;
}

#coldatospersonales h2 {
    margin: 0 0 20px 0;
    padding: 0;
    text-align: center;
    font-size: 2vw;
    font-family: "PlayfairRegular";
}

#titleresumen {
    position: relative;
    float: left;
    width: 100%;
    font-family: "PlayfairRegular";
    font-size: 2vw;
    background-color: black;
    color: white;
    text-align: center;
    padding: 5px 0;
}

#resumen {
    position: relative;
    float: left;
    width: 100%;
    background-color: white;
    padding: 10px 0;
}

#pagarresumen {
    position: relative;
    float: left;
    width: 100%;
    background-color: #db0a3c;
    color: white;
    font-family: "PlayfairRegular";
    text-align: center;
    font-size: 2vw;
    padding: 5px 0;
    border: none;
}

.titleresumencombinado {
    position: relative;
    float: left;
    width: 100%;
    font-family: "PlayfairRegular";
    font-size: 2vw;
    text-align: center;
}

.tableresumen {
    position: relative;
    float: left;
    width: 94%;
    margin: 10px 3%;
}

.textocarrito {
    position: relative;
    float: left;
    width: 94%;
    margin: 10px 3%;
    color: #db0a3c;
}

.alignright {
    text-align: right;
}

.aligncenter {
    text-align: center;
}

.margintd {
    padding: 0 5px;
}

#resumen hr {
    width: 94%;
    margin: 0 3%;
    float: left;
    position: relative;
    border: black 1px solid;
}

.totalresumencombinado {
    width: 94%;
    margin: 10px 3%;
    font-size: 2vw;
    position: relative;
    float: left;
}

.totalresumencombinado span {
    float: right;
}

.tablepolitica {
    margin: 20px 0;
    width: 100%;
}

.tablepolitica, .tablepolitica th, .tablepolitica td {
    border: 1px solid black;
    border-collapse: collapse;
}

#titleblog {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
}

#titleblog h1 {
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: #db0a3c 3px solid;
    font-family: "PlayfairRegular";
}

.titleblogdetail {
    position: relative;
    float: left;
    width: 100%;
    text-align: left;
}

.titleblogdetail label {
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: #db0a3c 3px solid;
    font-family: "PlayfairRegular";
    font-size: 2vw;
    margin: 20px 0
}

.titleblogdetail h1 {
    font-family: "PlayfairRegular";
    font-size: 3vw;
    margin: 0 0 20px 0;
    padding: 0;
}

#itemsblog {
    position: relative;
    float: left;
    width: 80%;
    text-align: center;
    margin: 0 10%;
    display: flex;
    flex-wrap: wrap;
}

.itemblog {
    margin: 20px 1%;
    width: 31%;
    position: relative;
    float: left;
    color: white;
    text-align: left;
}

.itemblog img {
    width: 100%;
    position: relative;
    float: left;
}

.itemblog .textitemblog {
    background-color: white;
    color: black;
    position: relative;
    float: left;
    width: 100%;
    padding: 10px 2%;
    box-sizing: border-box;
}

.itemblog .textitemblog h3 {
    padding: 0;
    margin: 0;
    font-family: "PlayfairRegular";
    font-size: 2vw;
    margin-bottom: 10px;
}

.itemblog .textitemblog p {
    padding: 0;
    margin: 0;
    font-size: 1vw;
    line-height: 1.2vw;
}

.itemblogrelacionado {
    margin: 0 0 10px 0;
    width: 100%;
    position: relative;
    float: left;
    color: white;
    text-align: left;
}

.itemblogrelacionado img {
    width: 100%;
    position: relative;
    float: left;
}

.itemblogrelacionado .textitemblogrelacionado {
    background-color: white;
    color: black;
    position: relative;
    float: left;
    width: 100%;
    padding: 10px 2%;
    box-sizing: border-box;
}

.itemblogrelacionado .textitemblogrelacionado h3 {
    padding: 0;
    margin: 0 0 10px 0;
    font-family: "PlayfairRegular";
    font-size: 1.5vw;
}

.blogimagedetail {
    display: inline-block;
    max-width: 100%;
}

.blogdetailtext {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 1.5vw;
    margin-bottom: 40px;
}

.blogdetailtext h2 {
    font-size: 2.8vw;
    margin-top: 30px;
}

.blogdetailtext h3 {
    font-size: 2.5vw;
    margin-top: 30px;
}

.blogdetailtext h4 {
    font-size: 2.3vw;
    margin-top: 30px;
}

.blogdetail {
    position: relative;
    float: left;
    width: 78%;
    margin-right: 2%;
}

.blogrelated {
    position: relative;
    float: right;
    width: 20%;
}

.navigation {
    text-align: center;
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 40px;
}

.navigation a {
    text-decoration: none;
}

.navigation .first,
.navigation .previous,
.navigation .next,
.navigation .last {
    background: #db0a3c;
    color: white;
    padding: 2px 5px 2px 8px;
    margin: 0 5px;
    box-sizing: border-box;
}

.navigation .first a,
.navigation .previous a,
.navigation .next a,
.navigation .last a {
    color: white;
    text-align: center;
}

.navigation .page {
    background: black;
    color: white;
    padding: 2px 5px 2px 8px;
    margin: 0 5px;
    box-sizing: border-box;
}

.navigation .page a {
    color: white;
    text-align: center;
}

.navigation .current {
    border: 1px solid black;
    color: white;
    padding: 1px 5px 1px 5px;
    margin: 0 5px;
    box-sizing: border-box;
}

.blogdetailtext
.navigation .current {
    color: #db0a3c !important;
}

#divproductslick {
    position: relative;
    float: left;
    width: 80%;
    margin: 20px 10%;
}

.itemproductgalery {
    box-sizing: border-box;
    position: relative;
    float: left;
    background: black;
    margin: 0 5%;
    text-align: center;
    padding: 0 0 5px 0;
}

.itemproductgalery:hover,
.itemproductgalery label:hover {
    cursor: pointer;
}

.itemproductgalery .mainimage {
    width: 100%;
}

.itemproductgalery label {
    display: block;
    text-decoration: none;
    color: white;
    text-align: left;
    padding: 5px 5px 5px 5px;
    font-size: 1.5vw;
    font-family: "PlayfairRegular";
    width: 100%;
    position: relative;
    float: left;
    margin: 0;
    min-height: 5vw;
}

#divreviewslick {
    position: relative;
    float: left;
    width: 80%;
    margin: 2em 10%;
}

.itemreviewsgalery {
    box-sizing: border-box;
    position: relative;
    float: left;
    margin: 0 5%;
    padding: 0 0 5px 0;
}

.itemreviewsgalery .stars {
    margin: 0.5em 0em;
}

.itemreviewsgalery .stars img {
    height: 0.9em;
}

.itemreviewsgalery:hover,
.itemreviewsgalery label:hover {
    cursor: pointer;
}

.itemreviewsgalery .mainimage {
    width: 100%;
}

.itemreviewsgalery label {
    display: block;
    text-decoration: none;
    text-align: left;
    font-size: 1.2vw;
    font-family: "PlayfairRegular";
    width: 80%;
    position: relative;
    float: left;
    margin: 0;
}

.slick-prev, .slick-next {
    width: 30px !important;
    height: 30px !important;
}

.itemreviewsgalery a {
    color: black;
}

.itemreviewsgalery .monumento {
    color: #db0a3c !important;
    float: left;
}

.itemreviewsgalery .logoGoogle {
    float: right;
    width: 20%;
    height: 1.8vw;
    margin: 0.1vw auto;
}

.simplebtn {
    background-color: transparent;
    color: white;
    border: none;
    display: inline-block;
    margin-left: 10px;
    padding: 10px 20px;
}

.btnwhite {
    background-color: white;
    color: black;
    border: none;
    display: inline-block;
    margin-left: 10px;
    padding: 10px 20px;
}

.buttonrojo {
    background-color: #db0a3c;
    color: white;
    border: none;
    display: inline-block;
    margin-left: 10px;
    padding: 10px 20px;
}

.simplebtn:hover,
.btnwhite:hover,
.buttonrojo:hover {
    color: white;
}

.btnwhite:hover {
    color: black;
}

.forminline {
    display: inline-block;
}

.hidecalendar {
    display: none;
}

.btnregistro {
    font-size: 2vw;
    font-family: "PlayfairItalic";
    padding: 5px 20px;
    display: inline-block;
    margin-bottom: 20px;
    text-decoration: none;
    box-sizing: border-box;
    width: 48%;
    text-align: center;
    position: relative;
}

.btnnoselect {
    color: black;
    border: solid 1px black;
    background-color: transparent;
}

.btnnoselect:hover {
    color: black !important;
    cursor: pointer;
}

.btnselect {
    background-color: #db0a3c;
    border: 1px solid #db0a3c;
    color: white;
}

.btnselect:hover {
    color: white !important;
    cursor: pointer;
}

.floatleft {
    float: left;
}

.floatright {
    float: right;
}

#divimprimir {
    position: relative;
    float: left;
    width: 100%;
}

.btnprint {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
}

.btnprint a {
    background-color: #db0a3c;
    color: white;
    font-size: 2vw;
    text-decoration: none;
    padding: 5px 10px 5px 5px;
    font-family: "PlayfairItalic";
}

.btnprint a:hover {
    cursor: pointer;
    color: white;
}

.mensajehorario {
    color: #db0a3c;
    font-size: 1.5vw;
    margin-top: 10px;
    font-family: "OpenSansBold";
}

.textohome {
    position: relative;
    float: left;
    width: 100%;
    font-size: 1.5vw;
}

.lineaRoja {
    border-bottom: #db0a3c 3px solid;
}

.linebook {
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 10px;
}

.itemproduct-container{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.itemproduct-container .itemproductvideo{
    flex: 1 1 calc(33.333% - 40px); /* Divide en 3 columnas */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    min-height: 200px; /* Puedes ajustar según necesidad */
}

.itemproductvideo .mainimage {
    width: 100%;
}

.itemproductvideo .logoimage {
    width: 100px;
    float: left;
    margin-left: 2%;
    position: absolute;
}

.itemproductvideo .productoption {
    background-color: rgba(0, 0, 0, 0.8);
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 0 2% 10px 2%;
}

.itemproductvideo .productoption:hover {
    cursor: pointer;
}

.itemproductvideo .productoption label {
    font-size: 2vw;
    font-family: "PlayfairRegular";
    width: 100%;
    display: block;
    padding: 5px 0;
    position: relative;
    float: left;
    margin: 0;
    color:white;
}

.itemproductvideo .productoption hr {
    width: 10%;
    float: left;
    position: relative;
    border: #db0a3c 1px solid;
    margin: 0;
}

.itemproductvideo .productoption p {
    width: 100%;
    display: block;
    position: relative;
    float: left;
    margin: 5px 0 10px 0;
    padding: 0;
    font-size: 1vw;
    line-height: 1.2vw;
    color: white;
    text-align: justify;
}

@media (max-width: 1200px) {
    .imglogo {
        width: 20%;
    }

    .itemproduct .logoimage {
        width: 80px;
    }
}

@media (max-width: 992px) {
    .itemproduct-container .itemproductvideo {
        flex: 1 1 calc(50% - 20px); /* 2 columnas en tablets */
    }

    .itemproduct-container .productoption label {
        font-size: 5vw;
    }

    .itemproduct-container .productoption p {
        font-size: 2.5vw;
        line-height: 3vw;
    }

    body {
        font-size: 1.5vw;
    }

    .sidenav {
        height: 83%; /* 100% Full-height */
        width: 0; /* 0 width - change this with JavaScript */
        position: fixed; /* Stay in place */
        z-index: 5; /* Stay on top */
        bottom: 0;
        left: 0;
        background-color: #000000; /* Black*/
        overflow-x: hidden; /* Disable horizontal scroll */
        padding-top: 20px; /* Place content 60px from the top */
        transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
        font-family: "PlayfairRegular";
        font-weight: 100 !important;
    }

    .sidenav a {
        width: 80%;
        padding: 5px 10% 5px 10%;
        text-decoration: none;
        color: white;
        display: block;
        transition: 0.3s;
        font-size: 4vw !important;
        text-align: left;
    }

    #titleimage img {
        width: 100px;
    }

    .titlemenu {
        padding: 5px 5% 5px 5% !important;
    }

    .imglogo {
        width: 30%;
    }

    .itemproduct .logoimage {
        width: 70px;
        margin-left: 1%;
    }

    .itemproduct {
        width: 98%;
    }

    .divtitlegalery .titlegalery {
        font-size: 5vw;
    }

    .divtitlegalery .subtitlegalery {
        font-size: 3vw;
    }

    .divbuttonbuy {
        margin-top: 10px;
    }

    .divbuttonbuy .buttongalery {
        font-size: 3.5vw;
    }

    .divbuttonbuy .buttongalery img {
        height: 35px;
    }

    #titleweb {
        font-size: 3.5vw;
    }

    .itemproduct .productoption label {
        font-size: 8vw;
    }

    .itemproduct .productoption p {
        font-size: 3.5vw;
        line-height: 3.7vw;
    }

    .itemproduct .productoption .productcomprar {
        font-size: 5.5vw;
    }

    .itemproduct .productoption .productcomprar img {
        height: 50px;
    }

    #divsequencecart label {
        font-size: 3vw;
        margin-left: -9px;
    }

    #divsequencecart img {
        margin-bottom: 5px;
        margin-left: -9px;
        width: 65px;
    }

    .cartstep {
        font-size: 3.5vw;
    }

    .opcioncalendar ul li {
        margin: 10px;
    }

    #divcalendar,
    .divcalendar {
        width: 80%;
        margin: 0 10%;
    }

    .titlegranata {
        width: 100%;
    }

    .titlegranata h2 {
        font-size: 5vw;
    }

    .titlegranata hr {
        width: 20%;
        margin: 10px auto;
    }

    .titlegranata p {
        font-size: 4vw;
    }

    #divmap h2 {
        font-size: 5vw;
    }

    #containergranata a {
        font-size: 4vw;
    }

    #containergranata label {
        font-size: 5vw;
    }

    #containergranata p {
        font-size: 3vw;
    }

    #containergranata {
        width: 80%;
    }

    #imgfooter {
        max-width: 60%;
    }

    footer {
        font-size: 2.5vw;
    }

    #headermonument #imglogomonument {
        width: 30%;
    }

    .divfooter .social {
        font-size: 7vw;
    }

    #headermonument h1 {
        font-size: 8vw;
        padding: 80px 0;
    }

    #containermonumentdetail {
        width: 96%;
        margin: 0 2%;
    }

    body {
        font-size: 2.5vw;
    }

    #divcomprarentradasmonumentdetail a {
        font-size: 4vw;
    }

    .titleimages {
        font-size: 4vw;
    }

    .colimage img {
        /* height: 50px; */
    }

    .pnota {
        font-size: 2vw;
        line-height: 2.2vw;
    }

    .titleinterior {
        font-size: 4vw;
    }

    .containertextointerior {
        font-size: 2vw;
    }

    .buttoncomprarentradas {
        font-size: 4vw;
    }

    .divmoreinfo {
        font-size: 2vw;
    }

    .itemproductgalery label {
        font-size: 3vw;
        min-height: 9vw;
    }

    .productcomprar {
        font-size: 3vw;
    }

    #diventradamonumentdetail {
        width: 100%;
        margin-bottom: 10px;
        font-size: 4vw;
    }

    #divcomprarentradasmonumentdetail {
        width: 100%;
        text-align: center;
    }

    #divgaleria {
        width: 90%;
        margin: 20px 5%;
    }

    #divhorario {
        width: 100%;
        margin: 0;
    }

    .topnav a img {
        max-height: 30px;
    }

    .topnav a {
        font-size: 2vw;
    }

    .topnav button {
        font-size: 2vw;
        margin: 0;
        padding: 0;
    }

    .topnavbottom a img {
        max-height: 30px;
    }

    .topnavbottom a {
        font-size: 2vw;
    }

    .topnavbottom button {
        font-size: 2vw;
        margin: 0;
        padding: 0;
    }

    .titlecart {
        font-size: 4vw;
        margin: 20px 0;
    }

    .beneficios div {
        display: initial;
    }

    .nav p,
    .nav #next,
    .nav .next {
        font-size: 4vw;
    }

    #cal {
        font-size: 4vw;
    }

    .itemsesion {
        width: 42%;
    }

    #divsesiones {
        display: flex;
        flex-wrap: wrap;
        font-size: 5vw;
    }

    .itemsesion label, #divticketcombinado p, .buttoncontinuar, .buttontipocompras {
        font-size: 4vw;
    }

    #divticketcombinado {
        font-size: 3vw;
    }

    .listtipoentrada {
        width: 100%;
        margin: 0;
    }

    .divnumbertickets .buttonnumbertickets {
        font-size: 4vw;
    }

    .divnumbertickets label {
        font-size: 4vw;
    }

    .listtipoentrada li {
        font-size: 4vw;
        overflow-y: auto;
    }

    .btnsiguiente {
        font-size: 4vw;
    }

    #coldatospersonales h2 {
        font-size: 4vw;
    }

    #coldatospersonales {
        margin: 20px 0;
        padding: 0;
        width: 100%;
    }

    #coldatospersonales .lineform label {
        font-size: 2vw;
    }

    #coldatospersonales .lineform input {
        font-size: 2vw;
    }

    #colresumen {
        width: 100%;
    }

    #titleresumen {
        font-size: 4vw;
    }

    .titleresumencombinado {
        font-size: 4vw;
    }

    .totalresumencombinado {
        width: 100%;
        margin: 10px 0;
        font-size: 4vw;
    }

    .tableresumen {
        width: 100%;
        margin: 10px 0;
        font-size: 4vw;
    }

    #pagarresumen {
        font-size: 4vw;
    }

    .itemcombinado {
        font-size: 4vw;
        width: 90%;
        flex-wrap: nowrap;
    }

    .optiontitle {
        font-size: 3vw;
    }

    .disableoption {
        display: none;
    }

    .optionsesion {
        width: 100%;
        margin: 20px 0 0 0;
    }

    .dropdownown {
        float: left;
        overflow: hidden;
        margin: 5px 10px;
    }

    .titleblogdetail h1 {
        font-size: 4vw;
    }

    .blogdetailtext h2 {
        font-size: 3.5vw;
        margin-top: 20px;
    }

    .blogdetailtext h3 {
        font-size: 3.2vw;
        margin-top: 20px;
    }

    .blogdetailtext h4 {
        font-size: 3vw;
        margin-top: 20px;
    }

    #itemsblog {
        width: 96%;
        margin: 0 2%;
    }

    .blogdetailtext {
        font-size: 2.5vw;
    }

    .topnav {
        /* width: 100%; */
        text-align: center;
    }

    #coldatospersonales, #resumen {
        padding: 10px;
    }

    #divsobre .divimage {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }

    #divsobre .divimage img {
        max-width: 100%;
        width: auto;
    }

    #divsobre .divtexto {
        width: 100%;
    }

    .mensajehorario {
        font-size: 4vw;
    }

    .textohome {
        position: relative;
        float: left;
        width: 100%;
        font-size: 3vw;
    }
}

@media (max-width: 768px) {


    #divsequencecart img {
        margin-left: -8px;
        width: 45px;
    }

    .itemproduct .logoimage {
        width: 120px;
    }

    .itemcombinado label {
        font-size: 5vw;
    }

    .itemblog {
        width: initial;
    }

    .itemblog .textitemblog h3 {
        font-size: 5vw;
    }

    .itemblog .textitemblog p {
        font-size: 3vw;
        line-height: initial;
    }

    .titleblogdetail label {
        font-size: 5vw;
    }

    .blogdetail, .blogrelated {
        position: initial;
        float: none;
        width: initial;
    }

    .itemblogrelacionado .textitemblogrelacionado h3 {
        font-size: 2.8vw;
    }

    .cartstep {
        font-size: 5vw;
    }

    .opcioncalendar ul li {
        font-size: 3vw;
    }

    #coldatospersonales .lineform label, #coldatospersonales .lineform2 {
        font-size: 3vw;
    }

    #coldatospersonales .lineform input, #coldatospersonales .lineform select, .autorbook {
        font-size: 2.5vw;
    }

    #divsequencecart {
        display: initial;
    }

    .containertextointerior, #divhorario, .divmoreinfo, .titlebook {
        font-size: 4vw;
    }

    .titleinterior, .titleimages, .containertextointerior h3 {
        font-size: 5vw;
    }

    .itemproduct-container .itemproductvideo {
        flex: 1 1 100%; /* 2 columnas en tablets */
    }
}

@media (max-width: 576px) {
    header {
        padding-bottom: 8%;;
    }

    .btnregistro {
        font-size: 5vw;
    }

    #lateralmenu {
        display: initial;
    }

    .menulinks {
        display: none;
    }

    .logomobile {
        display: initial;
    }

    .logoweb {
        display: none;
    }

    .topnav {
        width: 100%;
        text-align: center;
    }

    .imglogo {
        width: 60%;
    }

    #titleimage img {
        width: 70px;
    }

    .itemproduct .productoption .productcomprar img, #containergranata a img {
        height: 25px;
    }

    .titleblogdetail label {
        font-size: 8vw;
    }

    .titleblogdetail h1 {
        font-size: 4.5vw;
    }

    .blogdetailtext h2 {
        font-size: 4vw;
    }

    .blogdetailtext h3 {
        font-size: 3.7vw;
    }

    .blogdetailtext {
        font-size: 2.8vw;
    }

    .divbuttonbuy .buttongalery img {
        height: 20px;
    }
}

/*ventana modal oferta*/
#modalsale {
    z-index: 1000;
    position: fixed;
    top: 10px;
    right: 10px;
    padding: 10px;
    width: 600px;
    background-color: black;
}

#modalsale-contenedor {
    background-color: black;
}

#modalsale-contenedor .modal-content {
    padding: 1em;
    border: solid #db0a3c 3px;
    text-align: center;

}

#modalsale-contenedor .modal-content img {
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

/* modalnewprice */
#modalnewprice {
    z-index: 1000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    width: 800px;
    background-color: black;
}

#modalnewprice-contenedor {
    background-color: black;
}

#modalnewprice-contenedor .modal-content {
    padding: 1em;
    border: solid #db0a3c 3px;
    text-align: center;

}

#modalnewprice-contenedor .modal-content img {
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

/* modalhorarios */
#modalhorarios {
    z-index: 1000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    width: 800px;
    background-color: black;
}

#modalhorarios-contenedor {
    background-color: black;
}

#modalhorarios-contenedor .modal-content {
    padding: 1em;
    border: solid #db0a3c 3px;
    text-align: center;

}

#modalhorarios-contenedor .modal-content img {
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

.modal-header {
    border: none !important;
}

.modal-title {
    font-size: 40px;
    font-weight: 900;
    text-align: center !important;

}

#modalsale-contenedor .modal-content .modal-header hr {
    display: block;
    margin-left: auto;
    margin-right: auto;
    float: none !important;
    width: 15%;
    border-width: 5px;
}

#modalsale-contenedor .modal-content .modal-body {
    font-size: 20px;
}

#modalsalefooter {

    font-family: "PlayfairRegular" !important;
    font-style: italic;
    /*display:flex!important;
    width: 100%;*/
}

.izquierda {
    background-color: black !important;
    border-color: #db0a3c !important;
    font-size: 20px !important;


}

.derecha {
    background-color: #db0a3c !important;
    border-color: #db0a3c !important;
    font-size: 40px !important;
    color: white !important;
}

.ocultarnewprice {
    background-color: #db0a3c !important;
    border-color: #db0a3c !important;
    font-size: 20px !important;
    color: white !important;
}

.ocultarhorarioscatedral {
    background-color: #db0a3c !important;
    border-color: #db0a3c !important;
    font-size: 20px !important;
    color: white !important;
}

body {
    font-size: 1.2vw !important;
}

.aclaracion {
    text-align: center;
    font-size: 1vw;
}

@media (max-width: 720px) {
    .divboton {
        margin-bottom: 20px;
        height: 50px !important;
    }

    body {
        font-size: 2em !important;
    }

}

@media (max-width: 800px) {
    #modalnewprice {
        width: 100% !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
    }
}

@media (max-width: 350px) {
    #modalnewprice tbody {
        font-size: 4vw !important;;
    }
}

@media (max-width: 992px) {
    #modalsale {
        left: 5%;
        right: 5%;
        width: 90%;
        top: 20px;
    }

    .divboton {
        margin-bottom: 20px;
        height: 50px !important;
    }

    body {
        font-size: 2em !important;
    }

    #modalsale-contenedor .modal-content img {
        width: 40%;
    }

    #modalhorarios {
        z-index: 1000;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 10px;
        width: 100%;
        box-sizing: border-box;
        background-color: black;
    }
}
