html, * {
    margin: 0;
    padding: 0;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

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

@font-face {
    font-family: "Main";
    src: url("./fonts/neuropolitical-rg.otf");
}

@font-face {
    font-family: "Secondary";
    src: url("./fonts/Haymer_PetiteCapitals_Light_TT.ttf");
}

@font-face {
    font-family: "Text";
    src: url("./fonts/Interstate-LightCondensed.otf");
}

h1, h2, h5 {
 font-family: Main!important;
}

h2.support-title {
    font-size: 55px;
    color: #86ba56;
    margin:auto;
    text-align: center;
}

h2.main-title {
    font-size: 40px;
    margin:auto;
    text-align: center;
    margin-top: 20px;
}

h1 span, h2 span {
 color: #86ba56;
}

h3, h4, h5 {
 font-family: Secondary;
}

p, a, li, button {
    font-family: Text;
}

@media screen and (max-width: 560px) {

       h2.support-title {
           font-size: 45px;
           color: #86ba56;
           margin:auto;
           text-align: center;
       }
       
       h2.main-title {
           font-size: 30px;
       }

}

 h2.no-fill {
    color: black;
    -webkit-text-fill-color: transparent; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #fff;
  }
  

a.call-to-action {


}

/* BUTTONS */
.carousel-item button {
  cursor: pointer;
  padding: 10px 12px;
  font-size: 16px;
  width: 120px;
  height: 50px;
  margin: auto;
  margin-bottom: 20px;
  background-color: transparent;
}

#outside-container-circle {
  color: #fff!important;
  border: 2px solid #fff!important;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  display: block;
}

#outside-container-circle span {
  transition: color 1s ease;
}

#outside-container-circle:before {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 100%;
  width: 200px;
  height: 100px;
  background-color: #3876bf;
  border-radius: 50%;
  transition: all 0.3s ease;
}

#outside-container-circle:hover:before {
  top: -30px;
  left: -30px;
}

#outside-container-circle:hover span {
  color: #fff;
  z-index: 99999;
  position: relative;
}

/*CARRUSEL*/

.carousel-item img {
  filter:brightness(0.8);
}

.carousel-item {
  height: 100vh;
  min-height: 300px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.carousel-item img {
  filter:brightness(0.8);
}

.carousel-caption {
  bottom: 120px!important;
}

.carousel-caption h5 {
  font-size: 50px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 5px;
  margin-bottom: 50px;
}

.carousel-caption p {
  width: 75%;
  margin: auto;
  font-size: 18px;
  line-height: 1.9;
}

.navbar-light .navbar-brand {
  color: #fff;
  font-size: 25px;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 2px;
}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {
  color: #fff;
}

.navbar-light .navbar-nav .nav-link {
  color: #fff;
}

.navbar-toggler {
  background: #fff;
}

.navbar-nav {
  text-align: center;
}

.nav-link {
  padding: .2rem 1rem;
}

.nav-link.active,.nav-link:focus{
  color: #fff;
}

.navbar-toggler {
  padding: 1px 5px;
  font-size: 18px;
  line-height: 0.3;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
  color: #fff;
}

@media screen and (max-width: 568px) {
  .carousel-indicators {
   bottom: 25%!important;
   display: none!important;
  }
  .carousel, .carousel-inner {
    height: 25vh;
  }

  .carousel-caption{
    bottom: 0;
    top: 5%;
    left: 10%!important;
    right: 10%!important;
  }

  .carousel-caption h5 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  #outside-container-circle {
    border-radius: 5px;
  }

  .carousel-item button {
    padding: 0;
    font-size: 15px;
    width: 120px;
    height: 35px;
  }
}


.main-container {
    padding: 20px 5px;
    margin-top: 50px;
}

.main {
    height: 100vh;
    background-image: url("../media/main.png");
    background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("../media/main.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.main .main-copy{
    width: 80%;
    padding: 10px;
    font-size: 32px;
    color: #fff;
    letter-spacing: 2px;
    margin: auto;
    text-align: left;
    font-weight: lighter;
    margin-top: 300px;
}

.main .main-copy h2 {
    width: 50%;
}

.main .main-copy p {
    font-size: 20px;
    margin-top: 20px;
}


.main h1 span {
    color: #86ba56;
}

@media screen and (max-width: 769px) {

    .main .main-copy{
        width: 80%;
        padding: 10px;
        font-size: 20px;
        margin-top: 350px;
    }
    
    .main h1 span {
        color: #86ba56;
    }

}

@media screen and (max-width: 560px) {

    .main .main-copy{
        width: 90%;
        font-size: 20px;
        margin-top: 280px;
    }
    
    .main h1 span {
        color: #86ba56;
    }

}

/*ABOUT*/

.about-content {
    width: 80%;
    margin: auto;
    display: flex;
    padding: 10px;
    /* justify-content: space-evenly; */
    flex-direction: column;
    margin-top: 0px;
    margin-bottom: 50px;
}

.about-content img {
    width: 70%;
    margin: auto;
    text-align: center;
    border-radius: 20px 0 20px 0;
    -webkit-box-shadow: 3px 3px 16px -4px rgba(0,0,0,0.75);
    -moz-box-shadow: 3px 3px 16px -4px rgba(0,0,0,0.75);
    box-shadow: 3px 3px 16px -4px rgba(0,0,0,0.75);
    margin-top: 50px;
}


 .about-text {
    width: 90%;
    text-align: center;
    margin: auto;
 }   

.about-text h2 {
    text-align: center;
}

.about-content p {
    font-size: 20px;
    margin-top: 50px;
    line-height: 2rem;
}

@media screen and (max-width: 769px) {

    .about-content {
        width: 90%;
        flex-direction: column;
    }
    
    .about-content img {
        width: 100%;
    }
    
    
     .about-text {
        width: 100%;
        text-align: center;
     }   
    
    .about-text h2 {
        text-align: center;
    }
    
    .about-content p {
        font-size: 20px;
        margin-top: 50px;
        line-height: 2rem;
    }

    .about-btn {
        text-align: center;
        margin: auto;
        margin-top: 50px;
        margin-bottom: 50px;
    }

}

/* SERVICES */

.servicios {
    margin-top: 20px;
    margin-bottom: 50px;
}

.service-list {
    width: 80%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.service-item {
    width: 47%;
    height: 350px;
    padding: 20px 20px;
    margin-top: 60px;
    text-align: center;
    border: 3px solid #f2f2f2;
    /* background-color: #f5f5f5; */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-sizing: border-box;
    transition: all .5s ease;
    position: relative;
    overflow: hidden;
}

.service-item .support-img {
    width: 100%;
    overflow: hidden;
    position: absolute;
    top: -110%;
    transition: all .3s ease;
    z-index: -1;
    filter: brightness(0.6);
}

.service-item:hover {
    background-color: #f5f5f5;
    transform: translateY(-10px);
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    color: #fff;
} 

.service-item:hover #outside-container-circle {
    border: 2px solid #fff;
    color: #fff;
} 



.service-item:hover .support-img{
    top: 0;
} 

.service-item h3{
    font-size: 24px;
}


.service-item p{
    line-height: 2rem;
}

.service-item img.white-icon{
    display: none;
}

.service-item:hover img.white-icon {
    display: block;
} 

.service-item:hover img.main-icon {
    display: none;
} 

.service-catalogo {
    box-sizing: border-box;
    width: 80%;
    height: 400px;
    margin: auto;
    margin-top: 50px;
    background-color: #f5f5f5;
    text-align: center;
    background-image: url("../media/catalogo.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #fff;
    padding: 10px 50px;
    position: relative;
}

.service-catalogo::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.service-catalogo h3 {
    font-size: 30px;
    z-index: 2;
}

.service-catalogo p {
    line-height: 2rem;
    font-size: 20px;
    z-index: 2;
}

.servicios video {
    width: 70%;
    height: 450px;
    margin: auto;
    display: block;
    margin-top: 70px;
}

p.eddy-desc {
    width: 80%;
    margin: auto;
    margin-top: 20px;
    text-align: center;
    font-size: 20px;
    line-height: 50px;
}

.beneficios {
    width: 80%;
    margin: auto;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 20px;
    text-align: center;
}

.b-item {
    width: 32%;
}

.b-item img {
    padding: 10px;
}

.b-item h5 {
    font-size: 20px;
}

.b-item p {
    font-size: 18px;
    line-height: 30px;
}


@media screen and (max-width: 769px) {
    
    .service-list {
        width: 90%;
    }
    
    .service-item {
        width: 100%;
    }
    
    .service-item h3{
        font-size: 28px;
    }
    
    .service-catalogo {
        width: 90%;
    }

    .servicios video {
        width: 90%;
    }

    .beneficios {
        flex-direction: column;
    }

    .b-item {
        width: 100%;
        margin-top: 20px;
    }
}

@media screen and (max-width: 769px) {

    .service-item {
        width: 100%;
        height: 500px;
    }

    .servicios video {
        height: auto;
    }

}

/* CLIENTES  */
.testimonials-list-logo {
    width: 70%;
    margin: auto;
    margin-top: 60px;
    display: flex;
    overflow-x: hidden;
    overflow-y: hidden;
    margin-bottom: 100px;
  }
  
  .testimonials-list-logo__item {
    width: 80px;
    min-width: 150px;
    cursor: pointer;
    margin-right: 20px;
  }
  
  .testimonials-list-logo__item img {
    width: auto;
  }

/*CONTACTO*/

.main-contact-container {
    display: flex;
    align-items: center;
    margin-top: 20px;

}

.contact-img {
    width: 50%;
    height: 80vh;
    overflow: hidden;
    position: relative;
}

.contact-img::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(34,38,82, 0.6);
}

.contact-title {
    width: 80%;
    position: absolute;
    top: 25%;
    left: 10%;
    text-align: center;
    z-index: 2;
    font-size: 20px;
    color: #fff;
    line-height: 70px;
}

.contact-title h2 {
    font-size: 25px;
}

h2.title-background {
    background-color: #86ba56;
    border-radius: 40px;
}

.form {
    width: 50%;
    box-sizing: border-box;
  }
  
  .form form {
    width: 80%;
    margin: auto;
    box-sizing: border-box;
  }
  
  .form input,
  .form select {
    border: 2px solid #227F71;
    padding: 15px;
    margin-top: 15px;
    max-width: 100%;
    font-family: Text;
  }

  .form select {
    padding: 13px;

  }
  
  .form .complete-input input {
    width: 94%;
  }

  .form .complete-input input.number-input {
    -webkit-appearance: none;
    margin: 0;
    }
  
  .form .split-input {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .form .split-input input{
    width: 43%;
  }

  .form .split-input select {
    width: 48%;
  }
  
  .form .complete-input textarea {
    width: 96%;
    margin-top: 20px;
    border: 2px solid #227F71;
    padding: 10px;
    font-family: Text;
  }
  
  .form input[type="submit"] {
    width: 30%;
    border: none;
    color: #227F71;
    font-size: 1rem;
    border: 2px solid #227F71;
    background-color: transparent;
    cursor: pointer;
    transition: all .3s ease;
    display: block;
  }

  
  .form input[type="submit"]:hover{
    background-color: #227F71;
    color: #fff;
  }
  
  .map {
    width: 90%;
    margin: auto;
    margin-top: 20px;
    height: auto;
    display: none;
  }

  @media screen and (max-width: 769px) {

    
    .main-contact-container {
        flex-direction: column;
    }
    
    .contact-img {
        width: 100%;
        height: 50vh;
        overflow: hidden;
        position: relative;
    }

    
    .contact-title {
        top: 30%;
        left: 25%;
    }

    .form {
        width: 100%;
        box-sizing: border-box;
      }
      
      .form form {
        width: 90%;
      }
    
      .form select {
        padding: 13px;
    
      }

      
      .form .split-input {
        flex-direction: column;
      }
      
      .form .split-input input{
        width: 95%;
      }
    
      .form .split-input select {
        width: 100%;
      }
      
      .form .complete-input textarea {
        width: 97%;
      }
      
      .form input[type="submit"] {
        width: 50%;
        background-color: #227F71;
        color: #fff;
      }
    
      
      .map {
        margin-top: 20px;
        height: 60vh;
      }

  }
  
  @media screen and (max-width: 560px) {
    
    .contact-title {
        top: 10%;
        left: 10%;
        font-size: 18px;
        line-height: 50px;
    }

    .contact-title h2{
        font-size: 20px;
    }

    .form {
        width: 100%;
        box-sizing: border-box;
      }
      
      .form form {
        width: 90%;
      }
    
      .form .split-input input{
        width: 95%;
      }

      .form .complete-input input{
        width: 95%;
        margin-left: -8px;
      }
    
      .form .split-input select {
        width: 95%;
        -ms-box-sizing:content-box;
        -moz-box-sizing:content-box;
        -webkit-box-sizing:content-box; 
        box-sizing:content-box;
    }
      
      .form .complete-input textarea {
        width: 97%;
        margin-left: -5px;
      }

      .form select {
        padding: 13px;
      }


      .form input[type="submit"] {
       margin: auto;
       margin-top: 30px;
      }

  }
  
  #toast {
    border-radius: 5px;
        visibility: hidden;
        max-width: 50px;
        height: 50px;
        /*margin-left: -125px;*/
        margin: auto;
        background-color: #227F71;
        color: #fff;
        text-align: center;
        border-radius: 2px;
        font-family: Text;
        position: fixed;
        z-index: 1;
        left: 0;right:0;
        bottom: 30px;
        font-size: 14px;
        white-space: nowrap;
    }
    #toast #img{
        width: 50px;
        height: 50px;
        float: left;
        padding-top: 16px;
        padding-bottom: 16px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #227F71;
        color: #fff;
    }
    #toast #desc{
    
        
        color: #fff;
       
        padding: 16px;
        
        overflow: hidden;
        white-space: nowrap;
    }
    
    #toast.show {
        visibility: visible;
        -webkit-animation: fadein 0.5s, expand 0.5s 0.5s,stay 3s 1s, shrink 0.5s 2s, fadeout 0.5s 2.5s;
        animation: fadein 0.5s, expand 0.5s 0.5s,stay 3s 1s, shrink 0.5s 4s, fadeout 0.5s 4.5s;
    }
    
    @-webkit-keyframes fadein {
        from {bottom: 0; opacity: 0;} 
        to {bottom: 30px; opacity: 1;}
    }
    
    @keyframes fadein {
        from {bottom: 0; opacity: 0;}
        to {bottom: 30px; opacity: 1;}
    }
    
    @-webkit-keyframes expand {
        from {min-width: 50px} 
        to {min-width: 550px}
    }
    
    @keyframes expand {
        from {min-width: 50px}
        to {min-width: 550px}
    }
    @-webkit-keyframes stay {
        from {min-width: 350px} 
        to {min-width: 550px}
    }
    
    @keyframes stay {
        from {min-width: 550px}
        to {min-width: 550px}
    }
    @-webkit-keyframes shrink {
        from {min-width: 350px;} 
        to {min-width: 50px;}
    }
    
    @keyframes shrink {
        from {min-width: 350px;} 
        to {min-width: 50px;}
    }
    
    @-webkit-keyframes fadeout {
        from {bottom: 30px; opacity: 1;} 
        to {bottom: 60px; opacity: 0;}
    }
    
    @keyframes fadeout {
        from {bottom: 30px; opacity: 1;}
        to {bottom: 60px; opacity: 0;}
    }
  