/*CSS by AGRA*/
/*
Font: Montserrat
*/
:root{
    --blanco: #ffffff;
    --negro: #000000;
    --amarillo: #ffc107;
    --verde: #4caf50;
    --azul: #2196f3;
    --rojo: #f44336;
    --gris: #575756;
}

/*Let's Start*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700&display=swap');
/*** 

====================================================================
  Globals
====================================================================

***/
body{
  margin: 0;
  padding: 0;
}
body, h1, h2, h3, h4, h5, h6{
    font-family: 'Questrial', sans-serif;
}
a:hover{
  text-decoration: none!important;
}
*:focus{
	outline: none;
}
.container{
  padding: 0 100px;
}
.container-header{
  background: rgba(255,255,255,.75);
  position: relative;
  z-index: 99;
  width: 100%;
  /*box-shadow: 0px 2px 5px rgba(0,0,0,.6);*/
  border-bottom: 1px solid #000;
  padding: 0 40px;
}
#home .container-header{
  position: absolute;
}
.navbar{
  padding: 0;
}
.box-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo-header img{
  width: 190px;
}
.f-nav{
  background: var(--blanco);
  position: fixed!important;
  animation-name: scroll-down;
  animation-duration: 1.5s;
}
@keyframes scroll-down {
  from {transform: translate(0,-100%);}
  to {transfrom: translate(0,0);}
}
.f-nav .navbar-nav a{
  color: var(--gris);
}
.l-blanca{
  color: var(--blanco);
}
.l-amarilla{
  color: var(--amarillo);
}
.l-azul{
  color: var(--azul);
}
.l-verde{
  color: var(--verde);
}
.l-roja{
  color: var(--rojo);
}
.l-gris{
  color: var(--gris);
}
.justi-p{
  text-align: justify;
}
.p-tb0{
  padding: 0!important;
}
.p-tb40{
  padding: 40px 0;
}
.p-tb50{
  padding: 50px 0;
}
.p-tb100{
  padding: 100px 0;
}
.separator-100{
  padding: 100px 0;
}
.m-b0{
  margin-bottom: 0!important;
}
.m-b10{
  margin-bottom: 10px!important;
}
.m-t20{
  margin-top: 20px!important;
}

/*Footer*/
.flex-footer{
    display: flex;
    align-items: center;
}
.flex-footer .footer-left{
    display: flex;
    align-items: center;
    text-align: left;
}
.flex-footer p, .flex-footer a{
    color: var(--blanco)!important;
    margin-bottom: 0;
}
.flex-footer .footer-center{
    text-align: center;
}
.flex-footer .footer-center p{
    color: var(--blanco);
}
.flex-footer .footer-right{
    text-align: right;
}
.flex-footer .footer-right img{
    max-width: 140px;
    height: 100%;
}

/*** 

====================================================================
  Home
====================================================================

***/
#sec1{
  position: relative;
  min-height: 100vh;
  width: 100%;
}
#sec1 img{
  min-height: 100vh;
  width: 100%;
  object-fit: cover;
}
#sec2{
  position: relative;
  min-height: 100%;
  width: 100%;
}
#sec2 img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#sec3{
  position: relative;
  min-height: 100%;
  width: 100%;
}
#sec3 img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#contacto.section{
  padding: 70px 0;
  background: url('../archivos/home/bg-footer.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#contacto .contentBx .title{
  font-size: 35px;
  font-weight: 500;
  color: var(--gris);
  margin-bottom: 40px;
  line-height: normal;
}
#contacto .contentBx .subtitle{
  font-size: 20px;
  font-weight: 500;
  color: var(--gris);
  margin-bottom: 70px;
  line-height: normal;
}
#contacto .contentBx img{
  width: 150px;
  margin-bottom: 20px;
}
#contacto .contentBx .description{
  font-size: 18px;
  color: var(--gris);
  font-weight: 500;
  margin-bottom: 30px; 
  line-height: normal;
}
#contacto .col-md-4 .contentBx:nth-child(2){
  margin-bottom: 30px;
}
#contacto .contentBx.infoBx .title{
  font-size: 20px;
  font-weight: 500;
  color: var(--gris);
  margin-bottom: 20px;
}
#contacto .contentBx.infoBx a{
  display: block;
  font-size: 18px;
  color: var(--gris);
  font-weight: 500;
  margin-bottom: 5px;
}
#contacto .contentBx.infoBx a i{
  font-size: 15px;
  color: var(--negro);
  margin-right: 5px;
}
#contacto .contentBx.infoBx a.whatsapp{
  color: var(--verde);
  padding: 2px 10px;
  border: 1px solid var(--verde);
  width: fit-content;
  margin-left: -10px;
}
#contacto .contentBx.infoBx a.whatsapp i{
  color: var(--verde);
}
#contacto .contentBx.infoBx a.address{
  white-space: pre-line;
  line-height: normal;
}
#contacto form{
  padding-left: 30px;
}
#contacto form .form-group .col-md-6:first-child{
  padding-right: 5px;
}
#contacto form .form-group .col-md-6:last-child{
  padding-left: 5px;
}
#contacto form input, #contacto form select, #contacto form textarea{
  padding: 10px 20px;
  width: 100%;
  color: var(--gris);
  font-weight: 500;
  height: 100%;
}
#contacto form input:focus, #contacto form select:focus #contacto form textarea:focus{
  outline: none;
}
#contacto form input::placeholder, #contacto form select:required:invalid, #contacto form textarea::placeholder{
  font-size: 14px!important;
  color: var(--gris);
  font-weight: 600;
}
#contacto form .btn-form{
  cursor: pointer;
  color: var(--gris);
  padding: 10px 35px;
  border: 1px solid var(--verde);
  background: transparent;
  width: fit-content;
  margin: 30px auto 0;
  position: relative;
  z-index: 11;
  transition: .5s ease-in-out;
}
#contacto form .btn-form:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 100%;
  background: var(--verde);
  transition: .5s ease-in-out;
}
#contacto form .btn-form:hover:before{
  height: 100%;
  z-index: -1;
}
#contacto form .btn-form:hover{
  color: var(--blanco);
}
#footer{
  margin-top: 55px;
}
#footer .flex-row{
  display: flex;
  align-items: center;
  padding: 50px 0 0 0;
  position: relative;
}
#footer .flex-row:before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 30px);
  height: 1px;
  background: var(--negro);
}
#footer .contentBx p{
  font-size: 15px;
  color: var(--gris);
  font-weight: 500;
  margin-bottom: 0;
  line-height: normal;
}
#footer .contentBx.polities{
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
#footer .contentBx.polities a{
  display: block;
  color: var(--gris);
  line-height: normal;
  font-weight: 500;
  font-size: 15px;
}
#footer .contentBx.polities span{
  margin: 0 10px;
}
#footer .contentBx.social-networks{
  text-align: right;
}
#footer .contentBx.social-networks a{
  display: inline-flex;
  color: var(--gris);
  font-size: 15px;
  margin: 0 8px;
}
#footer .contentBx.social-networks a:last-child{
  margin-right: 0;
}
.wow{visibility: hidden;}

/*Redes Desktop*/
.cont-info-float{position: fixed; top: 50%; right: 5px; z-index: 99; transform: translateY(-50%);}
.info-float img{width: 50px; display: block; margin: 10px 0; filter: drop-shadow(1px 3px 2px black);}
.cont-redes-phone{display: none;}
.info-float img.face-float{width: 44px; padding: 1px; filter: drop-shadow(2px 4px 2px black); margin-left: 1px;}

/*Animation*/
.info-float:hover img{animation: move linear 2s infinite;}

@keyframes move{
  0%{transform: translateX(-10px);}
  50%{transform: translateX(10px);}
  100%{transform: translateX(-10px);}
}

/*** 

====================================================================
  Responsive
====================================================================

***/
/*Ipad Pro Vertical*/
@media only screen 
  and (min-device-width: 1024px) 
  and (max-device-width: 1366px) 
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: portrait){
    
}

/*Ipad Pro Horizontal*/
@media only screen 
  and (min-device-width: 1024px) 
  and (max-device-width: 1366px) 
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: landscape){
    
}

/*Ipad Horizontal*/
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) { 
    
}

/*Ipad Vertical*/
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) { 
    
}
/* Mobile */
@media only screen and (max-width: 767px) {
  .container{padding: 0 15px !important;}
  #contacto .contentBx.infoBx a{margin-bottom: 10px !important;}
  #contacto .contentBx.infoBx a.whatsapp{margin-left: 0 !important;}
  #contacto form{padding-left: 0; margin-top: 50px !important;}
  #contacto form .form-group .col-md-6:first-child{padding-right: 15px; margin-bottom: 15px!important;}
  #contacto form .form-group .col-md-6:last-child{padding-left: 15px !important;}
  #contacto.section{padding: 70px 0!important;}
}


/*Phone Vertical*/
@media only screen
  and (min-width: 320px) 
  and (max-width: 420px) 
  and (orientation: portrait){ 
    .hidden-mb{display: none!important;}
  	.navbar-nav a{padding-top: 10px; padding-bottom: 0px;}
  	.logo-header img{width: 150px;}
  	.container-header{padding: 0 15px; background: var(--blanco);}
  	.logo-header, .navbar-toggler{margin-bottom: 0px;}
    #footer .contentBx.copyright{text-align: center; margin-bottom: 20px;}
    #footer .contentBx.social-networks{text-align: center; margin-top: 20px;}


    /*Redes Phone*/
    .cont-info-float{display: none;}
    .cont-redes-phone{display: block; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 9999;}
    .cont-redes-phone .cont-style{border-top: 1px solid var(--negro); display: flex; align-items: center;}
    .whats-phone{font-size: 19px; background: var(--blanco); width: 33.33%; padding: 10px 0; border-right: 1px solid var(--negro);}
    .phone-phone{font-size: 19px; background: var(--blanco); width: 33.33%; padding: 10px 0; border-right: 1px solid var(--negro);}
    .mail-phone{font-size: 19px; background: var(--blanco); width: 33.33%; padding: 10px 0;}
    .whats-phone i, .facebook-phone i. .phone-phone i, .mail-phone i{color: var(--negro)!important;}

}

/*Phone Horizontal*/
@media only screen
  and (min-width: 320px) 
  and (max-width: 736px) 
  and (orientation: landscape){ 
  .cont-info-float{display: none;}
}