@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

:root {
  box-sizing: border-box;
  --clr000: #000;
  --clr001: #073044;
  --clr002: #1b624f;
  --clr003: #00b973;
  --clr004: #c0f4f9;
  --clr005: #3b82ea;
  --clr006: #dd6b58;
  --mainShadow: 0 0 5px rgb(0 0 0 / 30%);
  --noneShadow: none;
  --filterW: brightness(0) saturate(100%) invert(99%) sepia(1%) saturate(0%) hue-rotate(169deg) brightness(114%) contrast(100%);
  --filterM: brightness(0) saturate(100%) invert(21%) sepia(59%) saturate(7499%) hue-rotate(354deg) brightness(98%) contrast(127%);
}

html {scroll-padding-top: 88.4px;} /* altura de la navbar fija */

* {
	-webkit-transition: 300ms;
	-moz-transition: 300ms;
	-o-transition: 300ms;
	transition: 300ms;
}
body {
	font-family: "Roboto", sans-serif;
	position: relative;
	font-weight: 400;
	background: transparent;
	color:#232323;
	font-size: 22px;
	line-height: 1.2;
	overflow-x: hidden;
}

body  section{
	padding: 1em 0;
	position: relative;
	min-height: 50vh;
}

a:hover,
a:focus {
	outline:none;
	outline-offset: 0;
	text-decoration:none;
	color:#232323;
}

a {color:var(--clr001);text-decoration:none;}

h1, h2, h3, h4, h5, h6 {
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	line-height: 1.1;
}

img {width:100%; pointer-events: none;}
.center {text-align: center!important;}
.right_ {text-align: right!important;}
.justify {text-align: justify!important;}
.justifyc {text-align: justify;text-align-last: center;}
.no_drop {cursor: no-drop;}

.imgc {
display: block;
margin-right: auto;
margin-left: auto;
text-align: center;
}

.upp_ {
    text-transform: uppercase;
}

.bg_w {background: #fff;}

.marg_00 {margin: 0;}
.padd_00 {padding: 0!important;}

.no_marg {margin-left: 0; margin-right: 0;}
.no_padd {padding-left: 0; padding-right: 0;}

.dly1{ animation-delay: 0.2s;}
.dly2{ animation-delay: 0.4s;}
.dly3{ animation-delay: 0.6s;}
.dly4{ animation-delay: 0.8s;}
.dly5{ animation-delay: 1.0s;}
.dly6{ animation-delay: 1.2s;}
.dly7{ animation-delay: 1.4s;}
.dly8{ animation-delay: 1.6s;}
.dly9{ animation-delay: 1.8s;}
.dly10{ animation-delay: 2.0s;}
.dly11{ animation-delay: 2.2s;}
.dly12{ animation-delay: 2.4s;}

.cont_10 {width: 10%;}
.cont_20 {width: 20%;}
.cont_30 {width: 30%;}
.cont_33 {width: 33%;}
.cont_40 {width: 40%;}
.cont_50 {width: 50%;}
.cont_60 {width: 60%;}
.cont_70 {width: 70%;}
.cont_80 {width: 80%;}
.cont_90 {width: 90%;}

.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
    outline: 0px auto transparent;
    outline-offset: -2px;
}
button.active.focus, button.active:focus, button.focus, button:active.focus, button:active:focus, button:focus {
    outline: 0px auto transparent;
    outline-offset: -2px;
}
a.active.focus, a.active:focus, a.focus, a:active.focus, a:active:focus, a:focus {
    outline: 0px auto transparent;
    outline-offset: -2px;
}

hr {margin: 5px auto;border-top: 2.5px solid #efefef;width: 100%; opacity: 1;}

.btn { line-height: 1; }

.video_yt{width:100%;box-shadow:0 23px 15px -25px #000;margin:10px auto;position:relative; border-radius: 1em;}
.video_yt .ratio>* {border-radius:1em} 

.align_c {
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.w90 {width: 90%;margin:0 auto;}
.w70 {width: 70%;}
.w80_ {width: 80%;padding: 0 15px;margin: 0 auto;}
.w50 {width: 50%;}

.carousel-control {
    font-size: 10px;
	opacity: 0;
}

.carousel-control .icon-prev, 
.carousel-control .icon-next, 
.carousel-control .fa-angle-left, 
.carousel-control .fa-angle-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.carousel-control.left {
    background-image: -webkit-linear-gradient(left,color-stop(transparent 0),color-stop(rgba(0,0,0,0.0001) 100%));
    background-image: linear-gradient(to right,transparent 0,rgba(0,0,0,0.0001) 100%);
}
.carousel-control.right {
    background-image: -webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(transparent 100%));
    background-image: linear-gradient(to right,rgba(0,0,0,0.0001) 0,transparent 100%);
}

.carousel-indicators .active{
	background-color: #4FBDBA !important;
	width: 50px!important;
}

.carousel-indicators .active{background-color: #fff !important;}

.btn_00 {
	background: var(--clr001);
	color: #fff;
	border-radius: 5px;
	border: none;
	padding: 10px 20px;
	font-size: 22px;
	margin: 10px auto;
	letter-spacing: 0;
}
.btn_00:focus,
.btn_00:hover {
	background: #232323;
	color: #fff;
}

.btn_01 {
	background: var(--clr006);
	color: #fff;
	border-radius: 5em;
	border: none;
	padding: 1rem 2rem;
	margin: 10px auto;
	letter-spacing: 0;
}
.btn_01:focus,
.btn_01:hover {
	background: var(--clr003);
	color: #fff;
}

.btn_02 {
    background: #b5b5b5;
    color: #fff;
    border-radius: 5px;
    border: none;
    padding: 10px 40px;
    font-size: 18px;
    margin: 25px auto;
    text-transform: uppercase;
    letter-spacing: 3px;
    display: block;
}
.btn_02:focus,
.btn_02:hover {
	background: var(--clr001);
	color: #fff;
}

.fw_100 {font-weight: 100;}
.fw_200 {font-weight: 200;}
.fw_300 {font-weight: 300;}
.fw_400 {font-weight: 400;}
.fw_500 {font-weight: 500;}
.fw_600 {font-weight: 600;}
.fw_700 {font-weight: 700;}
.fw_800 {font-weight: 800;}
.fw_900 {font-weight: 900;}

.fs_003 {font-size: calc(0.3rem + 0.3vw);}
.fs_005 {font-size: calc(0.5rem + 0.5vw);}
.fs_008 {font-size: calc(0.8rem + 0.8vw);}
.fs_01 {font-size: calc(1rem + 1vw);}
.fs_01_2 {font-size: calc(1.2rem + 1.2vw);}
.fs_01_3 {font-size: calc(1.3rem + 1.3vw);}
.fs_01_5 {font-size: calc(1.5rem + 1.5vw);}
.fs_02 {font-size: calc(2.5rem + 2vw);}
.fs_03 {font-size: calc(3rem + 3vw);}
.fs_04 {font-size: calc(4.5rem + 4vw);}
.fs_05 {font-size: calc(5.5rem + 5vw);}
.fs_08 {font-size: calc(8rem + 8vw);}
.fs_10 {font-size: calc(10rem + 10vw);}
.fs_70 {font-size: 70%;}

.clr_00 {color: #fff!important;}
.clr_01 {color: var(--clr001);}
.clr_02 {color: var(--clr002);}
.clr_03 {color: var(--clr003);}
.clr_04 {color: var(--clr004);}
.clr_05 {color: var(--clr005);}
.clr_06 {color: var(--clr006);}

.bg_00 {background: #fff!important;}
.bg_01 {background: var(--clr001);}
.bg_02 {background: var(--clr002);}
.bg_03 {background: var(--clr003);}
.bg_04 {background: var(--clr004);}
.bg_05 {background: var(--clr005);}
.bg_06 {background: var(--clr006);}

.poss {position: relative;}

.hide_ {display:initial!important;}
.show_ {display: none!important;}

.cont_w100 {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between;
}

#gral {padding: 5em 0 1em;}

.video_event {
    width: 50%;
    margin: 25px auto 10px;
    position: relative;
    float: right;
    padding: 10px;
}
.center_y_flex {justify-content: center;}

#iframe_flipbook {
    /*aspect-ratio: 16 / 9;*/
    width: 100%;
    height: 100vh;
    overflow: hidden;
    margin: 0 0 -6px;
    border-radius: 0em;
}
#iframe_flipbook_16_9 {
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
    margin: 0 0 -6px;
    border-radius: 0em;
}
#iframe_flipbook_1_1 {
    aspect-ratio: 1 / 1;
    width: 100%;
    overflow: hidden;
    margin: 0 0 -6px; 
    border-radius: 1em;
}

.iframe_model {height: 80vh;margin: 0 0 -7px;}

.doc_ivt {
    height: 100vh;
    margin: 0 0 -10px;
}

.share_wa {
    position: absolute;
    right: 8rem;
    top: 10px;
    width: fit-content;
    margin: 0 auto;
    background: #25d366;
    color: #fff;
    border: none;
    padding: 5px 15px;
    border-radius: 2em;
    box-shadow: 0 0 5px #000;
    font-size: 85%;
}
.share_wa:hover {
    background: #128c7e;
    color: #fff;
}

::selection{color: var(--clr006);background: transparent;}

/************ MODALS STYLE ************/
.modal-open .modal {backdrop-filter: blur(5px);}
body.modal-open {padding-right: 0 !important; /* Desactiva la compensaci�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77771�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77777�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77771�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77777n autom�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77771�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77777�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77771�1�71�1�771�1�71�1�7771�1�71�1�771�1�71�1�77777tica de margen */} /*EVITA QUE SALTE LA PAGINA AL ABRIR MODAL overflow: auto!important;*/
.navbar {padding-right: 0 !important; /* Evita que el padding dinamico afecte la navbar */}

.modal-dialog {
	width: 100%;
	margin: 0;
}
.modal-content {
    border: 0px solid #FFF;
    border-radius: 0;
    -webkit-box-shadow: 0 0 0 #FFF;
    box-shadow: 0 0 0 #FFF;
    background-color: transparent;
    width: 100vw;
}
.modal-header {
    padding: 15px;
    border-bottom: 0px solid #fff;
    background: var(--clr001);
    text-align: center;
    justify-content: center;
}
.modal-header h4 {
    font-size: 2.5rem;
    margin: 0;
}
.modal-title {
    font-size: 44px;
    letter-spacing: 0px;
	color: #fff;
}
.close {
    top: 5px;
    right: 0px;
    left: unset;
    opacity: 1;
    position: absolute;
    font-size: 3rem;
    font-weight: 400;
    background: var(--clr001);
    color: #fff;
    padding: 0 0;
    width: 50px;
    height: 45px;
    line-height: 1;
    border-radius: 1em 0 0 1em;
    text-align: center;
    border: none;
}
.close:hover, .close:focus {
    background: var(--hvr_color);
    color: #fff;
    opacity: 1;
}

.modal-dialog .btn_00 {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 10;
    font-size: 1rem;
    padding: 5px 10px;
    margin: 0;
}

/*********** ANIMATIONS ****************/

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}
.fadeIn {animation-name: fadeIn;}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}

/*********** PANEL COLLAPSE ****************/

.accordion-button::after {
    content: '';
}
.accordion-button .icon {
    transition: transform 0.3s ease;
}
.accordion-button.collapsed .icon {
    transform: rotate(0deg);
}
.accordion-button:not(.collapsed) .icon {
    transform: rotate(180deg);
}
/*CUSTOM COLLAPSE*/
.accordion-button:focus {box-shadow: var(--noneShadow);}

.accordion-button {
    font-size: 1.5rem;
    font-weight: 700;
    background: #232323;
    color: #fff;
}
.accordion-button::after {filter: brightness(0) saturate(100%) invert(100%) sepia(8%) saturate(0%) hue-rotate(157deg) brightness(107%) contrast(107%);}
.accordion-button:hover {
    background: var(--clr001);
    color: #fff;
}
.accordion-button:not(.collapsed) {
    color: #fff;
    background: var(--clr001);
    box-shadow: inset 0 calc(-1* var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-body {
    max-height: 200px;
    overflow: auto;
}

/*********** GALERIA LIGHTBOX ****************/
.lb_  { background: #fff; position: relative; width: 100%; margin: 0 0 10px; }
.lb__  { background: #fff; position: relative; width: 100%; margin: 0 0 10px; }
.tz-gallery .lightbox img { width: 100%; border-radius: 0; position: relative; }
.tz-gallery .lightbox:hover img { opacity: 0.3; -webkit-filter: blur(5px); filter: blur(3px);}
.tz-gallery .lightbox:before {
    position: absolute;
    top: 45%;
    left: 0;
    right: 0;
    margin: -15px 0 0;
    opacity: 0;
    color: var(--clr001);
    font-size: 50px;
    font-family: fontawesome;
    content: "\f002";
    pointer-events: none;
    z-index: 1;
    transition: 0.4s;
    text-align: center;
}
.tz-gallery .lightbox:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: transparent;
    content: '';
    transition: 0.4s;
}
.tz-gallery .lightbox:hover:after, .tz-gallery .lightbox:hover:before { opacity: 1; }
.baguetteBox-button { background-color: transparent !important; }
#baguetteBox-overlay .full-image img { box-shadow: none;background: transparent;}

.gall_img img {
    border-radius: 1em !important;
}

.small_gall {
    display: inline-grid;
    position: relative;
    padding: 10px;
    width: 6em;
}


/*********** FIN GALERIA LIGHTBOX ****************/

table .tz-gallery .lightbox:before {
    position: relative;
    display: none;
}
table .tz-gallery .lightbox:after {
    position: unset;
}
#nolupa .tz-gallery .lightbox:before {
    position: relative;
    display: none;
}
#nolupa .tz-gallery .lightbox:after {
    position: unset;
}


/***********BOOTSTRAP 5.3****************/

.form-control:focus, .form-select:focus {
    border-color: var(--clr003);
    box-shadow: none;
}

#gral_pills .nav-pills .nav-link {
    color: var(--light_clr);
    background-color: var(--gray_color);
    border: 4px solid transparent;margin: 0 5px;
    font-weight: 500;
}
#gral_pills .nav-pills .nav-link.active,#oem_pills .nav-pills .show>.nav-link {
    color: var(--clr001);
    background-color: transparent;
    border: 4px solid var(--clr001);
}

/************ NUEVO FORM GOOGLE ***********/

.input_hidden {display: none;}

#loading_oculto{
    z-index: 1050;
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    visibility: hidden;
    transform: translate(0, -50%);
    background: rgb(0 0 0 / 50%);
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
}
#loading_oculto img{
    filter: var(--filterW)
    width: 120px;
    margin: 0 auto;
}

/************ FIN NUEVO FORM GOOGLE ***********/

/*====================
======Header CSS=====
======================*/

#navigation .navbar {
    background: #fff;
    border-radius: 0;
    border-bottom: 0;
    box-shadow: var(--mainShadow);
    padding: 1vw;
    display: inline;
}

.logo {
    width: 170px;
    padding: 5px;
}

.dropdown-item {
  color: #fff;
}
.dropdown .dropdown-menu {
  display: none;
  background: #fcfcfc;
}
.dropdown:hover>.dropdown-menu, 
.dropend:hover>.dropdown-menu {
    display: block;
    right: 0;
    margin: 0;
    padding: 0;
    border: none;
    /*border-radius: 0 0 10px 10px;*/
    box-shadow: 0 5px 15px -5px rgb(0 0 0 / 30%);
    min-width: 240px;
}
@media screen and (min-width:769px) {
  .dropend:hover>.dropdown-menu {
    position: absolute;
    top: 0;
    left: 100%;
  }
  .dropend .dropdown-toggle {
    margin-left: .5em;
  }
}

#navigation .dropend .dropdown-toggle::after {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 10px;
}

#navigation .navbar-brand {padding: 0;}
#navigation .navbar-right {padding: 0 1rem 0 0;}

#navigation .nav-link {background: transparent;color: #232323;padding: 0.5vw 1.5vw;}
#navigation .nav-link:hover {background: transparent;color: var(--clr003);}
#navigation .nav-link.active {background: transparent;color: var(--clr003);}

#navigation .dropdown-menu li .nav-link {text-transform: uppercase;background: transparent;color: #232323;padding: 5px 25px 5px 10px;margin: 0;display: flex;align-items: center;white-space: break-spaces;}
#navigation .dropdown-menu li .nav-link span{display: block; font-size: 80%;}
#navigation .dropdown-menu li .nav-link:hover {background: transparent;color: var(--clr001);}

#navigation .dropdown-item {
    text-transform: uppercase;
    color: #232323;
    padding: 5px 10px;
    white-space: break-spaces;
    display: flex;
    align-items: center;
    line-height: 1.1;
}
#navigation .dropdown-menu li .nav-link img,
#navigation .dropdown-item img{
    width: 30px;
    height: 30px;
    margin: 0 5px 0 0;
}
#navigation .dropdown-menu li .nav-link:hover .clr_hvr,
#navigation .dropdown-item:hover .clr_hvr{
    filter: var(--filterM)
}
#navigation .dropdown-item:hover {color: var(--clr001);}

#navigation .navbar-toggler {
    margin: 0 10px;
    background: rgb(0 0 0 / 100%);
    color: #fff; 
}
#navigation .navbar-toggler:focus {
    box-shadow: none;
    background: rgb(0 0 0 / 50%);
}
#navigation .navbar-toggler-icon {
    background-image: url(../img/burg.svg);
}
#navigation .dropdown-item.active, #navigation .dropdown-item:active {
    color: var(--clr001);
    text-decoration: none;
    background-color: transparent;
}

#navigation .nav_link {border-radius: 5vw;background: var(--clr006);color: #fff;text-align: center;padding: 0.5rem 1rem;display: block;}
#navigation .nav_link:hover {background: var(--clr003);color: #fff;}
#navigation .nav_link.active {
    background: var(--clr001);
    color: #fff;
    position: relative;
}

/********/

/************ NUEVO BUSCADOR GENERAL ***********/

#Busc_ {
    position: relative;
}
.busc_ba_cont {display: inline-flex;}
#Busc_ .btn_search_close {
    background: transparent;
    color: #aaa;
    font-size: 13px;
    border-radius: 50%;
    position: absolute;
    width: 21px;
    top: 50%;
    right: 1px;
    z-index: 1;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    padding: 0px;
    margin: 0;
}
#Busc_ .form-control {
    padding: 5px 10px;
    margin: 0;
    border-radius: 5px;
    width: 16em;
    height: 25px;
}
#Busc_ ul {
    list-style: none;
    padding-inline-start: 0;
    font-size: 20px;
    max-height: 280px;
    overflow: auto;
    position: absolute;
    z-index: 1000;
    background: #fff;
    width: 13em;
    box-shadow: 0 10px 10px -5px rgb(0 0 0 / 30%);
    top: 30px;
    right: -2px;
    border-radius: 10px;
}
#Busc_ ul li {
    padding: 0.5rem 1rem;
    margin: 5px 0;
    float: unset;
    background: transparent;
    color: #000;
    border-radius: 5px;
    display: block;
    list-style: none;
    position: relative;
}
#Busc_ ul li a:before {
    background: url(../img/scroll_search.webp) no-repeat;
    content: '';
    display: inline-block;
    height: 25px;
    width: 39px;
    position: absolute;
    left: 0px;
    top: 5px;
}
#Busc_ ul li:hover, #Busc_ ul li a:hover{ background: #f3f3f3; cursor: pointer;}

#Busc_ ul li a{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: 30px;
    padding: 5px 25px;
    margin: 0 0 0 10px;
    color: #232323;
}

/* width */
#Busc_ ::-webkit-scrollbar { width: 10px; } /*width: 10px;*/
/* Track */
#Busc_ ::-webkit-scrollbar-track { border-radius: 2em; background: #ddd; }
/* Handle */
#Busc_ ::-webkit-scrollbar-thumb { border-radius: 2em; background: #555; }

/** FOOTER SECTION **/

footer {
	background: #181818;
    padding: 20px 0;
    color: #fff;
    position: relative;
}
footer p {margin: 0;}
footer a {color: #fff;}
footer a:hover, footer a:focus {color: var(--clr001);}

#footer_main {
    box-shadow: 0 -3em 1em -3em rgb(0 0 0 / 20%);
    position: relative;
    z-index: 1029;
    background: var(--clr001);
    color: #fff;
    padding: 3vw 0 1px;
}

#footer_main .logo {filter: var(--filterW);}
#footer_main hr {
    margin: 2rem auto;
    border-top: 1.5px solid #efefef;
}
#footer_main a {color: #fff;}
#footer_main a i {color: var(--clr006);padding: 0 15px 0 0;}
#footer_main a:hover {color: var(--clr003);}
#footer_main ul {
    padding: 0;
    list-style: none;
}
#footer_main ul li {margin: 0 0 1rem;}
#footer_main ul li:last-child {margin: 0;}
#footer_main ul li img {
    width: 22px;
    margin: 0 15px 0 0;
}

#footer_main .cont_form {
    display: flex;
    justify-content: flex-end;
    font-size: 80%;
}
#footer_main .form-control {
    font-size: unset;
    border-radius: 0;
    width: fit-content;
    min-width: 35%;
}
#footer_main .form-control:focus, #footer_main .form-select:focus {
    border-color: var(--clr006);
    box-shadow: none;
}
#footer_main .btn_01 {
    border-radius: 0;
    padding: 1rem 2rem;
    margin: 0;
}

#ftr_btm {min-height: unset;}

#btm_last {
    background: var(--clr001);
    padding: 0 0 2vw;
    text-align: center;
    color: #fff;
    font-size: 1rem;
    min-height: unset;
}

#btm_last p {
    margin: 0;
}

#btm_last a {color: var(--clr006);}
#btm_last a:hover,
#btm_last a:focus {
	color: var(--clr003);;
}

/** FOOTER SECTION **/

.h_100 {height: 100vh !important;}
.tt_01 {text-transform: capitalize;}

/*OWL NEW*/
.owl-carousel {
    width: 100%;
    margin: 0 auto;
}
.owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    margin: 0 auto;
}
.owl-nav .owl-prev,
.owl-nav .owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
}
.owl-nav .owl-prev {
    left: 10px;
}
.owl-nav .owl-next {
    right: 10px;
}

.msg_idx {
    position: fixed;
    bottom: 0;
    z-index: 9999;
    width: 100%;
    padding: 0 2rem 1rem;
}
.close_msg_idx {
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 1030;
}
.card_msg_idx {
    position: relative;
    background: #d9d9d9;
    padding: 1rem;
    border-radius: 1rem;
}
.msg_idx a {color: var(--clr001);}
.msg_idx a:hover {color: var(--clr006);}

.bg_msg_custom {
    background: rgb(217 217 217 / 60%);
    backdrop-filter: blur(2rem);
}

/* NUEVO INDEX*/

#idx_bloq_01 {
    padding: 5vw 0;
    color: #fff;
    text-shadow: var(--mainShadow);
    min-height: 100vh;
    background-image: url(../img/bg_idx_01.webp);
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    z-index: 0;
}
#idx_bloq_01::before  {
    background: linear-gradient( transparent 50%, var(--clr001));
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
}
.pe_5 {padding-right: 5vw;}
.pe_20 {padding-right: 20vw;}

#idx_bloq_02 {
    padding: 0;
    min-height: 100vh;
}

#idx_bloq_03 {
    background-image: url(../img/obj_02.svg);
    background-size: cover;
    padding: 6vw 0;
}

.cont_bloq_02_01 {
    background-image: url(../img/idx_02.webp);
    background-size: cover;
    color: #fff;
    min-height: 500px;
}
.cont_bloq_02_02 {
    background-image: url(../img/bg_idx_02.svg);
    background-size: cover;
    padding: 6vw;
    color: #fff;
    display: flex;
    align-items: center;
}
.obj_bloq_02 {
    position: absolute;
    width: 90px;
    right: 1em;
    bottom: 1em;
}

.crsl_cont_bloq_03 {
    border-radius: 2rem;
    overflow: hidden;
}
.crsl_cont_txt_bloq_03 {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    gap: 2rem;
}
.crsl_sub_cont_bloq_03 {
    background: var(--clr001);
    color: #fff;
    display: flex;
    padding: 3vw;
    gap: 1rem;
    justify-content: center;
}

#idx_bloq_04 {
    padding: 0;
}

.card_sugar {
    color: #fff;
    background: white;
    min-height: 550px;
    position: relative;
    z-index: 0;
    
}
.card_sugar::before {
    background: linear-gradient( transparent 50%, var(--clr001));
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
}
.card_sugar .data_sugar {
    position: absolute;
    height: 95px;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    padding: 2rem;
    background: transparent;
    backdrop-filter: blur(0px);
    text-align: justify;
    font-size: calc(55% + 0.5vw);
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}
.card_sugar:hover .data_sugar {
    height: calc(100%);
    background: rgb(7 48 68 / 70%);
    backdrop-filter: blur(5px);
}
.card_sugar .data_sugar h3 {text-align: center;margin: 0 0 2rem;text-align:center;}
.bg_card_sugar_01 {background-image: url(../img/card_sugar_01.webp);background-size: cover;background-position: 60% 50%;}
.bg_card_sugar_02 {background-image: url(../img/card_sugar_02.webp);background-size: cover;background-position: 50% 50%;}
.bg_card_sugar_03 {background-image: url(../img/card_sugar_03.webp);background-size: cover;background-position: 50% 50%;}
.bg_card_sugar_04 {background-image: url(../img/card_sugar_04.webp);background-size: cover;background-position: 50% 65%;}
.bg_card_sugar_05 {background-image: url(../img/card_sugar_05.webp);background-size: unset;background-position: 50% 65%;object-fit: cover;}
.bg_card_sugar_06 {background-image: url(../img/card_sugar_06.webp);background-size: 100%;background-position: 50% 65%;object-fit: cover;}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
    color: rgb(255 255 255 / 50%);
    width: 60px;
    aspect-ratio: 1;
    background: rgb(255 255 255 / 10%);
    border-radius: 50%;
    border: 4px solid rgb(255 255 255 / 30%);
    backdrop-filter: blur(15px);
    font-size: calc(1.5rem + 1vw);
    display: flex;
    justify-content: center;
    align-items: center;
}

#idx_bloq_05 {
    padding: 8vw 0;
    background-image: url(../img/bg_idx_bloq_05.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

.cont_idx_bloq_05 {
    padding: 3rem;
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.br_3 {border-radius: 0.3rem;}
.br_5 {border-radius: 0.5rem;}
.img_fit_cover {
    height: 100%;
    object-fit: cover;
}

#idx_bloq_06 {
    padding: 8rem 0 10vw;
    background-image: url(../img/bg_idx_bloq_06.svg);
    background-size: cover;
    background-position: 50% 50%;
}

.map_bloq_06 {
    position: relative;
    padding: 0 15vw 5vw 5vw;
}
/* Tu código general para todos los navegadores */
.dots_map {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 0;
    list-style: none;
    width: 100%;
    height: 100%;
    z-index: 10;
    margin: 0;
}
.dots_map li {
    background: #fff;
    border: 3.5px solid var(--clr006);
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    animation: pulseShadow 2s infinite ease-out;
}
.dots_map li:nth-child(1) {top: 34%;left: 49%;}
.dots_map li:nth-child(2) {top: 37%;left: 49%;}
.dots_map li:nth-child(3) {top: 61%;left: 39%;}
.dots_map li:nth-child(4) {top: 69%;left: 42.5%;}
.dots_map li:nth-child(5) {top: 66%;left: 49.5%;}
.dots_map li:nth-child(6) {top: 53%;left: 50%;}
.dots_map li:nth-child(7) {top: 52%;left: 52%;}
.dots_map li:nth-child(8) {top: 72%;left: 60.5%;}
.dots_map li:nth-child(9) {top: 72%;left: 65%;}

@keyframes pulseShadow {
    0% {
        box-shadow: 0 0 0 0 rgb(221 107 88 / 90%);
    }
    100% {
        box-shadow: 0 0 0 0.5rem rgb(221 107 88 / 0%);
    }
}

.pins_map {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    height: 100%;
<:;
    z-index: 5;
}
.pins_map img {
    position: absolute;
    top: 0;
    left: 0;
    width: 350px;
}
.pins_map img:nth-child(1) {top: -13.5%;left: 32.3%;width: 22.8vw;}
.pins_map img:nth-child(2) {top: 0.3%;left: 42%;width: 24vw;}
.pins_map img:nth-child(3) {top: 0.2%;left: 50.5%;width: 45vw;}
.pins_map img:nth-child(4) {top: 22%;left: 52.3%;width: 43vw;}
.pins_map img:nth-child(5) {top: 51.3%;left: 65.5%;width: 32vw;}
.pins_map img:nth-child(6) {top: 73.4%;left: 61%;width: 34vw;}
.pins_map img:nth-child(7) {top: 70.8%;left: 36.8%;width: 25vw;}
.pins_map img:nth-child(8) {top: 65%;left: 12.8%;width: 33vw;}
.pins_map img:nth-child(9) {top: 23.3%;left: 5.8%;width: 30vw;}

#idx_bloq_07 {
    background-image: url(../img/bg_idx_bloq_07.svg);
    background-size: cover;
    background-position: 15% 50%;
    padding: 5vw 0;
    color: #fff;
}

#idx_bloq_07 .btn_01:focus, #idx_bloq_07 .btn_01:hover {background: var(--clr001);}

.cont_news {
    background: #fff;
    color: #333;
    overflow: hidden;
    border-radius: 0.5rem;
    margin: 0 0 2rem;
}

.news_idx {
    display: flex;
    width: 100%;
    gap: 1rem;
    margin: 0 0 1rem;
    align-items: center;
}
.news_idx:last-child {margin: 0;}
.news_idx .img_news_idx {
    height: 160px;
    max-width: 230px;
    object-fit: cover;
    border-radius: 0.5rem;
}
.img_link_news {
    width: 25px;
}
.news_idx a {color: var(--clr006);text-decoration: underline;display: flex; gap: 1rem;}
.news_idx a:hover {color: var(--clr003);}

.main_new {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 3vw;
    overflow: hidden;
    position: relative;
    z-index: 0;
    color: #fff;
}
.main_new::before {
    background: #000;
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.5;
}
.main_new img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -2;
    -webkit-transition: 1900ms;
    transition: 1900ms;
}
.main_new:hover img {
    transform: scale(1.2);
}
.main_new:hover a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

/* FIN NUEVO INDEX*/

#main_top {
    padding: 5vw 0;
    color: #fff;
    text-shadow: var(--mainShadow);
    min-height: 80vh;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}
#main_top::before {
    background: linear-gradient( transparent, var(--clr000));
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
}

/* ====== NOSOTROS ====== */

.bg_top_us {
    background-image: url(../img/top_us.webp);
    z-index: 0;
}

#uss_bloq_01 {
    padding: 5vw 0;
    background-image: url(../img/bg_us_02.webp);
    background-size: cover;
    background-position: top;
}

.cont_us_line {
    min-height: 93vh;
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    justify-content: center;
}

.date_us_line {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    border-radius: 50%;
    width: 7vw;
}
.date_us_line:nth-child(1) {top: 32.5%;left: 7.2%;}
.date_us_line:nth-child(2) {top: 54.8%;left: 16.4%;}
.date_us_line:nth-child(3) {top: 27%;left: 26.3%;}
.date_us_line:nth-child(4) {top: 47.3%;left: 36.8%;}
.date_us_line:nth-child(5) {top: 27%;left: 46.8%;}
.date_us_line:nth-child(6) {top: 55%;left: 56.8%;}
.date_us_line:nth-child(7) {top: 27%;left: 66.5%;}
.date_us_line:nth-child(8) {top: 47.3%;left: 76%;}
.date_us_line:nth-child(9) {top: 27%;left: 87%;}
.date_us_line:nth-child(10) {top: 54.5%;left: 90%;}

.data_txt_line {
    position: absolute;
    top: 0;
    left: 0;
    width: 10vw;
}
.data_txt_line:nth-child(1) {top: 0%;left: 3%;width: 24vw;}
.data_txt_line:nth-child(2) {top: 75%;left: 8.5%;width: 23vw;}
.data_txt_line:nth-child(3) {top: 0%;left: 14.5%;width: 35vw;}
.data_txt_line:nth-child(4) {top: 75%;left: 27.5%;width: 25vw;}
.data_txt_line:nth-child(5) {top: 0%;left: 39%;width: 23vw;}
.data_txt_line:nth-child(6) {top: 75%;left: 48%;width: 23vw;}
.data_txt_line:nth-child(7) {top: 4%;left: 58%;width: 23vw;}
.data_txt_line:nth-child(8) {top: 75%;left: 68%;width: 23vw;}
.data_txt_line:nth-child(9) {top: 0%;left: 75%;width: 23vw;}
.data_txt_line:nth-child(10) {top: 75%;left: 75%;width: 23vw;}

.data_txt_line::before {
    content: "";
    position: absolute;
    width: 0.6vw;
    height: 100px;
    background: var(--clr006);
    top: 0%;
    left: 0%;
    z-index: -1;
}
.data_txt_line:nth-child(1)::before {top: 65%;left: 33%;}
.data_txt_line:nth-child(2)::before {top: -15%;left: 47%;}
.data_txt_line:nth-child(3)::before {top: 55%;left: 43%;}
.data_txt_line:nth-child(4)::before {top: -46%;left: 49%;}
.data_txt_line:nth-child(5)::before {top: 46%;left: 48%;}
.data_txt_line:nth-child(6)::before {top: -9%;left: 50%;}
.data_txt_line:nth-child(7)::before {top: 47%;left: 49%;}
.data_txt_line:nth-child(8)::before {top: -40%;left: 48%;}
.data_txt_line:nth-child(9)::before {top: 55%;left: 65%;}
.data_txt_line:nth-child(10)::before {top: -10%;left: 80%;}

.cont_data_line {
    display: block;
}

.bg_us_01 {
    background-image: url(../img/bg_us_01.webp);
    color: #fff;
    background-size: cover;
    background-position: right;
}
.cont_misvis {
    padding: 10vw;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
}

.cont_card_value {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: flex-start;
}
.card_value {
    display: inline-flex;
    padding: 1rem;
    width: 30%;
    min-height: 250px;
    background: #f2fdfe;
    margin: 0;
    border-radius: 0.3rem;
    color: var(--clr002);
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 1rem;
}
.card_value img {
    width: 60px;
}
.card_value h3 {margin: 0;}

#uss_bloq_02 {
    padding: 5vw 0;
    background-image: url(../img/bg_us_03.svg);
    background-size: cover;
    background-position: top;
    color: #fff;
}

.card_us_guia {
    min-height: 450px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 2rem;
    margin: 1rem auto 0;
    border-radius: 1rem;
    position: relative;
    z-index: 0;
    overflow: hidden;
    box-shadow: 0 0 1rem rgb(0 0 0 / 00%);
    font-size: 85%;
    width: 95%;
    transition: all 600ms ease-in-out;
}
.card_us_guia:hover {transform: scale(1.03); box-shadow: 0 0 1rem rgb(0 0 0 / 30%);}
.card_us_guia::before {
    background: linear-gradient( transparent , rgb(0 0 0 / 50%));
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
}
.card_us_guia .btn_01:focus, .card_us_guia .btn_01:hover {background: var(--clr001);}
.bg_us_guia_01 {
    background-image: url(../img/us_001.webp);
}
.bg_us_guia_02 {
    background-image: url(../img/us_002.webp);
}

#uss_bloq_03 {
    padding: 5vw 0;
    background: var(--clr002);
    color: #fff;
}

#uss_bloq_03 .accordion-button {
    position: relative;
    padding-right: 50px !important; /* espacio para el icono */
}
/* Ocultar completamente la flecha/giro por defecto de Bootstrap */
#uss_bloq_03 .accordion-button::after {
    display: none !important;
}
/* Icono personalizado a la derecha */
#uss_bloq_03 .accordion-button .icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 140%;
    pointer-events: none;
    color: var(--clr006);
}
/* Animación de zoom */
#uss_bloq_03 .accordion-button .icon i {
    display: inline-block;
    transition: transform 0.1s ease;
    transform: scale(0);
}
/* Estado ABIERTO → dash + zoom in */
#uss_bloq_03 .accordion-button:not(.collapsed) .icon i.bi-dash {
    transform: scale(1.1);
}
/* Estado CERRADO → plus + zoom normal */
#uss_bloq_03 .accordion-button.collapsed .icon i.bi-plus {
    transform: scale(1);
}

#uss_bloq_03 .accordion-item {
    color: #fff;
    background-color: transparent;
    border-radius: 0;
    border: none;
    border-bottom: 2.5px solid rgb(255 255 255 / 20%);
}
#uss_bloq_03 .accordion-button:not(.collapsed) {
    color: var(--clr003);
    background: transparent;
    box-shadow: none;
}
#uss_bloq_03 .accordion-button:hover {
    background: rgb(0 0 0 / 3%);
    color: var(--clr003);
}
#uss_bloq_03 .accordion-button {
    background: transparent;
    color: var(--clr003);
}
#uss_bloq_03 .accordion-body {
    font-weight: 400;
}
.img_main_bloq_03 {
    aspect-ratio: 1;
    object-fit: cover;
    width: 80%;
    border-radius: 1rem;
    overflow: hidden;
    margin: 3vw auto 1rem;
    display: block;
}
.img_acc_us_head {
    width: 45px;
    margin: 0 1rem 0 0;
}

#uss_bloq_04 {
    padding: 3vw 0 5vw;
    min-height: 100vh;
    background-image: url(../img/obj_us_07.svg);
    background-size: cover;
    background-position: top;
}

/* ====== FIN NOSOTROS ====== */

/* ====== PRODUCTOS ====== */

.bg_top_prod {
    background-image: url(../img/top_prod.webp);
    z-index: 0;
    background-position: 50% 25%!important;
}

#prod_bloq_01 {padding: 5vw 0;min-height: unset;}

#prod_bloq_02 {
    padding: 3vw 0;
    background-image: url(../img/bg_prod_01.webp);
    background-size: cover;
    background-position: center;
}

.card_prod {
    background: rgb(7 48 68 / 50%);
    border-radius: 1rem;
    padding: 3vw 5vw;
    color: #Fff;
    backdrop-filter: blur(5px);
    font-weight: 400;
    min-height: 650px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: flex-start;
}
.card_prod p {margin: 0;}
.card_prod img {
    max-height: 85px;
    width: auto;
    margin: 1rem 0 0;
}

#prod_bloq_03,
#prod_bloq_03_ {
    padding: 3vw 0;
    background-image: url(../img/bg_prod_02.webp);
    background-size: cover;
    background-position: 50% 100%;
}

#prod_bloq_04 {
    padding: 3vw 0;
    background-image: url(../img/bg_prod_03.webp);
    background-size: cover;
    background-position: 50% 100%;
}

#prod_bloq_04_ {
    padding: 3vw 0;
    background-image: url(../img/bg_prod_04_.webp);
    background-size: cover;
    background-position: 50% 0%;
}

#prod_bloq_00_ {
    padding: 3vw 0;
    background-image: url(../img/bg_prod_000_.webp);
    background-size: cover;
    background-position: 50% 0%;
}

#prod_bloq_05 {
    padding: 5vw 0;
    background-image: url(../img/obj_prod_05.svg);
    background-size: cover;
    background-position: 50% 100%;
    color: #fff;
}

#prod_bloq_05_ {
    padding: 5vw 0;
    background-image: url(../img/obj_prod_05_.svg);
    background-size: cover;
    background-position: 50% 100%;
    color: #fff;
}

.img_cert {
    height: 100px;
    aspect-ratio: 1;
    width: auto;
    margin: 0 0 10px;
    object-fit: contain;
}

#prod_bloq_06 {
    padding: 3vw 0;
    background-image: url(../img/obj_prod_09.svg);
    background-size: cover;
    background-position: top;
}
#prod_bloq_06 .card_value {width: 100%;min-height: 310px;}

/* ====== FIN PRODUCTOS ====== */

/* ====== INGENIOS ====== */

.bg_top_ing {
    background-image: url(../img/top_ing.webp);
    z-index: 0;
}

#ing_bloq_01 {
    padding: 4vw 0;
    background-image: url(../img/obj_ing_01.webp);
    background-size: cover;
    background-position: top;
}

.card_ing_01 {
    background: rgb(0 185 115 / 20%);
    color: #fff;
    border: 4px solid var(--clr003);
    padding: 2vw;
    text-align: center;
    border-radius: 1rem;
    min-height: 220px;
}

#ing_bloq_gral {padding: 0;}

.cont_data_ing {
    padding: 2.5vw 5vw;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}
.txt_space {letter-spacing: 5px;}

ul.bi_bullets {
    list-style: none;
    padding: 0;
    padding-left: 1rem;
    position: relative;
}
ul.bi_bullets li {margin: 0 0 1rem;}
ul.bi_bullets li::before {
    content: "\F272";
    font-family: "bootstrap-icons";
    color: var(--clr002); /* gris bootstrap */
    position: relative;
    left: -1rem;
    background: rgb(0 185 115 / 20%);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.data_ing_spec {
    padding: 0;
    list-style: none;
    display: flex;
    gap: 0.5rem;
    font-size: 80%;
    margin: 0 0 2rem;
    flex-direction: row;
    flex-wrap: wrap;
}
.data_ing_spec li {
    background: rgb(0 185 115 / 20%);
    color: var(--clr002);
    border: 2px solid var(--clr003);
    padding: 0.5rem;
    border-radius: 0.5rem;
    font-weight: 700;
}

.bg_ing_gral {
    padding: 3vw;
    position: relative;
    z-index: 0;
    background-size: cover;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
}
.bg_ing_gral::before {
    background: linear-gradient( transparent, var(--clr001));
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
}
.bg_ing_cont_01 {background-image: url(../img/bg_ing_01.webp);}
.bg_ing_cont_02 {background-image: url(../img/bg_ing_02.webp);}
.bg_ing_cont_03 {background-image: url(../img/bg_ing_03.webp);}
.bg_ing_cont_04 {background-image: url(../img/bg_ing_04.webp);}
.bg_ing_cont_05_ {background-image: url(../img/bg_ing_07.webp);background-position: 60% 50%;}
.bg_ing_cont_05 {background-image: url(../img/bg_ing_05.webp);background-position: 60% 50%;background-size: cover;background-position: bottom;}
.bg_ing_cont_06 {background-image: url(../img/bg_ing_06.webp);background-position: center;}
.bg_ing_cont_07 {background-image: url(../img/bg_ing_07_.webp);background-position: center;}

/* ====== FIN INGENIOS ====== */

/* ====== SUSTENTABILIDAD ====== */

.bg_top_sus {
    background-image: url(../img/top_sus.webp);
    z-index: 0;
}

#sus_bloq_01 {
    padding: 3vw 0 0;
}
.card_bg_sus_bloq_01 {
    position: relative;
    color: #fff;
    z-index: 0;
    background-image: url(../img/bg_sus_01.webp);
    padding: 5vw 3vw;
    background-size: cover;
    background-position: center;
}
.card_bg_sus_bloq_01::before {
    background: var(--clr002);
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.7;
}

#sus_bloq_02 {
    background-image: url(../img/bg_sus_02.webp);
    z-index: 0;
    padding: 4vw 0;
    background-size: cover;
}

#sus_bloq_gral {
    padding: 0;
}

.cont_txt_sus {padding: 5vw 7vw;}
.bg_sus_cont__ {
    background-size: cover;
    min-height: 500px;
}
.bg_sus_cont_01 {background-image: url(../img/bg_sus_03.webp);}
.bg_sus_cont_02 {background-image: url(../img/bg_sus_04.webp);}
.bg_sus_cont_03 {background-image: url(../img/bg_sus_05.webp);}

.grid_sus {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    justify-items: start;
    width: fit-content;
}

.grid_sus img {
    width: 119px;
    height: auto;
    display: block;
}

#sus_bloq_03 {
    background-image: url(../img/bg_sus_06.webp);
    background-size: cover;
    background-position: center;
}
#sus_bloq_03 .owl-carousel {
    padding: 0 5vw;
    position: relative;
    margin: 5vw 0;
}
#sus_bloq_03 .owl-carousel .owl-nav button.owl-next,#sus_bloq_03  .owl-carousel .owl-nav button.owl-prev {
    border: 4px solid var(--clr003);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
#sus_bloq_03 .owl-nav .owl-prev {left: -4vw;font-size: 3vw;color: var(--clr003);}
#sus_bloq_03 .owl-nav .owl-next {right: 6vw;font-size: 3vw;color: var(--clr003);}

.card_owl_sus {
    border-radius: 0.5rem;
    min-height: 355px;
    padding: 3vw 2vw 1vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

#sus_bloq_04 {
    background-image: url(../img/bg_sus_bloq_04.png);
    background-size: cover;
    background-position: center;
}

.card_sus_b4 {
    background: transparent;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: 85%;
    min-height: 630px;
    justify-content: flex-start;
}
.card_sus_b4 a {margin-top: auto;}
.img_sus_b4 {
    height: 250px;
    object-fit: cover;
    border-radius: 0.5rem;
}
.date_sus {background: #ddd;padding: 10px;color: var(--clr002);font-size: 90%;width: fit-content;border-radius: 0.5rem;font-weight: 700;}

/* ====== FIN SUSTENTABILIDAD ====== */

/* ====== NOTICIAS ====== */

.bg_top_news {
    background-image: url(../img/bgtop_news.webp);
    z-index: 0;
    background-position: 50% 20%!important;
}

.card_news_recient {
    overflow: hidden;
    border-radius: 0.3rem;
    position: relative;
    min-height: 380px;
    padding: 1.5vw;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    z-index: 0;
}
.card_news_recient::before {
    background: linear-gradient( transparent 55%, #000);
    content:
    "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 1;
}
.card_blog_img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    z-index: -2;
    top: 0;
    left: 0;
}

.card_news_txt_main {
    display: -webkit-box;
    -webkit-line-clamp: 11;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: justify;
}

.card_news_gral {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    color: var(--clr002);
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    padding: 1rem;
    min-height: 560px;
    margin: 0.8rem 0;
    justify-content: flex-start;
}
.card_news_img {
    height: 230px;
    object-fit: cover;
    object-position: center;
    border-radius: 0.5rem;
}
.card_news_data {
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem;
    background: rgb(27 98 79 / 10%);
    border-radius: 0.3rem;
    font-size: 80%;
    width: fit-content;
    font-weight: 700;
}
.card_news_data p {margin: 0;}
.card_news_cont_ttl {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* máximo 3 renglones */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: justify;
}
.card_news_cont_txt {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* máximo 3 renglones */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: justify;
}
.card_news_gral .btn_01 {
    padding: 0.5rem 1rem;
    margin: 0;
    width: fit-content;
}

#news_bloq_03 .pagination {gap: .5rem;}
#news_bloq_03 .page-link {
    color: var(--clr003);
    border: 1px solid;
    border-radius: 0.3rem;
}
#news_bloq_03 .disabled .page-link{
    color: #bbb;
    border: 1px solid;
}
#news_bloq_03 .active>.page-link, #news_bloq_03 .page-link.active {
    color: #fff;
    background-color: var(--clr002);
    border-color: var(--clr002);
}
.disabled .btn_pagi {
    background: #ddd !important;
    border-color: #ddd !important;
    color: #bbb !important;
}
.btn_pagi {
    background: var(--clr006) !important;
    border-color: var(--clr006) !important;
    color: #fff !important;
}
.btn_pagi:hover {
    background: var(--clr003) !important;
    border-color: var(--clr003) !important;
    color: #fff !important;
}

#blog_bloq_01 {
    padding: 8vw 0 2vw;
}
#blog_bloq_01 .card_news_recient {
    min-height: 450px;
}
#blog_bloq_01 .card_news_data {
    background: transparent;
}

/* ====== FIN NOTICIAS ====== */

/* ====== CONTACTO ====== */

.bg_top_ctt {
    background-image: url(../img/bg_top_contacto.webp);
    z-index: 0;
}

#ctt_bloq_01 {padding: 0;}

.cont_ctt_b1 {padding: 4vw;}

#ctt_bloq_01 .form-control {
    border-radius: 0;
}
#ctt_bloq_01 .form-floating>label {
    height: auto;
    padding: 1rem .75rem 0;
    background-color: transparent;
}

#ctt_bloq_01 .custom-checkbox {
    appearance: none;
    -webkit-appearance: none;
    background-color: transparent;
    border: 2px solid #fff;
    width: 20px;
    height: 20px;
    border-radius: 0.2rem;
    position: relative;
    cursor: pointer;
}
#ctt_bloq_01 .custom-checkbox:checked {
    background-color: transparent;
    border-color: var(--clr003);
}
#ctt_bloq_01 .custom-checkbox:checked::after {
    content: "\F26E"; /* Icono Bootstrap */
    font-family: "bootstrap-icons";
    font-size: 16px;
    color: var(--clr003);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
}
#ctt_bloq_01 .custom-checkbox:focus {
    outline: none;
    border-color: var(--clr003);
    box-shadow: 0 0 0 0.2rem rgb(0 0 0 / 10%);
}
#ctt_bloq_01 .form-check-input {
    background: transparent;
    border-color: #fff;
}
#ctt_bloq_01 .form-check-input:focus {
    border-color: var(--clr003);
    outline: 0;
    box-shadow: 0 0 0 .2rem rgb(0 0 0 / 10%);
}

.ctt_list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    color: var(--clr002);
}
.ctt_list li a {color: var(--clr002);}
.ctt_list li a:hover {color: var(--clr003);}
.ctt_list li {
    padding-left: 40px;
    position: relative;
    margin: 0 0 2rem;
}
.ctt_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: brightness(0) saturate(100%) invert(54%) sepia(43%) saturate(6829%) hue-rotate(131deg) brightness(102%) contrast(101%);
}
.ctt_list li:nth-child(1)::before {
    background-image: url('../img/pin_map.png');
    filter:none;
}
.ctt_list li:nth-child(2)::before {
    background-image: url('../img/obj_04.svg');
}
.ctt_list li:nth-child(3)::before {
    background-image: url('../img/twitter-x.svg');
}

.mt_label {margin: 3px 0 0;}

.map_ {
    width: 100%;
    height: auto;
    border: 0;
    border-radius: 0.5rem;
    aspect-ratio: 8/6;
}

#ctt_bloq_02 {padding: 5vw 0;}

.card_ctt {
    background: var(--clr003);
    color: #fff;
    padding: 0;
    overflow: hidden;
    border-radius: 0.5rem;
}
.card_ctt img {
    height: 240px;
    object-fit: cover;
    object-position: center;
}
.data_card_ctt {
    padding: 1vw 2vw 2vw;
}
.data_card_ctt h4 {
    margin: 0 0 0.5vw;
    font-size: 85%;
}
.info_card_ctt {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: 80%;
    min-height: 150px;
    justify-content: flex-end;
}
.info_card_ctt div {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

/* Resaltado animado para tarjeta vía ancla */
.card-ctt-highlight {
    animation: pulseGlow 4s ease-in-out;
    box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7);
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 var(--clr006);
    }
    30% {
        box-shadow: 0 0 20px -5px var(--clr006);
    }
    70% {
        box-shadow: 0 0 10px 2px var(--clr006);
    }
    100% {
        box-shadow: 0 0 0 0 var(--clr006);
    }
}

/* ====== FIN CONTACTO ====== */



/* Regla exclusiva para Mozilla Firefox */
@supports selector(:-moz-any(*)) {
    
.dots_map {
    /* Por ejemplo, si en Firefox necesitas que se mueva un poco diferente */
    top: -5px;
    left: -5px;
}
.pins_map img:nth-child(6) {top: 73%;left: 61%;width: 34vw;}
.pins_map img:nth-child(7) {top: 70%;left: 36.5%;width: 25vw;}


}