@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  box-sizing: border-box;
  --main_clr: #ee7e43;
  --scnd_clr: #143657;
  --tird_clr: #FFEB00;
  --hvr_color: #000;
  --dark_color: #fff;
  --blue_clr: #2aaef5;
  --light_color: #fff;
  --gray_color: #ddd;
  --main_shadow: 0 0 5px rgb(0 0 0 / 30%);
  --none_shadow: none;
  --filter_m: brightness(0) saturate(100%) invert(54%) sepia(41%) saturate(2557%) hue-rotate(337deg) brightness(105%) contrast(106%);
  --filter_g: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7453%) hue-rotate(53deg) brightness(117%) contrast(60%);
  --filter_w: brightness(0) saturate(100%) invert(95%) sepia(99%) saturate(2%) hue-rotate(184deg) brightness(105%) contrast(100%);
  --filter_b: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(6%) hue-rotate(224deg) brightness(107%) contrast(100%);
}

* {
	-webkit-transition: 300ms;
	-moz-transition: 300ms;
	-o-transition: 300ms;
	transition: 300ms;
}
body {
	font-family: "Montserrat", sans-serif;
	position: relative;
	font-weight: 400;
	background: transparent;
	color:#232323;
	font-size: clamp(16px, 1.5vw, 18px);
	line-height: 1.2;
	overflow-x: hidden;
}

body  section{
	padding: 1em 0;
	position: relative;
}

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

h1, h2, h3, h4, h5, h6 {
	font-family: "Montserrat", sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.1;
}
h2 b, h2 strong {font-weight: 900;}

img {width:100%; pointer-events: none;}
.center {text-align: center;}
.right_ {text-align: right;}
.justify {text-align: justify;}
.justifyc {text-align: justify;text-align-last: center;}
.no_drop {cursor: no-drop;}
b, strong {font-weight: bold;}

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

.upp_ {
    text-transform: uppercase;
}

.clr_00 {color: #fff!important;}
.clr_01 {color: #232323;}
.clr_02 {color: var(--main_clr);}
.white_ {color: #fff;}
.gray_ {color: #b5b5b5;}

.bg_w {background: #fff;}
.bg_b {background: #000;color: #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%; padding: 0 15px;}
.cont_20 {width: 20%; padding: 0 15px;}
.cont_30 {width: 30%; padding: 0 15px;}
.cont_33 {width: 33%; padding: 0 15px;}
.cont_40 {width: 40%; padding: 0 15px;}
.cont_50 {width: 50%; padding: 0 15px;}
.cont_60 {width: 60%; padding: 0 15px;}
.cont_70 {width: 70%; padding: 0 15px;}
.cont_80 {width: 80%; padding: 0 15px;}
.cont_90 {width: 90%; padding: 0 15px;}
.cont_100 {width: 100%; padding: 0 15px;}

.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: 20px auto;border-top: 5px solid #ddd;width: 200px; }
.hr {margin: 1rem auto;border-top: 2px solid #ccc;width: 95%;}

.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%;
}

.w100 {width: 100%;margin: 0 10px;}
.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(--main_clr);
	color: #fff;
	border-radius: 5px;
	border: none;
	padding: 10px 20px;
	font-size: 22px;
	margin: 10px auto;
	font-weight: 300;
	letter-spacing: 0;
}
.btn_00:focus,
.btn_00:hover {
	background: #232323;
	color: #fff;
}

.btn_01 {
	background: #232323;
	color: #fff;
	border-radius: 5px;
	border: none;
	padding: 10px 20px;
	font-size: 22px;
	margin: 10px auto;
	font-weight: 300;
	letter-spacing: 0;
}
.btn_01:focus,
.btn_01:hover {
	background: var(--main_clr);
	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;
    font-weight: 600;
    letter-spacing: 3px;
    display: block;
}
.btn_02:focus,
.btn_02:hover {
	background: var(--main_clr);
	color: #fff;
}

.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;}
#gral_01 {padding: 2em 0;}
#gral_ {padding: 0;}

.video_event {
    width: 50%;
    margin: 25px auto 10px;
    position: relative;
    float: right;
    padding: 10px;
}
.video_event_01 {
    width: 50%;
    margin: -10px auto 10px;
    position: relative;
    float: left;
    padding: 10px;
}
.video_event_01 video, .video_event video {width: 100%;height:  auto;background: linear-gradient(45deg, black, #363636);border-radius: 1em;}

.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 {width: 98.5%;height: 80vh;padding: 1rem;border-radius: 2rem;overflow: hidden;position: relative;left: 0px;}

.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;
}

.blink_me {
  animation: blinker 1s linear infinite;
}

@keyframes blinker {
  50% {
    opacity: 0;
  }
}

/* CUSTOM SCROLL BAR */
/*
::-webkit-scrollbar {
    width: 15px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: #ddd;
	border-radius: 0;
}
::-webkit-scrollbar-thumb {
    background: var(--main_clr); 
	border-radius: 10px;
}
*/

/* Para Chrome, Safari, Edge y Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Para Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

::selection{color: #fff;background: var(--main_clr);}

/************ MODALS STYLE ************/
.modal-open .modal {backdrop-filter: blur(5px);}
body.modal-open {padding-right: 0 !important; /* Desactiva la compensaciÃƒÂ³n automÃƒÂ¡tica 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(--main_clr);
    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(--main_clr);
    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(--none_shadow);}

.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(--main_clr);
    color: #fff;
}
.accordion-button:not(.collapsed) {
    color: #fff;
    background: var(--main_clr);
    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.1; -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: #777;
    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;
}

.gall_col {
    display: inline-grid;
    position: relative;
    padding: 10px;
    width: 75%;
    border-radius: 1rem;
}
.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(--clr_01);
    box-shadow: none;
}

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

/************ 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: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(5788%) hue-rotate(229deg) brightness(122%) contrast(100%);
    width: 120px;
    margin: 0 auto;
}

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

/************ RADIO INPUT CUSTOM ***********/

.radio-custom-label {
    display: block; 
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin: 10px 0 10px 10px;
}

.radio-inline+.radio-inline, .checkbox-inline+.checkbox-inline { margin-top: 0; margin: 10px 0 10px 10px; }
/* Hide the browser's default radio button */
.radio-custom-label input { position: absolute; opacity: 0; }
/* Create a custom radio button */
.radio-custom {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  border: 3px solid #ddd;
  border-radius: 5px;
  -webkit-transition: all 600ms ease-in-out;
  -moz-transition: all 600ms ease-in-out;
  -o-transition: all 600ms ease-in-out;
}
/* On mouse-over, add a grey background color */
.radio-custom-label:hover input ~ .radio-custom {
  	border-color: var(--main_clr);
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;;
}
/* When the radio button is checked, add a blue background */
.radio-custom-label input:checked ~ .radio-custom {
  background-color: transparent;
  border: 3px solid var(--main_clr);
}
/* Create the indicator (the dot/circle - hidden when not checked) */
.radio-custom:after { content: ""; position: absolute; display: none; }
/* Show the indicator (dot/circle) when checked */
.radio-custom-label input:checked ~ .radio-custom:after { display: block; }
/* Style the indicator (dot/circle) */
.radio-custom-label .radio-custom:after {
	top: 11px;
    left: 3px;
    width: 6px;
    height: 13px;
    content: '';
    border-top: 3px solid var(--main_clr);
    border-right: 3px solid var(--main_clr);
	-webkit-transform: scaleX(-1) rotate(135deg);
	   -moz-transform: scaleX(-1) rotate(135deg);
	    -ms-transform: scaleX(-1) rotate(135deg);
	        transform: scaleX(-1) rotate(135deg);
	-webkit-transform-origin: left top;
	   -moz-transform-origin: left top;
	    -ms-transform-origin: left top;
	        transform-origin: left top;
  	-webkit-animation: check 0.5s;
	   -moz-animation: check 0.5s;
	     -o-animation: check 0.5s;
	        animation: check 0.5s;
}
@-webkit-keyframes check { 0% { width: 0; height: 0;} 25% { width: 6px; height: 0;} 50% { width: 6px; height: 14px;}}
@-moz-keyframes check { 0% { width: 0; height: 0;} 25% { width: 6px; height: 0;} 50% { width: 6px; height:14px;}}	
@-ms-keyframes check { 0% { width: 0; height: 0;} 25% { width: 6px; height: 0;} 50% { width: 6px; height: 14px;}}
@keyframes check { 0% { width: 0; height: 0;} 25% { width: 6px; height: 0;} 50% { width: 6px; height: 14px;}}

.radio-custom-label p {margin: 0;padding: 1px 0 0;}

/************ FIN RADIO INPUT CUSTOM ***********/


/** HEADER SECTION **/

#navigation .navbar_custom {
    background-color: #fff;
    box-shadow: var(--main_shadow);
}

.cont_logo {
    display: flex;
    gap: 10px;
    align-items: center;
    max-width: 22rem;
    white-space: break-spaces;
}
.logo {
    width: 90px;
}
.logo.scrolled {width:50px;}

.slogan {
    width: auto;
    font-weight: 600;
    text-align: left;
    color: #000;
    line-height: 120%;
}

#navigation .container{max-width: 95%;}

.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 .nav-link {
    text-transform: uppercase;background: transparent;color: #333;padding: 0rem 0.5rem;
    margin: 0px 10px 0px 0px;
    font-weight: 700;
    color: #000;
    letter-spacing: 1px;
}
#navigation .nav-link:hover {background: transparent;color: var(--main_clr);}
#navigation .nav-link.active {
  color: #000;
  position: relative;
}
#navigation .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0.5rem;
    height: 0.5rem;
    background-color: var(--main_clr);
    border-radius: 50%;
	-webkit-transition: 300ms;
	transition: 300ms;
}
#navigation .nav-link.active:hover::after {
  transform: translateX(-50%) scale(1.4);
}

/* !!!!!!!!!! ESTILO PARA SECCION CONTACTO EN MENU !!!!!!!!!! */
#navigation .nav_link {
    text-transform: uppercase;
    background: transparent;
    color: #333;
    padding: 0rem 0.5rem;
    margin: 0px 10px 0px 0px;
    font-weight: 700;
    color: var(--main_clr);
    letter-spacing: 1px;
    white-space: nowrap;
}
#navigation .nav_link:hover {background: transparent;color: #000}
#navigation .nav_link.active {
  color: var(--main_clr);
  position: relative;
}
#navigation .nav_link.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0.5rem;
    height: 0.5rem;
    background-color: var(--main_clr);
    border-radius: 50%;
	-webkit-transition: 300ms;
	transition: 300ms;
}
#navigation .nav_link.active:hover::after {
  transform: translateX(-50%) scale(1.4);
}

#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(--main_clr);}

#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: brightness(0) saturate(100%) invert(58%) sepia(50%) saturate(301%) hue-rotate(139deg) brightness(92%) contrast(87%);
}
#navigation .dropdown-item:hover {color: var(--main_clr);}

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

.custom-toggler .toggler-icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  transition: transform 0.3s ease;
}

.custom-toggler .toggler-icon span {
  display: block;
  height: 3px;
  width: 100%;
  background-color: #000;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* Active state: when menu is open (we toggle 'open' class manually) */
.custom-toggler.open .toggler-icon span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.custom-toggler.open .toggler-icon span:nth-child(2) {
  opacity: 0;
}

.custom-toggler.open .toggler-icon span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/** HEADER SECTION **/

/** 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(--main_clr);}

#footer_end {
    width: fit-content;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
}

#footer_main {
    position: relative;
    z-index: 1;
}
#ftr_btm {
    padding: 20px 0;
    background: url(../img/bg_cm.webp);
    background-position: 50% 0%;
    background-size: cover;
    background-attachment: fixed;
    color: #fff;
    position: relative;
    z-index: 1;
}
#ftr_btm::before {
    background:  #000;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

#ftr_btm a {color: #fff;}
#ftr_btm a:hover {color: var(--main_clr);}

#ftr_btm h3 {font-size: 1.3rem;font-weight: 500;color: #fff;}
#ftr_btm hr {
    margin: 10px auto;
    border-top: 2px dotted #ddd;
    width: 100%;
}
#ftr_btm ul {padding-left: 0;}
#ftr_btm ul li {list-style: none;margin: 0 0 5px;}

#btm_last {
    padding: 15px 20px;
    text-align: center;
    background: transparent;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    position: relative;
    z-index: 1;
    margin: -3.1rem 0 0;
}

#btm_last .w90 {
  max-width: 90%;
  margin: 0 auto;
}

#btm_last p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0px;
  align-items: center;
  text-align: center;
}

#btm_last a {
  color: #fff;
  text-decoration: none;
}

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

#btm_last span,
#btm_last a {
  white-space: nowrap;
}

@media (max-width: 480px) {
  #btm_last {
    font-size: 0.85rem;
  }

  #btm_last p {
    flex-direction: row;
    gap: 0px;
  }
}

.wapp_btn_cont {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 10;
}
.wapp_btn {
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 2rem;
    position: relative;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    box-shadow: 0 0 0.5rem #075e54;
    overflow: hidden;
}
.wapp_btn:hover {
    background: #25d366;
    box-shadow: 0 0 1rem #000;
}
.wapp_btn a {
    color: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/** FOOTER SECTION **/

#idx {
    position: relative;
    height: 100vh;
    padding: 4rem 1rem 1rem;
}

/** INDEX SECTION **/

#idx_top {
    padding: 0;
    height: 100vh;
    position: relative;
    overflow: hidden;
}

#miCarrusel .caption {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    background: linear-gradient(0deg, black, transparent);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 5rem;
    align-items: flex-start;
}
#miCarrusel .carousel-indicators {bottom: 6%;}

.object_bottom {
  position: absolute;
  width: 0;
  height: 0;
  bottom: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.object_bottom::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 10rem solid transparent;
  border-right: 10rem solid transparent;
  border-bottom: 40px solid #fff; /* Color del triÃ¡ngulo */
  left: 50%;
  transform: translate(-50%, 0);
}

.img_arrow {
    width: 10px!important;
    margin: 0px 0px 0px 15px;
    position: relative;
    top: -1px;
}

#miCarrusel .carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 1rem;
    height: 1rem;
    padding: 0;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    text-indent: -999px;
    cursor: pointer;
    background-color: transparent;
    background-clip: padding-box;
    border: 1px solid #fff;
    border-radius: 50%;
    opacity: .5;
    transition: opacity .6s ease;
}
#miCarrusel .carousel-indicators .active {
    background-color: transparent !important;
    border: 1px solid var(--main_clr) !important;
    opacity: 1!important;
    width: 1rem !important;
}

.ttl_clr {
    color: var(--main_clr) !important;
}

.ttl_caption {
    font-size: 4rem;
    font-weight: 900;
}

#miCarrusel .btn_01{
    background: #232323;
    color: #fff;
    border: none;
    padding: 1rem 1.5rem;
    font-weight: 500;
    border-radius: 1rem;
}
#miCarrusel .btn_01:hover{
    background: #000;
}
#miCarrusel a {color: var(--main_clr);}
#miCarrusel a:hover {color: #fff;}

.carousel-section {
  height: 100vh;
}

.carousel,
.carousel-inner,
.carousel-item {
  height: 100%;
}

.carousel-item img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.a_end {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

#idx_02 {
    background-image: url(../img/bgbloque2-min.webp);
    padding: 8em 0;
    background-position: 50% 50%;
    background-size: cover;
}
#idx_02 .container{max-width: 95%;}
.card_bloq_01 {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
.ttl_main {
    font-size: 3.5rem;
    font-weight: 900;
}
.ttl_main span {
    background: #000;
    color: #fff;
    padding: 0 10px;
}

.ttl_main_ {line-height: 1;}
.ttl_main_ span {
    background: #000;
    color: #fff;
    padding: 5px 10px;
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.top_001 {
    position: relative;
    top: 15px;
}
.card_service {
    position: relative;
    width: 265px;
    display: inline-grid;
    font-size: 25px;
    text-transform: uppercase;
    font-weight: 700;
    text-align: center;
    margin: 1rem 0;
}
.card_service img {
    width: 100px;
    margin: 0 auto 5px;
}
#idx_02 .btn_00 {
    background: #000;
    width: 100%;
}
#idx_02 .btn_00:hover {
    background: #232323;
}

#idx_03 {
    background-image: url(../img/bgbloque3-min.webp);
    padding: 3rem 0;
    background-position: 50% 50%;
    background-size: cover;
    color: #fff;
}
.p_05 {
    padding: 5rem;
}


#idx_04 {
    background-image: url(../img/bgbloque4-min.webp);
    padding: 5rem 0;
    background-position: 50% 0%;
    background-size: cover;
}
/*CARRUSEL HOME*/
.carousel-wrap {
	margin: 0 auto;
	padding: 0 5%;
	width: 100%;
	position: relative;
}
/* fix blank or flashing items on carousel */
.owl-carousel .item {
  position: relative;
  z-index: 100; 
  -webkit-backface-visibility: hidden; 
}
/* end fix */
.owl-nav > div {
  margin-top: -26px;
  position: absolute;
  top: 50%;
  color:gray;
}
.owl-nav i {
    font-size: 30px;
    margin: 10px 0 0;
	color: var(--scnd_clr);
}
.owl-nav i:focus,
.owl-nav i:hover {
	color: var(--main_clr);
}
.owl-nav .owl-prev {
  left: -30px;
}
.owl-nav .owl-next {
  right: -30px;
}
.carousel-wrap .item{
  display:inline-flex;
  align-items:center;
  /* height: 90px; */
}

.crsl_bg {
    background: #fff;
    padding: 3rem 3rem;
    box-shadow: 0 0 20px rgb(0 0 0 / 30%);
}

#idx_05 {
    background: #333;
    color: #fff;
    padding: 3rem 0;
}
#idx_06 {
    background: #222;
    color: #fff;
    padding: 3rem 0;
}
.img_bloq_06 {
    border: 5px solid #fff;
    padding: 2rem;
    border-radius: 50%;
    width: 70%;
    margin: 0 auto 1rem;
    display: block;
}

.btn_cot {
    background: transparent;
    border: 5px solid var(--main_clr);
    padding: 1rem 3rem;
    margin: 2rem auto;
    border-radius: 1rem;
    display: block;
    color: var(--main_clr);
    font-size: 1.5rem;
}
.btn_cot:hover img {filter: var(--filter_w);}
.btn_cot:hover {
    background: transparent;
    border: 5px solid #fff;
    color: #fff;
    font-size: 1.5rem;
}


#idx_07 {
    padding: 0rem 0;
}
.iframe_gral {
    width: 100%;
    height: 100%;
    border: 0;
    margin: 0 0 -7px;
}
.alto_01 {height: 350px;}

#idx_08 {
    background: #222;
    color: #fff;
    padding: 0rem 0;
}
.cont_logo_ftr {
    display: flex;
    max-width: 22em;
    margin: 0;
    align-items: center;
    gap: 2rem;
    font-size: 1.3rem;
    font-weight: 600;
}
.cont_logo_ftr img {width: 100px;}

.cont_data_ftr {
    background-image: url(../img/bgfooter-min.webp);
}
.cont_data_ftr a {color: #fff;}
.cont_data_ftr a:hover {color: var(--main_clr);}
.cont_data_ftr .fs-4 {
    display: flex;
    gap: 1rem;
    align-items: center;
}

/** INDEX SECTION **/

#top_ {
    position: relative;
    overflow: hidden;
    padding: 10em 0 3em;
    color: #fff;
    height: 90vh;
    display: flex;
    align-items: flex-end;
}
#top_ a {color: var(--main_clr);}
#top_ a:hover {color: #fff;}

#top_ .object_bottom {
    right: 40%;
    left: unset;
}
#top_ .object_bottom::after {
  left: unset;
  transform: unset;
}
#top_ .btn_01:hover{
    background: #000;
}

.tt_unset {text-transform: unset !important;}

/** NOSOTROS **/

.top_us {
    background-image: url(../img/banner_us.webp);
    position: relative;
    z-index: 1;
    background-position: 75% 0%;
    background-size: cover;
}
.top_us::before {
    background: linear-gradient(0deg, black -10%, rgb(0 0 0 / 50%) 35%, transparent 70%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

.bg_ddd {background: #ddd;}

.img_values {
    width: 10em;
    display: block;
    margin: 0 auto;
    padding: 3rem 1rem 1rem;
}

.cont_mv {
    border-radius: 10em 0;
    overflow: hidden;
}

.bg_img_ {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    min-height: 22em;
}
.bg_img_03 {background-image: url(../img/img3.webp);}
.bg_img_04 {background-image: url(../img/img4.webp);}

.carousel_container {
    position: relative;
    width: 100%;
    margin: 50px auto;
    overflow: hidden;
}
.carousel_track {
    display: flex;
    transition: transform 0.5s ease-in-out;
}
.carousel_card {
    flex: 0 0 33.3333%;
    height: 300px;
    background-size: cover;
    background-position: center;
    position: relative;
}
.bg_proy_01 {background-image: url(../img/proy_01.webp);}
.bg_proy_02 {background-image: url(../img/proy_02.webp);}
.bg_proy_03 {background-image: url(../img/proy_03.webp);}
.bg_proy_04 {background-image: url(../img/proy_04.webp);}
.carousel_card .card_overlay {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 85%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 3rem;
    text-align: center;
    opacity: 0;
}
.carousel_card:hover .card_overlay {opacity: 1;}
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgb(0 0 0 / 5%);
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    z-index: 1;
    transition: opacity 0.3s ease;
}
.arrow:hover {
    background-color: rgb(0 0 0 / 15%);
}
.arrow_left {left: 10px;}
.arrow_right {right: 10px;}

.arrow.hidden {opacity: 0;pointer-events: none;}

/* Responsive */
@media (max-width: 768px) {
    .carousel_card {flex: 0 0 100%;}
}

/** NOSOTROS **/

/** SERVICIOS **/

.top_serv {
    background-image: url(../img/bg_serv.webp);
    position: relative;
    z-index: 1;
    background-position: 50% 30%;
    background-size: cover;
}
.top_serv::before {
    background: linear-gradient(0deg, black -10%, rgb(0 0 0 / 50%) 35%, transparent 70%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

.prod_cont {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin: 1rem 0 0;
}
.prod_cont .cont_info {padding: 1rem;position: relative;}
.prod_cont .cont_info:first-child {width: 40%;}
.prod_cont .cont_info:last-child {width: 60%;}/*display: flex;*/

.btns_prod {
    padding: 0;
    list-style: none;
}
#prod_pills .nav {
    justify-content: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0rem 0 0;
    background: #fff;
    box-shadow: 0 0 3rem rgb(0 0 0 / 20%);
    padding: 2rem;
    border-radius: 1.5rem;
}
#prod_pills .nav-pills .nav-link {
    color: #232323;
    background-color: #ddd;
    border: 2px solid transparent;
    width: 100%;
    margin: 3px;
    padding: 1rem 1.5rem;
    font-weight: 700;
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    position: relative;
}
#prod_pills .nav-pills .nav-link.active,#mdl_pills .nav-pills .show>.nav-link {
    color: #fff;
    background-color: #000;
}
#prod_pills .nav-pills .nav-link .img_arrow {
    transform: rotate(90deg) translate(-50%, 0);
    position: absolute;
    right: 1em;
    top: 50%;
    filter: unset;
}
#prod_pills .nav-pills .nav-link.active .img_arrow {
    transform: rotate(0deg) translate(0%, -50%);
    filter: var(--filter_w);
}
#prod_pills .btn_01 {
    background: transparent;
    color: var(--main_clr);
    border-radius: 10px;
    border: 3px solid;
    padding: 10px 20px;
    font-size: 22px;
    margin: 10px auto;
    font-weight: 600;
    letter-spacing: 0;
    display: block;
}
#prod_pills .btn_01:hover {
    background: #232323;
    color: #fff;
    border: 3px solid #232323;
}

#prod_pills .tab-content {
    width: 100%;
    padding-right: 1rem;
}
#prod_pills .lb_ {
    background: transparent;
    position: relative;
    margin: 0 auto;
    border-radius: 1rem;
}
#prod_pills .lb_:hover {background: #fff;}
#prod_pills .table_mdls tr td:first-child {width: 200px;white-space: nowrap;}
#prod_pills table {font-size: 90%;margin: 0;}

.img_serv_cont {
    width: 300px;
    margin: 0 auto 1rem;
    display: block;
}

.serv_port .btn_00 {
    background: #000;
    width: fit-content;
    padding: 0.5rem 2rem;
}
.serv_port .btn_00:hover {
    background: #232323;
}

/** SERVICIOS **/

/** PORTAFOLIO **/

#portfolio {
    padding: 3em 0;
    position: relative;
}

.top_portfolio {
    background-image: url(../img/banner_portafolio.webp);
    position: relative;
    z-index: 1;
    background-position: 50% 30%;
    background-size: cover;
}
.top_portfolio::before {
    background: linear-gradient(0deg, black -10%, rgb(0 0 0 / 50%) 35%, transparent 70%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

.bg_proy_card {background: linear-gradient(0deg, #ddd, #fff);}

#portfolio .carousel_card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; /* Centra la imagen */
  display: block;
}

#baguetteBox-overlay .full-image figcaption {
    bottom: 2rem;
    white-space: normal;
    color: #fff;
    background-color: transparent;
    font-family: unset;
    font-size: 1.5rem;
    font-weight: 800;
    text-transform: uppercase;
    text-shadow: 0 0 5px rgb(0 0 0 / 30%);
    left: 50%;
    transform: translate(-50%, 0);
}

/** PORTAFOLIO **/

/** CONTACTO **/

.top_contact {
    background-image: url(../img/banner_top_contact.webp);
    position: relative;
    z-index: 1;
    background-position: 85% 30%;
    background-size: cover;
}
.top_contact::before {
    background: linear-gradient(0deg, black -10%, rgb(0 0 0 / 50%) 35%, transparent 70%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

#contact_bloq_01 {
    padding: 5em 0;
    position: relative;
    background-image: url(../img/bgcontact.webp);
    background-size: cover;
    font-weight: 600;
    font-size: 1.5rem;
    color: #fff;
    background-position: 50% 50%;
    background-attachment: fixed;
}

#contact_bloq_02 {padding: 3em 0;}
.cont_form {
    background: #000;
    padding: 3em;
    border-radius: 3rem;
    color: #fff;
}
.cont_form h3 {margin: 0 0 2rem;}
.cont_form a {color: #fff;}
.cont_form a:hover {color: var(--main_clr);}

.cont_form .btn_00 {padding: 1rem 3rem;}
.cont_form .btn_00 img {filter: var(--filter_b);}
.cont_form .btn_00:hover img {filter: var(--filter_w);}

.form-select {
    --bs-form-select-bg-img: url(../img/arrow_select.svg);
}

.custom_select option:checked {
  background-color: #232323; 
  color: white;
}
select option:hover {
  background-color: var(--main_clr)!important;
  color: white;
}

#contact_bloq_03 {
    background-image: url(../img/bg_job.webp);
    color: #fff;
    position: relative;
    z-index: 1;
    background-size: cover;
    padding: 5em 0;
    background-position: 50% 50%;
}
#contact_bloq_03::before {
    background: #FF5722;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.82;
}
#contact_bloq_03 .btn_01 {background: #000;}
#contact_bloq_03 .btn_01:hover {background: #232323;}
#contact_bloq_03 .btn_01:hover img {filter: var(--filter_w);}

#job_screen {
    background: rgb(0 0 0 / 80%);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 1041;
    backdrop-filter: blur(3px);
    padding: 2em 2em 0.5rem;
    overflow-y: auto;
}
#job_screen .btn_modelo_close {
    top: 1%;
    left: 50%;
    transform: unset;
    background: var(--main_clr);
    border: none;
    color: #fff;
    border-radius: 3em;
    width: 50px;
    height: 50px;
    padding: 0;
    position: absolute;
    font-size: 3rem;
    line-height: 1;
    transform: translate(-50%, 0);
}
#job_screen .cont_form {
    background: #fff;
    color: #232323;
    padding: 2em 3em 1em;
}
#job_screen .cont_form h3 {
    margin: 0 0 1.5rem;
}
#job_screen .form-control {
    color: var(--main_clr);
    background-color: #000;
    font-size: 75%;
}
#job_screen .form-select {
    color: #fff;
    background-color: #000;
    font-size: 75%;
}
#job_screen .form-control:hover, #job_screen .form-select:hover {background-color: #222;}
#job_screen .form-control::placeholder,
#job_screen .form-select::placeholder {
    color: #fff;
}

.collapse.fade {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.collapse.show {
    opacity: 1;
}

.custom_file_upload {
    display: block;
    background-color: #000;
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none;
    font-size: 75%;
}
.custom_file_upload:hover {
    background-color: #222;
    border: none;
}

#file {
    display: none; /* Oculta el input de archivo real */
}

.file_name {
    margin-top: 10px;
    color: #555;
    text-align: center;
    font-size: 80%;
}
.small_fs {
    font-size: 60%;
}
.btn_upload_ {
    background: #bbb;
    padding: 3px 15px;
    border-radius: 1rem;
    text-align: right;
    float: inline-end;
    position: relative;
    top: -2px;
    font-size: 85%;
    color: #000;
}

/** CONTACTO **/

/** PROVEEDORES **/

.top_prov {
    background-image: url(../img/bg_prov.webp);
    position: relative;
    z-index: 1;
    background-position: 50% 10%;
    background-size: cover;
}
.top_prov::before {
    background: linear-gradient(0deg, black -10%, rgb(0 0 0 / 50%) 35%, transparent 70%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

.card_prov {
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    max-height: 35em;
    min-height: 28em;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin: 10px 0;
    box-shadow: var(--main_shadow);
    position: relative;
    background: #000;
}
.card_prov .img_prov {
    width: 100%;
    height: 12em;
    position: relative;
}
.card_prov .img_prov img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; /* Centra la imagen */
    display: block;
}
.card_prov .step_ {
    background: var(--main_clr);
    color: #fff;
    width: 2em;
    height: 2em;
    position: absolute;
    text-align: center;
    line-height: 2;
    border-radius: 50%;
    font-size: 3rem;
    font-weight: 600;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -48px;
    box-shadow: var(--main_shadow);
}
.card_prov:hover .step_ {
  animation: shakeit 700ms;
}
.card_prov .bg_b {padding: 4rem 2rem 1rem;}
.card_prov .bg_b h4 {
    font-size: 1.2rem;
    color: var(--main_clr);
    margin: 0 0 2rem;
}

.spc_ttl_prov {
    margin: 0 0 2vh;
    padding: 0 11vw;
    font-size: 2vw;
}

@keyframes shakeit {
  0%   { transform: translateX(0); }
  20%  { transform: translateX(-5px); }
  40%  { transform: translateX(5px); }
  60%  { transform: translateX(-5px); }
  80%  { transform: translateX(5px); }
  100% { transform: translateX(0); }
}

.cont_form_ {
    background: #000;
    padding: 5em 3rem 3rem;
    border-radius: 3rem;
    color: #fff;
}

.custom_file_upload_ {
    display: block;
    background-color: #fff;
    color: #000;
    padding: 10px 15px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    border: none;
    font-size: 75%;
}
.custom_file_upload_:hover {
    background-color: #f8f8f8;
    border: none;
}

#prov_bloq_02 {
    background-image: url(../img/bg_prov_02.webp);
    color: #fff;
    position: relative;
    z-index: 1;
    background-size: cover;
    padding: 5em 0;
    background-position: 50% 50%;
}
#prov_bloq_02::before {
    background: #FF5722;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.82;
}
#prov_bloq_02 .btn_01 {background: #000;}
#prov_bloq_02 .btn_01:hover {background: #232323;}
#prov_bloq_02 .btn_01 img {filter: var(--filter_w);}

.modulo_formulario { display: none; }
.modulo_formulario.modulo_actual { display: block; }


.cont_form_prov {
    background: #fff;
    padding: 2rem 3rem;
    border-radius: 3rem;
    color: #000;
}

#prov_screen {
    background: rgb(0 0 0 / 80%);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 1041;
    backdrop-filter: blur(3px);
    padding: 2em 2em 0.5rem;
    overflow: auto;
}
#prov_screen .btn_modelo_close {
    top: 1%;
    left: 50%;
    transform: unset;
    background: var(--main_clr);
    border: none;
    color: #fff;
    border-radius: 3em;
    width: 50px;
    height: 50px;
    padding: 0;
    position: absolute;
    font-size: 3rem;
    line-height: 1;
    transform: translate(-50%, 0);
}

.btn_next {
    background: var(--main_clr);
    border: none;
    padding: 0.5rem 2rem;
    margin: 1rem 0;
    border-radius: 5px;
    color: #fff;
}
.btn_next:hover {
    background: #232323;
    color: #fff;
}
.btn_next img {filter: var(--filter_b);}
.btn_next:hover img {filter: unset;}

.btn_prev {
    background: #fff;
    border: none;
    padding: 0.5rem 2rem;
    margin: 1rem 0;
    border-radius: 5px;
    color: #000;
}
.btn_prev:hover {
    background: #232323;
    color: #fff;
}

.form-check {line-height: 1.5;}

.custom-checkbox:checked {
    background-color: var(--main_clr);
    border-color: var(--main_clr);
}
.custom-checkbox:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form-check-input:focus {
    border-color: var(--main_clr);
    outline: 0;
    box-shadow: 0 0 0 .2rem rgb(255 117 53 / 35%);
}

/** PROVEEDORES **/

/** PROVEEDORES **/

.top_avpriv {
    background-image: url(../img/bgcontact.webp);
    position: relative;
    z-index: 1;
    background-position: 50% 30%;
    background-size: cover;
}
.top_avpriv::before {
    background: linear-gradient(0deg, black -10%, rgb(0 0 0 / 50%) 35%, transparent 70%);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}

/** PROVEEDORES **/

/** MENSAJE ENVIADO **/

#sended {
    background-image: url(../img/bgcontact.webp);
    width: 100%;
    height: 100vh;
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
}
#sended::before {
    background: radial-gradient(circle, var(--main_clr), black);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.9;
}
.logo_send {
    width: 140px;
    padding: 0 0 1rem;
}

/** MENSAJE ENVIADO **/

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

.input_hidden {display: none;}

#loading_oculto_01,
#loading_oculto {
    z-index: 1050;
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    visibility: hidden;
    transform: translate(0, -50%);
    background: rgb(0 0 0 / 80%);
    backdrop-filter: blur(3px);
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
}
#loading_oculto_01 img,
#loading_oculto img {
    filter: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(5788%) hue-rotate(229deg) brightness(122%) contrast(100%);
    width: 120px;
    margin: 0 auto;
}

.nodata_img {filter: hue-rotate(200deg);width: 200px;margin: 2rem 0;}

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

/* CAPTCHA VALIDACION */

#captcha-error {
    font-size: 0.6em;
    position: relative;
    width: fit-content;
    height: fit-content;
    right: 0;
    opacity: 1;
    transform: translate(0, 0);
    background: #fff;
    padding: 0.5rem;
    border-radius: 3px;
    border: 1px solid;
    font-weight: 500;
}

/* FIN CAPTCHA VALIDACION */
