html, body {
font-family: 'IBM Plex Sans', sans-serif;
-ms-flex:1;
}
h1, h2, h3, h4, h5, h6 {
  margin:0;
  padding:0;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 300 !important;
}
h2 {
  font-size: 52px;
  line-height: 64px;
}
h3 {
  font-size:38px;
  line-height: 46px;
}
h4 {
  font-size: 31px;
  line-height: 37px;
}
h5 {
  font-size: 30px;
  line-height: 37px;
}
h6 {
  font-size: 30px;
  line-height: 36px;
}
p, a, button {
  font-weight: 300 !important;
  font-family: 'IBM Plex Sans', sans-serif !important;
}
.btn_custom, .btn__custom {
  color:black;
  border:1px solid black;
  background-color:transparent;
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 400;
  white-space: nowrap;
  vertical-align: middle;
  user-select: none;
  padding:.375rem .75rem;
  font-size: 11px;
  line-height: 13px;
  transition:all .3s;
  -webkit-transition:all .3s;
  -moz-transition: all .3s;
}
.btn_custom:hover,
.btn__custom:hover {
  outline:0;
  -webkit-box-shadow:none;
  -moz-box-shadow:none;
  box-shadow:none;
  opacity: 1;
  background-color: #A4D4A2;
  border-color:#A4D4A2;
  text-decoration: none;
  color:black;
}
.bg_dark {
  background-color:#383839;
}
.bg_light {
  background-color:#EDE5DE;
}
a {
  -webkit-transition:all .3s;
     -moz-transition:all .3s;
          transition:all .3s;
}
a:focus, input:focus, button:focus, button:hover, button {
  outline:0;
  outline-color:transparent !important;
  outline-width: 0 !important;
  outline-style: none !important;
  -webkit-box-shadow:none;
     -moz-box-shadow:none;
          box-shadow:none;
}
.owl-nav .owl-prev,
.owl-nav .owl-next {
  font-size: 12px !important;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance:none;
}
input[type=number]{
  -moz-appearance:textfield;
}
.owl-prev:hover,
.owl-next:hover {
  color:#A4D4A2 !important;
}

/*******************************************************************************
                                LOADER
*******************************************************************************/
.overlay_loader {
  position: fixed;
  top:0;
  right:0;
  bottom:0;
  left: 0;
  z-index: 1040;
  background-color: #000;
  opacity: .9;
}
.lds-ring {
  width: 64px;
  height: 64px;
  display: inline-block;
  position:fixed;
  top:0;
  left: 0;
  right: 0;
  bottom:0;
  z-index: 1050;
  margin:auto;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 51px;
  height: 51px;
  margin: 6px;
  border: 6px solid #A4D4A2;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #A4D4A2 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*******************************************************************************
                                    HEADER
*******************************************************************************/
:root {
  --mainColor: #fff;
}
:root {
  --backColor: #A4D4A2;
}
.navbar {
  padding: 10px;
  -webkit-transition:all .3s;
  -moz-transition:all .3s;
  transition:all .3s;
}
.navbar .navbar-brand {
  padding:0;
  margin:0;
  max-width: 120px;
}
@media (min-width:768px) and (max-width:1023px) {
  .navbar .navbar-brand {
    max-width: 100px;
  }
}
.navbar #main-menu li {
  position: relative;
  margin:
}
  .navbar #main-menu li a {
    text-transform: uppercase;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 12px;
    background: linear-gradient(to bottom, var(--mainColor) 0%, var(--mainColor) 0%);
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: 0;
    color: #000;
    text-decoration: none;
    transition: background-size .2s;
    padding-bottom:0;
    margin: 0 10px;
  }
  .navbar #main-menu li a:hover,
  .navbar #main-menu li a:focus,
  .navbar #main-menu li.active a {
    background-size: 1px 10px;
  }
.navbar.navbar-transparent {
  background-color:transparent;
}
  .navbar.navbar-transparent #main-menu li a {
    color:white;
    background:linear-gradient(to bottom, var(--backColor) 0%, var(--backColor) 0%);
    background-position:bottom;
    background-repeat: repeat-x;
    background-size:0;
    transition: background-size .2s;
  }
  .navbar.navbar-transparent #main-menu li a:hover,
  .navbar.navbar-transparent #main-menu li a:focus {
    background-size:1px 10px;
  }
.navbar.navbar-color {
  background-color:#EDE5DE;
  -webkit-box-shadow:0px 2px 4px rgba(0,0,0,0.2);
     -moz-box-shadow:0px 2px 4px rgba(0,0,0,0.2);
          box-shadow:0px 2px 4px rgba(0,0,0,0.2);
}
.navbar.navbar-color #main-menu li a {
  color:black;
}
@media (min-width:768px) {
  header {
    min-height: 80px;
  }
}
.navbar-toggler {
  border:1px solid transparent;
  border-radius:5rem !important;
  width: 45px;
  height: 45px;
}
.navbar-toggler:focus {
  outline:0 !important;

}
.navbar-transparent .navbar-toggler {
  background-color:rgba(0,0,0,.5);
  color:white;
}
.navbar-color .navbar-toggler {
  background-color:transparent;
  color:black;
  border-color:black;
}
@media (max-width:767px) {
  .navbar {
    padding:0 10px;
    -webkit-transition:none;
    -moz-transition:none;
    transition:none;
  }
  .navbar .navbar-brand {
    max-width:100px;
  }
  #menu-Princial.fade {
    -webkit-transform:scale(0);
    -moz-transform:scale(0);
    transform:scale(0);
    -webkit-transition:all .2s;
    -moz-transition:all .2s;
    transition:all .2s;
  }
  #menu-Principal.fade.in {
    -webkit-transform:scale(1);
    -moz-transform:scale(1);
    transform:scale(1);
  }
  #menu-Principal .modal-dialog {
    margin:0;
  }
  #menu-Principal .modal-content {
    width: 100%;
    min-height: 100vh;
  }
  #menu-Principal .modal-header {
    border-bottom:0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    background-color:#EDE5DE;
  }
    #menu-Principal .modal-header .brand {
      width: 100%;
      height: auto;
      max-width: 100px;
    }
    #menu-Principal .modal-header .close_menu {
      background:transparent;
      border-radius: 5rem;
      width: 45px;
      height: 45px;
      border:1px solid black;
      color:black;
    }
  #menu-Principal .modal-body {
    color:black;
    background-color:#EDE5DE;
  }
  #menu-Principal .modal-body .menu-mobile li {
    padding:5px 0;
    position: relative;
  }
    #menu-Principal .modal-body .menu-mobile .nav-link {
      color:black;
      text-transform: uppercase;
      font-size:20px;
      font-family: 'IBM Plex Sans', sans-serif;
      position:relative;
      z-index:2;
      cursor:default;
      background:linear-gradient(to bottom, #fff 0%, #fff 0%);
      background-position:bottom;
      background-size:0;
      background-repeat:repeat-x;
      transition:background-size .3s;
      padding:0;
    }
      #menu-Principal .modal-body .menu-mobile li:nth-child(1) .nav-link {
        width:105px;
      }
      #menu-Principal .modal-body .menu-mobile li:nth-child(2) .nav-link {
        width:90px;
      }
      #menu-Principal .modal-body .menu-mobile li:nth-child(3) .nav-link {
        width:110px;
      }
      #menu-Principal .modal-body .menu-mobile li:nth-child(4) .nav-link {
        width:130px;
      }
      #menu-Principal .modal-body .menu-mobile li:nth-child(5) .nav-link {
        width:110px;
      }
      #menu-Principal .modal-body .menu-mobile li:nth-child(6) .nav-link {
        width:105px;
      }
    #menu-Principal .modal-body .menu-mobile .active .nav-link {
       background-size:1px 15px;
    }
    #menu-Principal .modal-body .menu-mobile .nav-link:focus {
      background-size:1px 15px;
    }
}
/*******************************************************************************
                                    CONTACTO
*******************************************************************************/
#contacto {
  background-color: rgba(237,229,222,.5);
  margin-top:30px;
}

  #contacto h4 {
    font-size: 13px;
    line-height: 19px;
    text-transform: uppercase;
    text-align: left;
    font-family: 'IBM Plex Sans', sans-serif;
  }
  #contacto h2 {
    font-size: 38px;
    line-height: 44px;
    text-align: left;
    font-family: 'IBM Plex Sans', sans-serif;
  }
  #contacto .right_content .form-control {
    border:0;
    border-bottom:1px solid rgba(151,151,151,.5);
    border-radius:0;
    background-color:transparent;
    margin-bottom: 50px;
  }
  #contacto .right_content .form-control.invalid {
    border-bottom:1px solid red;
    margin-bottom: 0px;
  }
  #contacto .right_content .form-control.invalid:focus {
    border-bottom:1px solid rgba(151,151,151,.5);
  }
  #contacto .right_content .form-control.invalid:focus ~ .error {
    display: none;
  }
    #contacto .form-control:focus {
      outline:0;
      -webkit-box-shadow:none;
         -moz-box-shadow:none;
              box-shadow:none;
    }
    #contacto label {
      font-size:13px;
      text-transform: uppercase;
      color: #383839;
      font-family: 'IBM Plex Sans', sans-serif;
    }
  #contacto textarea {
    height: 100px;
    width:100%;
    font-family: 'IBM Plex Sans', sans-serif;
  }
  #contacto .btn_custom {
    border:1px solid;
    float: right;
    width: 100%;
    max-width: 122px;
    height: 35px;
  }
  #contacto .btn_custom:hover,
  #contacto .btn_custom:focus {
    border:1px solid transparent;
  }
  #contacto .form-group {
    position:relative;
    /* margin-bottom: 50px; */
  }
    #contacto .error {
      font-size: 12px !important;
      position:absolute;
      top: 40px;
      right:6px;
    }
    #contacto .especial-error .error {
      top:105px;
    }
      #contacto .error p {
        color:red;
      }
  #contacto .success_message h2 {
    font-size: 38px;
    margin-bottom:0 !important;
  }
  #contacto .success_message h3 {
    font-size: 22px;
    margin-bottom:20px;
  }
@media (min-width:1900px) {
  #contacto .right_content {
      margin-left: 0 !important;
  }
}
@media (min-width:768px) and (max-width:1000px) {
  #contacto .right_content {
    padding:30px 0;
  }
  #contacto .contactForm {
    margin-bottom:30px;
  }
}
@media (min-width:768px) {
  #contacto .row {
    display:flex;
    align-items:center;
    flex-direction:row;
  }
    #contacto .left_content.col-md-6.col-12 {
      margin-left:0;
      padding-left: 0;
    }
      #contacto .left_content img.img-fluid {
        min-height: 600px;
        object-fit: cover;
      }
    #contacto .right_content {
      width: 490px;
      margin:auto;
    }
      #contacto .right_content h4,
      #contacto .right_content h2 {
        margin-bottom:30px;
        font-family: 'IBM Plex Sans', sans-serif;
      }
      #contacto .right_content h4::after {
        content:'';
        display: block;
        background-color:#EDE5DE;
        width: 100%;
        height: 6px;
        margin:30px 0;
      }
      #contacton .right_content h2 {
        margin-bottom: 50px;
      }
}
@media (max-width:767px) {
  #contacto {
    padding-top: 0;
  }
  #contacto .right_content .btn_custom {
    margin-bottom:30px;
  }
    #contacto .right_content h4 {
      margin-top:30px;
    }
    #contacto .right_content h2 {
      font-size:28px;
      margin-bottom:30px;
    }
    #contacto .right_content h4::after {
      content:'';
      display: block;
      background-color:#EDE5DE;
      width: 100%;
      height: 6px;
      margin:20px 0;
     }
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #383839;
  font-size:13px;
  text-transform:uppercase;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #383839;
  font-size:13px;
  text-transform:uppercase;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #383839;
  font-size:13px;
  text-transform:uppercase;
}
:-moz-placeholder { /* Firefox 18- */
  color: #383839;
  font-size:13px;
  text-transform:uppercase;
}
/*******************************************************************************
                                    FOOTER
*******************************************************************************/
.custom-footer {
  background-color:#383839;
  color:#EDE5DE;
  font-family: 'IBM Plex Sans', sans-serif;
  height: 174px;
  display: flex;
  align-items: center;
}
  .custom-footer a {
    color:#EDE5DE;
    font-size: 17px;
    font-family: 'IBM Plex Sans', sans-serif;
    text-decoration: underline;
  }
  .custom-footer a:hover {
    color:#A4D4A2;
  }
  .custom-footer .footer_title {
    text-transform: uppercase;
    font-size: 11px;
    padding-bottom:10px;
  }
  .custom-footer p {
    font-size: 17px;
    margin-bottom:0;
  }
  .custom-footer .whatsapp {
    display: flex;
    align-items: center
  }
    .custom-footer .whatsapp i {
      margin-right: 5px;
    }
.custom-footer .grid-item-different {
  display: flex;
  flex-direction:column;
  align-items: flex-end;
}
  .custom-footer .rrss {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 40px;
  }
    .custom-footer .rrss a{
      width: 20px;
      font-family: 'IBM Plex Sans', sans-serif;
    }
    @media (max-width:767px) {
      .custom-footer {
        height: auto;
      }
}
@media (min-width:768px) {
  .custom-footer .phone a {
    pointer-events: none;
    text-decoration: none;
    cursor:text;
  }
  .custom-footer .phone a:hover {
    color:#EDE5DE;
  }
}
.custom-footer .phone .only-ie {
  display: none;
}
.IE .custom-footer .phone .general {
  display: none;
}
.IE .custom-footer .phone .only-ie {
  display: block;
}
