:root {
    --cols-spacing: 15px;
    --rows-spacing: calc(var(--cols-spacing) * 2.5);
    --articulos-cards-text-align: center;
    --articulos-cards-spacing: var(--cols-spacing);
    --articulos-cards-image-height: 45vw;
    --articulos-cards-image-max-height: 210px;
    --border-radius: 0;
    --form-imputs-border-radius: 0;
}

/* ciab */


html,
.body_secc_paginas_149 {
	background-color: #dae1ec;
}

@media (min-width: 810px) {

	#btn_menu {
		display: none;
	}
}

.main_box,
.section.principal {
    width: 100%;
}

body #PAGINA section.principal {
    margin-top: 10px;
}

.pagina#id_149 .module_txt {
	display: none;
}

.coupon.card.available {
    background-color: var(--c0);
}

.coupon.card.used {
    background-color: #50869f;
}

.coupon.card.expired:not(.used) {
	background-color: #687683;
}

.coupon_expiry {
	font-size: clamp(13px, 1.4vw, 19px);
}

body .sticky_header {
	box-shadow: #0002 5px 5px 55px;
}

body .sticky_header:not(.smalled).hide-to-minimum_header {
    top: 0 !important;
	box-shadow: #0000 5px 5px 25px;
}

body .sticky_header.smalled.hide-to-minimum_header {
    height: 55px !important;
}

body section.module_container.sticky_header {
    background-color: var(--c4) !important;
}

body section.module_container.sticky_header:not(.smalled).hide-to-minimum_header .header-encabezado-de-paginas {
	margin: 0 0 0 0 !important;
    left: 8%;
}
body.body_PORTAL section.module_container.sticky_header:not(.smalled).hide-to-minimum_header .header-encabezado-de-paginas {
	margin: -140px 0 0 0 !important;
}

section.module_container.sticky_header .content {
	height: 100%;
}

section.module_container.sticky_header .texto {
    justify-content: center;
}

section.module_container.sticky_header .logo_cabezal_img {
	width: 120px !important;
}

@media (min-width: 810px) {
    .sticky_header .menu-principal {
        height: 100% !important;
    }
}

.sticky_header .menu-principal li.menu_text:hover {
	background-color: var(--c2);
}

.sticky_header .menu-principal li.menu_text span {
	font-weight: 600;
	color: var(--c0);
}
.sticky_header .menu-principal li.menu_text:hover span {
    color: #fafafa;
}

.sticky_header .menu-principal li.menu_icon {
    background-color: unset;
	-webkit-transition: transform .2s ease-in-out !important;
	-moz-transition: transform .2s ease-in-out !important;
	-o-transition: transform .2s ease-in-out !important;
	-ms-transition: transform .2s ease-in-out !important;
	transition: transform .2s ease-in-out !important;
}

.sticky_header .menu-principal li.menu_icon:hover {
	background-color: unset;
	transform: scale(1.1);
}

li.menu_icon {
	margin: 0 0px 0 30px !important;
}

.icon.arriba {
    border-radius: 0;
}

@media (max-width: 809px) {
    .icon.arriba {
        right: 20px;
        bottom: 5px;
        width: 25px;
        height: 25px;
    }
}

@media (max-width: 809px) {
    .header.module_container.sticky_header .menu-principal {
        background-color: #fff;
        padding: 50px 0;
    }
}
@media (min-width: 810px) {
    .header.module_container.sticky_header .menu-principal {
        margin: 0 0 0 0;
    }
}

@media (min-width: 810px) {
.header.module_container.sticky_header .menu-principal .menu_bbx1 {
		justify-content: center;
		margin-left: calc(50% - 320px);
	}
}

.menu_icon.whatsapp {
	margin: 20px auto !important;
	max-width: 50px;
}

@media (min-width: 810px) {
    .menu_icon.whatsapp {
        margin: 0 10% 0 auto !important;
    }
}


/***********/
body.body_PAGINA:has(.principal .promociones) .module_586.header.sticky_header,
body.body_PAGINA:has(.principal .promociones) .module_865.footer {
	display: none;
}

body.body_PAGINA #PAGINA section.principal:has(article.promociones) {
	margin-top: 0 !important;
} 


/***********/





.menu-principal .menu_1_box ul.menu_bbx1 li.menu_icon span {
	width: 60px;
	height: auto;
	padding: 0;
}

.menu-principal .menu_1_box img {
	width: 100%;
	height: auto;
}

.banners-centrales-horizontales {
	--cols-spacing: 4rem;
    padding: 0 25% 20px 25%;
    margin-top: 0px;
}

@media (min-width: 810px) {
    .banners-centrales-horizontales {
        padding: 0 10% 20px 10%;
        margin-top: -190px;
    }    
}

.sharpened-shadow-articles article {
    filter: drop-shadow(12px 12px 0px #009dda33);
}
.sharpened-shadow-articles article:nth-of-type(2) {
    filter: drop-shadow(12px 12px 0px #ffb31d33);
}
.sharpened-shadow-articles article:nth-of-type(3) {
    filter: drop-shadow(12px 12px 0px #ff008033);
}

@media (max-width: 809px) {
    .body .cuerpo_del_portal > .content > article.pagina.inicio {
        margin-top: 0px !important;
        padding: 0 !important;
        min-height: 45vh;
    }
}

.principal > .content > article:not(.banner) > .article_base > .article_box_container,
.cuerpo_del_portal > .content > article:not(.banner) > .article_base > .article_box_container {
    max-width: 1400px;
    width: 80%;
}




.banners-inferiores-horizontales-2 {
	--cols-spacing: 3rem;
	background-image: url(../archivos/background_soluciones_svg_230425_03095.svg);
    --cols-spacing: 3rem;
	padding: 30px 10% 70px 10%;
	max-width: unset;
	min-height: 52vw;
	margin-bottom: 0 !important;
}

@media (min-width: 810px) {
    .banners-inferiores-horizontales-2 {
        padding: 170px 20% 70px 20%;
    }
}

.banners-inferiores-horizontales-2:before {
	content: "";
	background-image: url(../archivos/titulo-soluciones.svg);
	height: 12vw;
	flex: none;
	width: 80%;
	margin: -21vw auto 0;
	position: absolute;
}
@media (min-width: 810px) {
    .banners-inferiores-horizontales-2:before {
        height: 5vw;
        width: 100%;
        margin: -10vw auto 0;
    }
}


/**/


@media (min-width: 810px) {
    .body_PAGINA #PAGINA section.principal > .content > article, 
    .body_ARTICULO #ARTICULO section.principal > .content > article {
        padding: 0 !important;
    }
}

body .footer .content {
    max-width: unset;
}

.footer-content {
	padding-left: 15%;
}
@media (min-width: 810px) {
    .footer-content {
        padding-left: 10%;
    }
}

.footer h3 {
	font-size: 1.4rem !important;
	font-weight: 600;
}    

.texto ul.contact_list.contact_list-vertical li {
    margin: 0 0 7px 0;
}

iframe.google-maps {
	margin: 0 0 0 -18%;
	filter: hue-rotate(45deg);
	width: 100vw;
	height: 83vw !important;
}

@media (min-width: 810px) {
    iframe.google-maps {
        margin: -180px 0px;
        width: 100%;
        height: inherit !important;;
    }
}


.zoom-hover article:hover {
	transform: scale(1.02) rotate(1deg);
}



body .btn_menu_menu_1 .icon {
	filter: invert(100%);
	background-color: unset;
	border-radius: 0;
	background-size: 86%;
	background-position: center;
}

.qr_card_container {
    margin: auto;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.qr_card {
	width: 500px !important;
	height: 800px;
    font-family: var(--tipografia);
	position: relative;
	z-index: 1;
}

.qr_card h1 {
    text-align: center;
    padding: 5px;
    margin-top: 10px;
    color: #fff;
    font-size: 48px;
    line-height: 100%;
    font-weight: 700;
}

.qr_card_header {
    display: flex;
    opacity: 0;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: #fff;
}

.qr_card-btn_bg + span {
	/* position: absolute; */
	display: flex;
	width: 100%;
	justify-content: center;
	margin-top: -25px;
}

.qr_card_body {
	margin: 200px 0 0 0;
}

@media print {
    .qr_card_body {
        margin: -120px 0 0 0;
    }
    body .qr_card_body h1 {
        color: #fefefe !important;
        background-color: transparent !important;
    }
}

.qr_card_footer {
	position: relative;
	display: flex;
	justify-content: center;
}

.qr_card-isotipo_ciab_container.isotipo_ciab_container {
	margin: 20px -85px 0 20px;
}

.card_primt_background {
	position: absolute;
	overflow: hidden;
	width: 500px;
	top: 0;
}

.card_primt_background img {
	margin: 0;
	width: 100%;
}

body #PAGINA section.principal:has(.promociones),
.promotions_list_header {
    background-image: url(../archivos/app_background_1.svg?V2);
    margin: 0 !important;
    max-width: 420px;
    padding: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 0;
}


.promotions {
	width: 100%;
}

.promotions:after {
	content: "";
	width: 100vw;
	height: 100vw;
	position: fixed;
	background-color: var(--c1);
	z-index: -1;
	bottom: -50vw;
	transform: skew(0deg, -10deg);
}

.promotions_list_header {
	background-color: #fff;
    background-image: url(../archivos/app_background_2.svg?V2);
	position: fixed;
	margin: 0px 0 0 0 !important;
	padding: 30px 0 0 0;
	background-size: cover;
	background-position: -30px 0;
	z-index: 5;
	box-shadow: 0 0 70px #0003;
}

.promotions_list_body {
	padding-top: 150px !important;
}

/***/

.inicio-container {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(3, 1fr);
	width: 100vw;
	height: 100vh;
	position: absolute;
	top: 35px;
	left: -10vw;
	overflow: hidden;
	z-index: 1;
}

.inicio-container-box {
  background: #0003;
  min-height: 80px;
  min-width: 80px;
  transition: background 0.3s;
  position: relative;
}

/* Position each box in the grid */
.inicio-container-box__1  { 
    grid-column: 1; 
    grid-row: 1; 
	background-color: #0006;
}
.inicio-container-box__2  { 
    grid-column: 2; 
    grid-row: 1; 
}
.inicio-container-box__3  { 
    grid-column: 3; 
    grid-row: 1; 
}
.inicio-container-box__4  { 
    grid-column: 4; 
    grid-row: 1; 
}
.inicio-container-box__5  { 
    grid-column: 5; 
    grid-row: 1; 
	background-color: #0005;
}
.inicio-container-box__6  { 
    grid-column: 1; 
    grid-row: 2; 
}
.inicio-container-box__7  { 
    grid-column: 2; 
    grid-row: 2; 
	background-color: #189bd755;
}
.inicio-container-box__8  { 
    grid-column: 3; 
    grid-row: 2; 
}
.inicio-container-box__9  { 
    grid-column: 4; 
    grid-row: 2; 
}
.inicio-container-box__10 { 
    grid-column: 5; 
    grid-row: 2; 
}
.inicio-container-box__11 { 
    grid-column: 1; 
    grid-row: 3; 
}
.inicio-container-box__12 { 
    grid-column: 2; 
    grid-row: 3; 
}
.inicio-container-box__13 { 
    grid-column: 3; 
    grid-row: 3; 
}
.inicio-container-box__14 { 
    grid-column: 4; 
    grid-row: 3; 
	background-color: #0007;
}
.inicio-container-box__15 { 
    grid-column: 5; 
    grid-row: 3; 
	background-color: #fff5;
}

.inicio-container-box__17 { 
    grid-column: 6; 
    grid-row: 1; 
}
.inicio-container-box__18 { 
    grid-column: 6; 
    grid-row: 2; 
	background-color: #0b1b4d8f;
}
.inicio-container-box__19 { 
    grid-column: 6; 
    grid-row: 3; 
}

/* Box 16 floats over the grid, centered */
.inicio-container-box__16 {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 10;
	transform: translate(-50%, -50%);
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 4px 32px rgba(0, 0, 0, 0.10);
	padding: 5vh 3vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 28%;
	min-width: 240px;
	min-height: 220px;
}

.logo-inicio-container {
	margin-bottom: 24px;
	max-width: 50vw;
	width: 60%;
}

img.logo-inicio {
	width: 100% !important;
}

.slogan-inicio {
	font-size: clamp(1.3rem, 28px, 6vw);
	color: #1a1a1a;
	text-align: center;
	font-weight: 500;
	line-height: 1.3;
	margin: 0;
	font-weight: 700;
	line-height: 105%;
}



.estudios-adicionales .item_list_img {
	filter: invert(50%) sepia(100%) saturate(540%) hue-rotate(170deg);
}

.estudios-adicionales li:hover .item_list_img {
    filter: invert(100%) sepia(100%) saturate(540%) hue-rotate(170deg);
}
.estudios-adicionales .item_list_title {
	color: var(--c5);
	font-weight: 800;
	font-size: 1.7rem;
	margin-bottom: 17px;
}
.estudios-adicionales li:hover .item_list_title {
	color: var(--c4);
}


.estudios-adicionales h2 {
	margin-bottom: 70px;
}

.estudios h2 {
	margin-bottom: 70px;
	color: #fff;
}


article#id_150 {
	margin-top: -160px;
}

article#id_152 {
	background-color: #eee;
	margin-top: 70px;
	padding: 0;
}

#id_152 .article_base.tabla {
	background-color: #254d6db5;
}

article#id_152 .list-item {
	display: flex;
	flex: calc(33% - 20px);
	margin: 10px;
	background-color: #fafafadd;
	align-items: center;
	justify-content: center;
	padding: 20px 10px 15px;
	font-size: 0.9rem;
}
    
article#id_152 .list-item:hover {
	background-color: #15223ddd;
}
    
article#id_152 .item_list_title {
	font-size: clamp(1.3rem, 20px, 6vw);
}


article#id_153 {
	padding: 0;
}

article#id_154 .bbx-box-container {
    flex: 1;
    display: flex;
    flex-direction: row;
    gap: 30px;
    justify-content: center;
		flex-wrap: wrap;
}


article#id_154 .table-row.article_box_container {
	padding: 30px 0 140px;
}



.bbx-box-container {
	flex: 1;
	display: flex;
	flex-direction: row;
	gap: 30px;
	justify-content: center;
}

.bbx-box-container > a {
	display: flex;
}

.bbx-box {
	display: flex;
	width: auto;
	justify-content: center;
	align-items: center;
	background-color: #0076af;
	border-radius: 0;
	box-shadow: 0 0 20px #0002;
	padding: 20px;
	margin: 0;
	max-width: 80vw;
}

.bbx-box.inicio-box {
    background-color: #fff;
		height: 100%;
}


.box-title {
	margin: 0;
	font-size: 1.1rem;
    color: #fafafa;
}

.bbx-box img {
	width: 100%;
    filter: invert(1);
}

.bbx-box.horarios-box {
	justify-content: center;
	width: 100%;
	margin: 40px 0;
	gap: 30px;
}

.bbx-box.horarios-box h4.box-title {
	width: 30%;
	font-weight: 900;
	font-size: 1.2rem;
	position: relative;
}

.horarios-box-content {
	display: flex;
	gap: 20px;
	width: 100%;
	text-align: center;
}

.horarios-box-item {
	display: flex !important;
	width: 40%;
	text-align: center !important;
	flex-direction: column;
    color: #fafafa;
}

.bbx-box.inicio-box.inicio-box-2 {
    background-color: #0c2759;
}

.bbx-box.inicio-box.inicio-box-3 {
    background-color: #5f1b45;
}

.bbx-box.horarios-box:before {
	content: "";
	position: relative;
	border: solid 10px #f5f5f5;
	height: 410px;
	width: 620px;
	transform: rotate(15deg);
	left: -140px;
	margin: -260px -540px -245px -20px;
	background-color: #212d41;
}

.bbx-box.horarios-box {
	background-color: #555;
	overflow: hidden;
}


.squares-detail-page-design__box.sdpd-3-box_37, 
.squares-detail-page-design__box.sdpd-3-box_38, 
.squares-detail-page-design__box.sdpd-3-box_3, 
.squares-detail-page-design__box.sdpd-3-box_11, 
.squares-detail-page-design__box.sdpd-3-box_12 {
	background-color: #1d2a7a26;
}

.squares-detail-page-design__box.sdpd-3-box_80, 
.squares-detail-page-design__box.sdpd-3-box_72 {
	background-color: #0076af2e;
}

.squares-detail-page-design__box.sdpd-3-box_70, .squares-detail-page-design__box.sdpd-3-box_59 {
	background-color: #3333;
}

.squares-detail-page-design__box.sdpd-3-box_63, .squares-detail-page-design__box.sdpd-3-box_67, .squares-detail-page-design__box.sdpd-3-box_62, .squares-detail-page-design__box.sdpd-3-box_65 {
	background-color: #5551;
}


.map_container {
	height: 270px;
	background-color: dodgerblue;
	max-width: 74vw;
}

.google_maps_link {
	position: absolute;
	background-color: #eee;
	color: #888;
	padding: 1px 9px;
	width: fit-content;
	right: 10px;
	bottom: 10px;
}

.map_container iframe {
	margin: -20vw 0 0 -24vw;
	opacity: 0.8;
	filter: drop-shadow(2px 4px 6px black);
	width: 100vw;
	height: 110vw !important;
}
@media (min-width: 810px) {
.map_container iframe {
	margin: -90px 0 0 -14vw;
	opacity: 0.8;
	filter: drop-shadow(2px 4px 6px black);
	width: 60vw;
	height: 42vw !important;
}
}

article#id_156 {
	background-color: #568;
	color: #fafafa;
}

article#id_156 h4,
article#id_156 h2 {
	color: #fafafa;
}

a.google_maps_link.google_maps_link_1 {
	left: 20px;
}


body #PAGINA section.principal:has(:not(.promociones)) {
	margin-top: 200px !important;
}





.indicaciones_card {
	background-color: #fafafa;
	padding: 20px;
	box-shadow: 0 0 20px #0003;
	margin-bottom: 20px;
}
.indicaciones_card h3 {
	margin-top: 0;
	color: var(--c2);
	font-weight: 700;
}
.indicaciones_card p {
	color: #333;
	font-size: 1rem;
	line-height: 1.4;
}
.indicaciones_card_body {
	border: unset;
}