html {
   scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }
}

* {
   margin: 0;
   padding: 0;
   list-style-type: none;
}

body {
   font-family: "Montserrat", serif;
   font-size: 1em;
   line-height: 1.3;
   margin: 0;
   padding: 0;
   color: #000;
}

h1 {
   font-size: 2.125em;
   line-height: 1;
   margin-bottom: 0.5em;
}

h2 {
   font-size: 2.125em;
}

h3 {
   font-size: 1.5em;
   margin: 0 0 1em 0;
   font-weight: 400;
   line-height: 1.2;
}

h4 {
   font-size: 1.125em;
   line-height: 1.2;
   margin: 0 0 0.75em 0;
}

p {
   font-size: 1em;
   margin-bottom: 1em;
}

img {
   max-width: 100%;
}

a {
   transition: 0.2s;
}

a:hover {
   color: #00d6d6;
}

video {
   max-width: 100%;
}

.button {
   background-color: #008600;
   border-radius: 80px;
   display: inline-block;
   width: 100%;
   color: #FFF;
   font-weight: 700;
   height: 64px;
   padding: 0 20px;
   text-align: center;
   line-height: 64px;
   text-decoration: none;
   font-size: 1em;
   margin: 1em 0.75em 0 0.75em;
   max-width: 260px;
   transition: 0.2s;
}

.button:hover {
   background-color: #00d6d6;
   color: #FFF;
}

.clearfix::after {
   content: "";
   clear: both;
   display: table;
}

.wrap {
  margin: 0 auto;
  padding: 5em 0;
  width: 90%;
}

.highlight {
   color: #00d6d6;
}

.floatRight {
   margin-top: 2em;
}

@media only screen and (min-width: 900px) {

   h1 {
      font-size: 2.50em;
   }

   h2 {
      font-size: 2.125em;
   }

   h3 {
      font-size: 1.6130em;
      font-weight: 400;
   }

   h4 {
      font-size: 1.25em;
      margin: 0 0 0.75em 0;
   }

   p {
      font-size: 1.125em;
   }

   .floatLeft {
      float: left;
      width: 50%;
      margin-right: 5%;
   }

   .floatRight {
      float: right;
      margin-top: 0;
      width: 42%;
   }

}

/****   HEADER   ****/

.header .wrap {
   padding: 1.5em 0;
}


nav,
footer,
.socials,
.logo {
  text-align: center;
  vertical-align: middle;
  margin: 0;
}

.nav a,
.socials a {
  color: #000;
  font-weight: 600;
  text-decoration: none;
  margin: 0.5em 1em;
  vertical-align: middle;
  display: inline-block;
}

.nav a:hover {
   color: #00d6d6;
}

.nav img {
   vertical-align: middle;
   margin-top: 6px;
}

.nav {
   font-size: 1em;
   margin: 1.5em 0;
}

@media only screen and (min-width: 900px) {

   .nav {
      font-size: 1.125em;
   }

   .nav img {
      margin-top: 0;
   }

}

/****   INTRO   ****/

.intro {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 50% 50% ;
   background-image: url('images/homeBanner.jpg');
   color: #FFF;
}

.intro p,
.intro h1 {
   margin: 0 0 0.5em 0;
   max-width: 640px;
}

.intro .floatRight {
   display: none;
}

@media only screen and (min-width: 900px) {

   .intro {
      font-size: 1.125em;
   }


   .intro .button {
      font-size: 0.913em;
   }

   .intro .floatRight {
      display: block;
   }

}



/****  SERVICES   ****/

#ruta {
   background-color: #edf6ff;
}

#services {
   text-align: center;
   padding: 5em 0;
}

#services h3 {
   max-width: 720px;
   margin-left: auto;
   margin-right: auto;
   width: 90%;
}

#ruta h3 {
   margin-top: 2em;
}

.sevicesList {
   margin-top: 4em;
   width: 100%;
}

.sevicesList li {
   display: inline-block;
   width: 28%;
   margin: 0 2%;
   vertical-align: top;
   margin-bottom: 3em;
}

.sevicesList img {
   display: block;
   margin: 0 auto 1em auto;
   width: 42px;
}

@media only screen and (min-width: 900px) {

   .sevicesList li {
      width: 15%;
      margin: 0 2%;
      margin-bottom: 3em;
   }

   .sevicesList img {
      width: 50px;
   }

}

/****   BENEFITS   ****/

#benefits {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 50% 50% ;
   background-image: url('images/benefitsBanner.jpg');
   color: #f6f4e9;
}

#benefits ul li,
#ruta ul li {
   background-image: url('images/check.png');
   background-repeat: no-repeat;
   background-position: 0 30%;
   padding-left: 30px;
   background-size: 20px;
   margin: 1em 0;
}

#ruta ul li {
   border-bottom-color: #c9e2f8;
}

#benefits ul li:last-of-type,
#ruta ul li:last-of-type {
   border: none;
   padding-bottom: 0;
   margin-bottom: 0;
}

/****  TESTIMONIALS  ****/


#testimonials {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 50% 100%;
   background-color: #eee;
   font-size: 1.125em;
}

.testimonialCard {
   box-shadow: 0 10px 20px rgba(0,0,0,0.08);
   border-radius: 13px;
   background-color: #FFF;
   padding: 2em 0;
}

#testimonials h1 {
   color: #FFF !important;
   margin-bottom: 0 1em 1em 1em;
}

.testimonialCard h4 {
   line-height: 1.25;
   margin: 0.5em 0 0 0;
}

@media only screen and (min-width: 900px) {

   #testimonials h1 {
      margin: 2em 1em;
   }

   .testimonialCard {
      padding: 2.5em 0;
   }

}

/****   COMO TRABAJAMOS   ****/

#certificacion {
   text-align: left !important;
   background-color: orange;
}

#certificacion,
#ecosistema {
   text-align: center;
}

#certificacion h1,
#certificacion p,
#certificacion h3,
#ecosistema h1,
#ecosistema p,
#ecosistema h3 {
   max-width: 860px;
   margin-left: auto;
   margin-right: auto;
}

.workList {
   margin-top: 4em;
   width: 100%;
}

.workList li {
   display: block;
   vertical-align: top;
   margin-bottom: 2em;
}

.workList img {
   display: block;
   margin: 0 auto 1em auto;
}

#ecosistema {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 50% 50% ;
   background-image: url('images/ecosistemaBanner.jpg');
}

#quienes-somos {
   background-repeat: no-repeat;
   background-size: cover;
   background-position: 50% 50% ;
   background-image: url('images/impactoBanner.jpg');
}

#quienes-somos .floatRight {
   text-align: center;
}

#quienes-somos img {
   border-radius: 50%;
   display: block;
   margin: auto auto 2em auto;
   width: 50%;
}


@media only screen and (min-width: 900px) {

   .workList li {
      display: inline-block;
      width: 30%;
      margin: 0 4%;
      margin-bottom: 3em;
   }

}


/****   ELEGIRNOS   ****/

#elegirnos {
   background-color: #f3f3fa;
}


.mapaVideo h4 {
   text-decoration: underline;
   text-align: center;
}

.mapaVideo video {
   margin: 1em 0;
}


#gracias {
   text-align: center;
   color: #00182e;
   padding-top: 2em;
}

.eventDetails {
   border-radius: 8px;
   border: 1px solid;
   padding: 2em;
   text-align: left;
   max-width: 500px;
   margin: 3em auto;
}

.eventDetails ul {
   margin-top: 2em;
}

.eventDetails li {
   margin-top: 1.25em;
   vertical-align: middle;
}

.eventDetails img {
   vertical-align: middle;
   margin-right: 8px;
}




