/* Generales */
*{
    margin: 0;
    box-sizing: border-box;
	min-width: 0; 
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
:root{
    scroll-behavior: smooth;
    --white: #fff;
    --black: #000;
   	--dark: #18171b; 	
    --light: #96a4d2;
    --clear: #F8F7F7; 	
    --bgcolor: #D2D2CD;	  /* Gris Claro */
    --content-color: #262727;  /* Oscuro */
    --primary: #262727;  /* Pantone 300c */
	--dark-blue: #004a9b;
    --medium-gray: #A6A5A5;
	--slate-grey: #293031; /* 3D4849 */
	--blue-gray: #36454f;
	--white-smoke: #F5F5F5;	
    --secondary: #1c1b24;
	--blue: #007bff;
	--new-light: #94a3b8;
    --drk: #1b1b1b;
    --accent:#727070;
}
body{
    font-family: "Montserrat", Tahoma, sans-serif, Arial;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--content-color);
    text-align: left;
}
.privacy-policy a { color:#191c1e; }
.privacy-policy a:hover { color:#29475a; }
strong {
    font-weight: 500;
}
 h1, h2, h3, h4 {
    text-wrap: balance;
  }
  p {
    text-wrap: pretty; 
  }
  h1, h2, h3, h4, li, p {
    color: var(--content-color);
  }
  a { text-decoration: none; color:#CCC; }
h4{
  font-weight: 400;
  font-size: 0.9rem;
}
.container{    
    width: 100%;
    margin-inline: auto;
    overflow: hidden;
	padding: 80px 0;
}
.contain{
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
  }
/* Estilos para el header */
.header {
  background: rgba(24, 23, 27, 0.97);
  width: 100%;
  z-index: 100;
  position: fixed;
}
/* Navegación */
.nav{
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;

    --url-menu: url("../img/menu.svg");
    --opacity-menu: 0;
    --transform-menu: translateY(-120%);
    --pointer-menu: none;
}
.nav:has( :checked ){
    --url-menu: url("../img/close.svg");
    --opacity-menu: 1;
    --transform-menu: translate(0);
    --pointer-menu: unset;
}
.nav__logo{
    width: 100%;
    max-width: 280px;
}
.nav__img{
    width: 100%;
    display: block;
}
.nav__menu{
    position: absolute;
    top: 80px;
    inset-inline: 0;
    padding: 30px 5%;
    background-color: var(--content-color);
    pointer-events: var(--pointer-menu);
    opacity: var(--opacity-menu);
    transform: var(--transform-menu);
    transition: .8s opacity, transform .8s;
}
.nav__links{
    list-style:none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.nav__link{
    color: var(--new-light);
    text-decoration: none;
	font-size:1.2rem;
}
.nav__link:hover{
    color: var(--white-smoke);
}
.nav__buttons{
    display: flex;
    gap: 1.5rem;
    margin-top: 1.5rem;
}
.nav__buttons a {
    transition: 0.2s ease;
    color: var(--medium-gray);
    text-decoration: none;
    font-size:1.1rem;
}
.nav__label{
    display: block;
    width: 40px;
    height: 40px;
	color: var(--white-smoke);
    background-image: var(--url-menu);
    background-size: contain;
    background-position: center;
    cursor: pointer;
    transition: background-image .4s;
}

[id="menu"]{
    display: none;
}

/* Hero Main */
  .hero{
    display: flex;
    max-width: 100%;   
    height: 100vh;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.33)), url('../img/bg-istockphoto-construct.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;    
  }
  .hero_main{
    display: flex;
    max-width: 1000px;
    flex-flow: row wrap;
    justify-content: left;
    text-align: left;
  }
  .hero_figure{
    order: -1;
    padding: 20px 0;
  }
  .hero_img{
    width: 100%;
    display: block;
    max-width: 400px;
    margin: 0 auto;
  }
  .hero_texts{
    display:flex;
	flex-flow: column;
	gap: 1.2rem;
   	justify-content: center;
	padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .hero_title{
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.3rem;
	color: var(--white-smoke);
  }
  .hero_subtitle{
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.8rem;
	color: var(--white-smoke);
  }
 .hero_cta {   
    background-color: var(--orange);
    text-decoration: none;
    color: var(--white-smoke);
    padding: 1em 3em;
    justify-self: center;
  }
.title{
    font-size: 2.1875rem;
    font-weight: 500;
    line-height: 2.7rem;
	color:var(--content-color);
    margin-bottom: 30px;
}
.subtitle{
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5rem;
}
.paragraph{
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.3em;
}
.home_about{
    background-color: var(--bgcolor) ;
    color: var(--content-color);
}
.article_container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.img{
    display: block;
    margin: 0 auto;
    aspect-ratio: 1/1; 
    max-width: 100%; 
    object-fit: cover;
    object-position: top;
}
.content_text {
    display: grid;
    gap: 1.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.content_text_services{
  display: grid;
  gap: 1.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.home_info{
    /* background-color: var(--bgcolor); */
    color: var(--content-color);
}
.info_container{
    display: grid;
    gap: 3rem;
}

.mouse {
    width: 25px;
    height: 45px;
    border: 2px solid var(--white-smoke);
    position: absolute;
    bottom: 20px;
    left: 50%;
    margin-left: -12.5px;
    border-radius: 12px;
}
.mouse:after {
    content: "";
    position: absolute;
    height: 5px;
    width: 5px;
    background-color: var(--white-smoke);
    border-radius: 100%;
    left: 50%;
    margin-left: -2.5px;
    top: 10px;
     -webkit-animation: rotateplane 1.2s infinite ease-in-out;
             animation: rotateplane 1.2s infinite ease-in-out;
}
/* Botones */
.button_slide a {
  color: var(--content-color);
  border: 2px solid var(--dark);
  border-radius: 0px;
  padding: 18px 55px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: inset 0 0 0 0 var(--white-smoke);
  -webkit-transition: ease-out 0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out 0.4s;
}
.slide_right a:hover {
  box-shadow: inset 400px 0 0 0 var(--dark);
  color: var(--bgcolor);
}
.button_call a {
  color: var(--bgcolor);
  border: 2px solid var(--bgcolor);
  border-radius: 0px;
  padding: 18px 55px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: inset 0 0 0 0 var(--white-smoke);
  -webkit-transition: ease-out 0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out 0.4s;
}
.button_call a:hover {
  box-shadow: inset 400px 0 0 0 var(--bgcolor);
  color: var(--content-color);
}
/* Fin Botones */

@media (width > 768px) {
    .nav__logo{
        max-width: 300px;
    }
    .hero__main{
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

/* Desktop */
@media (width > 1024px) {
    .nav{
        height: 80px;
        --opacity-menu: 1;
        --transform-menu: unset;
        --pointer-menu: unset;
    }
    .nav__menu{
        position: static;
        flex-grow: 1;

        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        background-color: transparent;
    }
    .nav__links{
        margin: 0 auto;
        flex-direction: row;
        gap: 1.8rem;
    }
    .nav__label{
        display: none;
    }
	.nav__buttons{
		display: flex;
		gap: 1.5rem;
		margin-top: 0;
	}
	.nav__buttons a {
		transition: 0.2s ease;
		color: var(--medium-gray);
		text-decoration: none;
		font-size:1.1rem;
	}
	.nav__buttons a:hover {
		color: var(--clear);
	}
	.article_container {
        display: flex;
        flex-direction: row; 
       min-height: 550px;
      align-items: center;
    }
	.content_text_services{
        display: grid;
        gap: 2rem;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        width: 55%;        
   }
   .services_figure{
      width: 45%;
      order: -1;
   }
   .about_figure, .info_figure, .general_figure{
      width: 45%;
   }
   .content_text {
        display: grid;
        gap: 1em;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
        width: 55%;
        text-align: start;
    }	
}
/* Fin Desktop */
/* Pantallas Desktop */
.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /* margin-right: -15px;
    margin-left: -15px; */
    width: 100%;
}

/* Info */
.info{
    background: var(--dark);
    color: var(--clear);
}
.info h1{ 
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.5rem;
}
.content_top {
	display: grid;
	gap: 0.5rem;
	justify-content: center;
	margin: 0 auto;
	padding:40px;
    text-align: center;
    max-width: 1300px;
}
.section_white h1, .section_white h2, .section_white h3, .section_white h4, .section_white li, .section_white p {
    color: var(--clear);
}
/**/
.Emergency_contact .single_emergency {
    padding: 91px 0;
    padding-right: 30px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
}
.Emergency_contact .single_emergency .info01, .Emergency_contact .single_emergency .info_button {
    margin:0 10px;
    padding-bottom: 14px;
    text-align: center;
    
}  
@media (max-width: 767px) {
    
    .Emergency_contact .single_emergency {
      padding: 30px;
      display: block !important;
     
    }
}
@media (min-width: 768px) {

    .Emergency_contact .single_emergency {
        padding: 91px 0;
        padding-right: 30px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        flex-direction: column;
        gap: 1rem;
      
    }
    .Emergency_contact .single_emergency .info01, .Emergency_contact .single_emergency .info_button {
        margin:0 30px;
        padding-bottom: 14px;
        text-align: center;
        
    }  

}
@media (min-width: 1200px) and (max-width: 1500px) {
    
    .Emergency_contact .single_emergency .info01 h3 {
      font-size: 20px;
    }
}  
.Emergency_contact .single_emergency .info01 h3 {
font-size: 26px;
font-weight: 500;
color: var(--clear);
} 
.Emergency_contact .single_emergency .info01 p {
color: var(--clear);
font-size: 13px;
font-weight: 400;
margin-bottom: 0;
}  
.emergency_bg_1 {
background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.692) 100%), url(../img/banner/banner_construction_projects.webp);
}  
.emergency_bg_2 {
background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.692) 100%), url(../img/banner/construction-worker.webp);
}

.no-gutters>.col, .no-gutters>[class*=col-] {
padding-right: 0;
padding-left: 0;
}
  
/**/

.overlay_skyblue {
    position: relative;
    z-index: 0;
}
.align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
}
.justify-content-center {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
}
.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

.boxed-btn3-white {
    color: var(--clear);
    display: inline-block;
    padding: 9px 24px;
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 400;
    border: 0;
    border: 1px solid var(--clear);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    text-align: center;
    color: var(--clear) !important;
    text-transform: capitalize;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    cursor: pointer;
}
  /* line 80, C:/Users/SPN Graphics/Desktop/CL September/210 Medical/HTML/scss/_btn.scss */
  .boxed-btn3-white:hover {
    background: var(--clear);
    color: var(--content-color) !important;
    border: 1px solid transparent;
  }
  
  /* line 85, C:/Users/SPN Graphics/Desktop/CL September/210 Medical/HTML/scss/_btn.scss */
  .boxed-btn3-white:focus {
    outline: none;
  }
  .col-xl-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;

    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;

    color: #fff;
}
@media (min-width: 768px) {
    .col-xl-6 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;

        position: relative;
        width: 100%;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;

        color: #fff;
    }
}


/* slider full screen */
#wrapper {
	position: relative;	
	display: flex;
    max-width: 100%;   
    height: 100vh;
   
}
#slider-area {
	position: absolute;
	height: 100vh;
	width: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}
#slider-area::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.699);
	/* background: rgba(1, 10, 53, 0.699); */
	
}
#slider-area .owl-item div {
	height: 100vh;
	width: 100%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
}
#wrapper #nav-area {
	position: absolute;
	top: 5%;
	left: 50%;
	text-align: center;
	z-index: 1;
}


/*  CSS3 Animations
/* ---------------------------------------------- */
/* Hero unit mouse animation */

@-webkit-keyframes rotateplane { 
    0% {
        -webkit-transform: translateY(-2px)
    }

    100% {
        -webkit-transform: translateY(7px)
    }
}
@keyframes rotateplane { 
    0% {
        transform: translateY(-2px);
        -webkit-transform: translateY(-2px);
    }

    100% {
        transform: translateY(7px);
        -webkit-transform: translateY(7px);
    }
}
.container--hero{
    padding: 0;
  }
  /* Bloquear scroll cuando el menú está abierto */
.no-scroll {
    overflow: hidden;
}
/*****/
/* CTA */
.banner{
    background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.892) 100%), url('../img/banner.jpg');
    background-size: cover;
    background-position: center;
    text-align: center;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.banner p { 
	color: var(--white-smoke);
}
.banner_item{
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
    display: grid;
    gap: 1.5rem;
}
.banner_title {
    font-size: 1.5rem;
    line-height: 1.7rem;
	color: var(--white-smoke);
    font-weight: 500;
}
/* Fin CTA */

/*** Footer ***/
.footer {
    background-color: var(--dark);
    color: var(--white-smoke);
    padding: 4rem 2rem 2rem;
    position: relative;
}
.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    max-width: 1400px;
    margin: 0 auto;
}
.footer-col .footer_figure { text-align: center;  }
.footer-col .footer_figure img { width:100%; }
.footer-col {
    margin-bottom: 2rem;
}
.footer-title {
    color: var(--clear);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid rgba(255,255,255,0.1);
}
.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.footer-nav a {
    color: var(--bgcolor);
    text-decoration: none;
    transition: all 0.3s ease;
}
.footer-nav a:hover {
    color: var(--white);
    transform: translateX(5px);
}
.footer-contact p {
    margin: 1rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    opacity: 0.9;
	color: var(--bgcolor);
}
.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.newsletter-form input {
    padding: 0.8rem;
    border-radius: 5px;
    border: none;
    background: rgba(255,255,255,0.1);
    color: white;
	font-family: "Montserrat", serif;
}
.newsletter-form button {
    background: var(--primary-blue);
    color: white;
    border: none;
    padding: 0.8rem 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
	font-family: "Montserrat", serif;
}
.newsletter-form button:hover {
    background: var(--dark-blue);
}
.social-media {
    margin-top: 2rem;
    display: flex;
    gap: 1rem;
	justify-content: center;
}
.social-media a {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.social-media a:hover {
    background: var(--accent);
}
.social-media svg {
    width: 20px;
    height: 20px;
    fill: #b9b8b8;
}
.footer-bottom {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex;
    justify-content: space-around;
    gap: 1rem;
}
.footer-bottom a {
   color: var(--medium-gray);
}
.footer-bottom p { 
	color: var(--bgcolor); 
}
.legal-links {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
}
.legal-links a {
	color: var(--bgcolor);
    text-decoration: none;
    transition: color 0.3s ease;
}
.legal-links a:hover {
    color: var(--primary-blue);
}
@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .footer-nav {
        gap: 0.5rem;
    }
    
    .footer-contact p {
        margin: 0.5rem 0;
    }
    
    .newsletter-form input {
        width: 100%;
    }
    
    .social-media {
        justify-content: center;
    }
    
    .legal-links {
        flex-wrap: wrap;
        gap: 1rem;
    }
}
/* Fin Footer */
.align-self-end {
    align-self: flex-end !important;
}
.w-75 {
    width: 75% !important;
}
.img-fluid {
    max-width: 100%;
    height: auto;
}
img, svg {
    vertical-align: middle;
}
.flex-column {
    flex-direction: column !important;
}
.d-flex {
    display: flex !important;
}
.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}
.p-5 {
    padding: 1rem !important;
}
@media (width > 1024px) {
   	.p-5 {
		padding: 3rem !important;
	}
}
.w-50 {
    width: 50% !important;
}
.text-light {
    color: var(--new-light) !important;
}
.bg-secondary {
    background-color: var(--drk) !important;
}
.text-primary {
    color: var(--primary) !important;
}
.text-secondary {
    color: var(--light) !important;
}
.py-1 {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important;
}
.px-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}
.d-inline-block {
    display: inline-block !important;
}
p {
    margin-top: 0;
    margin-bottom: 1rem;
}
#about_star h5 {
    color: var(--clear);
    font-size: 1.1rem;
    line-height: 0.9;
    font-weight: 500;
    margin-top: -10px;
}
#about_star h4 {
    font-size: 1.4rem;
    color: var(--new-light);
}
#about_star h1 {
    line-height: 3rem;
    padding-bottom: 1rem;
}
.g-4, .gx-4 {
    --bs-gutter-x: 1.5rem;
}
/* Fin About CP */
/*
---------------------------------------------
about
---------------------------------------------
*/
#about .title { margin-bottom: 0; }
#about h4 {
    font-size: 1.5rem;
    font-weight: 600;
}
.col-lg-6 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;

    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    overflow: hidden;
}
.us-abs { 
    display: flex; 
    flex-direction: row;
    gap: 2rem;
}
  @media (min-width: 992px) {
    .contain {
        width: 96.5%;
        margin: 0 auto;
        overflow: hidden;
    }
    .col-lg-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;

        position: relative;
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;

    }
    .us-abs { 
        display: flex; 
        flex-direction: row;
        gap: 2rem;
    }
    #about_star h4 {
        font-size: 2rem;
    }
    #about_star h5 {
        color: var(--clear);
        font-size: 1.35rem;
        line-height: 0.9;
        font-weight: 500;
        margin-top: -10px;
    }
}
@media (min-width: 768px) {
    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;

        position: relative;
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }
}
/* About CP */ 
.nav__menu li a.active {
    color: var(--clear);
}
  
/* Otras Paginas */
.top_firts {
    padding-top: 150px;
}
.banner_about{
    background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.692) 100%), url("../img/casas-de-madera.jpg");
    width: 100%;
    height: 280px;
    padding-top: 90px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}
.banner_services{
    background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.692) 100%), url("../img/working.jpg");
    width: 100%;
    height: 280px;
    padding-top: 90px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}
.banner_top{
    background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.692) 100%), url("../img/contact.jpg");
    width: 100%;
    height: 280px;
    padding-top: 90px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}
.banner_contact{
    background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.699) 0%, rgba(0, 0, 0, 0.692) 100%), url("../img/contact.jpg");
    width: 100%;
    height: 280px;
    padding-top: 90px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}

.textos-banner_top{    
    height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.textos-banner_top h2{
    font-size: 37px;
    color: #FFFFFF;
    font-weight: 500;
}

/* Media Queries: ajustes para dispositivos móviles (<768px) */
@media (max-width: 1144px) {  
    
    .banner_top{       
        height: 160px !important;      
    }    
    .textos-banner_top{        
        height: 160px  !important;       
    }
    .banner_about{       
        height: 280px !important;      
    }    
    .textos-banner_about{        
        height: 160px  !important;       
    }
    .banner_services{       
        height: 280px !important;      
    }    
    .textos-banner_services{        
        height: 160px  !important;       
    }
 }
 
 /* Cards */
 section .title_cards h3 {
    width: 100%;
    max-width: 1000px;
    text-align: center !important;
    color: var(--primary);
    font-size: 1.8rem;
    font-weight: 600;
    margin: 0 auto;
 }
.cards{
    margin: 2.5rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    text-align: center;
}
.content-cards{
    padding-top: 20px;
    display: flex;
	gap:1rem;
    width: 100%;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
.card{
    width: 98%;
    text-align: center;    
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2);
    transform: scale(1);
    transition: transform 0.2s;
    margin: 5px;	
	flex-grow: 1;
	display: flex;
	gap: 1.5rem;
}
.card_paragraph { 
    padding-top: 30px; 
    padding-right: 20px;
}
@media (width > 1024px) {
   	.card{
		width: 300px;
		max-width: 500px;
		text-align: center;
		box-shadow: 0 0 2px 0 rgba(0, 0, 0, .2);
		transform: scale(1);
		transition: transform 0.2s;
		margin: 5px;		
		flex-grow: 1;
		display: flex;
		gap: 1.5rem;	
	}
}
.card:hover{
    transform: scale(1.01);
    cursor: pointer;
}
.card i{
    margin: 30px 0 20px 0;
    color: var(--primary-blue);
    font-size: 50px;
}
.card_figure{
    width: 40px;
    height: 40px;
    background-color: var(--primary);
    margin-top: 30px;
    margin-left: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.card_text{
    width: 50%;
    flex-grow: 1;
}
.card_title{
	padding-top: 1rem;
    font-size: 1.3rem;
    margin-bottom: .8rem;
}
.cards__paragraph{
    font-weight: 300;
    font-size: 25px;
    margin-bottom: 10px;
	 line-height: 1.8;
}

/* ** CONTACT ** */
 .col-lg-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;

        position: relative;
        width: 100%;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;
    }
    .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;

        position: relative;
        width: 100%;
        min-height: 1px;
        padding-right: 15px;
        padding-left: 15px;
    }
.btn-whatsapp {
        display:block;
        width:70px;
        height:70px;
        color#fff;
        position: fixed;
        right:17px;
        bottom:17px;
        border-radius:50%;
        line-height:50px;
        text-align:center;
        z-index:999;
}
/* Validacion */
.contact-form #sendmessage {
    color: #FFF;
    border: 1px solid #14469d;
    display: none;
    text-align: center;
    padding: 25px;
    font-weight: 500;
    margin-bottom: 15px;
    width: 100%;
  }
  
  .contact-form #errormessage {
    color: red;
    display: none;
    border: 1px solid red;
    text-align: center;
    padding: 15px;
    font-weight: 600;
    margin-bottom: 15px;
  }
  
  .contact-form #sendmessage.show, .contact-form #errormessage.show, .contact-form .show {
    display: block;
  }
  
  .form .validation {
    color: red;
    display: none;
    margin: 0 0 20px;
    font-weight: 400;
    font-size: 13px;
  }
  /* Fin Validacion */
  
/* Contacto */
.contact{
    background: var(--content-color);
    color: #6C7293;
}
.contact h3 {  
    font-size: 1.5rem;
    font-weight: 500;
    padding-bottom: 1rem;
}

.form{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.input{
    background: transparent;
    border: 0;
    color: var(--bgcolor);
    outline: none;
    border: 1px  solid var(--bgcolor);
    padding: 20px 10px;
    font-size: 1rem;
}

.input::placeholder{
    color: var(--bgcolor);
    
}

input[type="text"], 
input[type="tel"], 
input[type="email"]{
    display: inline-block;
    width: 100%;
    margin-bottom: 30px;
}

.form textarea{
    width: 100%;
    margin-bottom: 15px;
}

input[type="submit"]{
    width: 120px;
    text-align: center;
    padding: 14px 0;
    font-weight: 500;
}

input[type="submit"]:hover{
    cursor: pointer;
    color: var(--dark-blue);
    background: var(--bgcolor);
}
.cont_cont {
    width: 90%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto;
    padding: 70px 0 0 0;
    text-align: center;
}
.contenedor {
    width: 90%;
    max-width: 1000px;
    overflow: hidden;
    margin: auto;
    padding: 80px 0 80px 0;
} 
.contact_title
{
	font-size: 1.4rem;
	color: var(--clear);
    padding-bottom: 20px;
}

/* Otro Formulario Contacto */


.form-floating>label {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding: 1rem .75rem;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
    color: var(--new-light);
}
label {
    display: inline-block;
}
.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--white-smoke);
    /* background-color: #fff; */
    background-clip: padding-box;
    border: 1px solid #6C7293;
    appearance: none;
    border-radius: 0px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-floating {
    position: relative;
    margin: 0 0.3rem;
}

.mb-3 {
    margin-bottom: 1rem !important;
}
.form-select-lg {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
}
.form-select {
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    /* background-color: #fff; */
    background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e);
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


.form-floating>.form-control:focus, .form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}
.form-floating>.form-control:focus ~ label, .form-floating>.form-control:not(:placeholder-shown) ~ label, .form-floating>.form-select ~ label {
    opacity: .65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating>.form-control, .form-floating>.form-select {
    height: calc(3.5rem + 2px);
    padding: 1rem .75rem;
}
.bg-transparent {
    background-color: rgba(0, 0, 0, 0) !important;
}
/* Fin Otro Formulario Contacto */
.bg-dark {
    background-color: var(--black) !important;
}
.bg-secondary h1 {
    color: var(--clear);
    font-weight: 500;
}
.bg-secondary p {
    color: var(--medium-gray);
}

 .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    width: 100%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto;
    background-color: var(--black);
}
.h-100 {
    height: 100% !important;
}
.col-12 {
    flex: 0 0 auto;
    width: 100%;
}
.contact .container-xxl	{
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    
}
.contact .row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) / 2);
    padding-left: calc(var(--bs-gutter-x) / 2);
    margin-top: var(--bs-gutter-y);
}

/* .row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) / 2);
    padding-left: calc(var(--bs-gutter-x) / 2);
    margin-top: var(--bs-gutter-y);
} */
label {
    display: inline-block;
}

label {
    cursor: default;
}

/* .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) / -2);
    margin-left: calc(var(--bs-gutter-x) / -2)
}  */
 .g-3, .gy-3 {   
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.g-3, .gx-3 {
    padding-right: 1rem;    
    padding-left: 1rem;   
} 


.btn {
    font-weight: 500;
    transition: .5s;
}
.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
.w-100 {
    width: 100% !important;
}
.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #6C7293;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: 0px;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn-primary {
    color: var(--clear);
    background-color: var(--primary);
    border-color: var(--primary);
}

@media (prefers-reduced-motion: reduce){
    .form-floating>label{transition:none}
}
.form-floating>.form-control::placeholder{color:transparent}
.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){
    padding-top:1.625rem;padding-bottom:.625rem
}
.form-floating>.form-control:-webkit-autofill{
    padding-top:1.625rem;padding-bottom:.625rem
}
.form-floating>.form-select{
    padding-top:1.625rem;padding-bottom:.625rem;
    color: var(--new-light);
}
.form-floating>.form-select option {
    background-color: var(--content-color);
    color: var(--white-smoke);
}
.form-floating>.form-control:focus ~ label,.form-floating>.form-control:not(:placeholder-shown) ~ label,.form-floating>.form-select ~ label{
    opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)
}
.form-floating>.form-control:-webkit-autofill ~ label{
        opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)
    }
/*     
.input-group{
    position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%
}
.input-group>.form-control,.input-group>.form-select{
    position:relative;flex:1 1 auto;width:1%;min-width:0
}
.input-group>.form-control:focus,.input-group>.form-select:focus{
    z-index:3
}
.input-group .btn{
    position:relative;z-index:2
}
.input-group .btn:focus{
    z-index:3
}
.input-group-text{
    display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;
    font-weight:400;line-height:1.5;color:#FFF;text-align:center;
    white-space:nowrap;background-color:#e9ecef;border:1px solid #6C7293;border-radius:0px
}
.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{
    padding:.5rem 1rem;font-size:1.25rem;border-radius:0px
}
.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{
    padding:.25rem .5rem;font-size:.875rem;border-radius:0px
}
.input-group-lg>.form-select,.input-group-sm>.form-select{
    padding-right:3rem
}
.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){
    border-top-right-radius:0;border-bottom-right-radius:0
}
.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){
    border-top-right-radius:0;border-bottom-right-radius:0
}
.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){
    margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0
}
 */

select {
    background-image: url(../img/flecha.png); 
    background-repeat: no-repeat;
    background-position: right center;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none; 
}
select::-ms-expand {
    display: none; 
}
