body, html{
  margin:0;
  font-family: 'Source Sans Pro', sans-serif;

}
a{
  text-decoration: none;
}
/* ================ Site wide styles ================ */

header{
  width:100%;
  background:#B61C16;
  background-repeat: no-repeat;
  background-size: cover;
  min-height:150px;
  height:20vh;
}

header h1{
  color:white;
  text-align: center;
  font-size:4em;
  font-weight: normal;
  position:relative;
  top:-40%;
}

.flex-container{
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.title{ /*GENERAL*/
  margin:0;
  padding:0;
  font-size: 26px;
  font-weight:bold;
}

.sub-title{ /*GENERAL*/
  font-size:30px;
}

.text-lg{ /*GENERAL*/
  text-align:center;
  font-size: 28px;
  margin:0;
  font-weight: normal;
  color:#272727;
}

.content-lg{ /*GENERAL*/
  font-size:22px;
  margin: 0;
}

.content-md{ /*GENERAL*/
  font-size: 20px;
  font-weight:400;
  color:#272727;
  margin:12px 0 0 0;
}

/* --- Nav bar styles --- */
nav{
  height:80px;
  position: relative;
  z-index: 2;
}

nav a{
  color: white;
}
nav ul{
  list-style:none;
  display: inline-block;
  float:right;
  font-size:25px;
  margin-right:50px;
}

nav li{
  float:right;
  margin: 0 20px;
  font-size: 24px;
  position:relative;
}

nav li::before{
  content:'';
  height:4px;
  width:0;
  background: white;
  position:absolute;
  bottom:-5px;
  -webkit-transition: width 250ms ease-in-out;
  -o-transition: width 250ms ease-in-out;
  transition: width 250ms ease-in-out;
}

nav li:hover::before{
  width:100%;
}

.active-page{
  color:white;
}

.active-page::before{
  width:100%;
}

#nav-icon{
  height:70px;
  margin: 5px 0 0 35px;
}

#nav__hamburger{
  height:100%;
  cursor:pointer;
  float:right;
  -webkit-transition: transform 250ms ease-out;
  -o-transition: transform 250ms ease-out;
  transition: transform 250ms ease-out;
  position:relative;
  display: none;
}
#nav__hamburger--x{
  position: absolute;
  opacity: 0;
  -webkit-transition: opacity 250ms ease-in-out;
  -o-transition: opacity 250ms ease-in-out;
  transition: opacity 250ms ease-in-out;
}

#nav__hamburger--bars{
  position: absolute;
  -webkit-transition: opacity 250ms ease-in-out;
  -o-transition: opacity 250ms ease-in-out;
  transition: opacity 250ms ease-in-out;
}

.visible{
  opacity:1!important;
}
.invisible{
  opacity:0!important;
}

.grow{
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
}

/* media query for header */

@media only screen and (max-width: 1000px){
  header h1{
    font-size: 3em;
    top:-20%;
  }
  #nav-icon{
  height:70%;
  margin: 13px 0 0 15px;
  max-height: 70px;
}

  #nav__hamburger{
    display: block;
  }
  nav li{
    float: none;
    text-align: center;
    background: #1a1a1a;
    width:100%;
    padding:20px 20px;
    box-sizing: border-box;
    margin:0;
  }
  nav li:hover::before{
    width:0;
  }

  .active-page{
    background: #323030;
}
  .active-page::before{
    width: 0;
  }

  nav ul{
    position: absolute;
    width:100vw;
    margin:0;
    top:80px;
    right:0;
    left:0;
    padding:0;

    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transition: transform 250ms ease-in-out;
    -o-transition: transform 250ms ease-in-out;
    transition: transform 250ms ease-in-out;

    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    -o-transform-origin: top;
    transform-origin: top;
  }
} /* end of navbar media query */
/* --- end of nav bar styles --- */


/* --- footer styles --- */

footer{
  background: #0C0C0C;
  color: #878787;
  display: flex;
  justify-content: space-between;
  height:auto;
  box-sizing: border-box;
  padding:10px 20px 10px 20px;
}
footer h2, p{
  margin:0;
}
.footer-all-rights{
  align-self: flex-end;
}
.footer-contact{
  text-align: center;
  align-self: flex-end;
}

footer svg{
  height:100px;
}

footer svg:hover path{
  fill:#939393;
}

@media only screen and (max-width: 750px){
  footer{
    flex-direction: column;
  }
  footer svg{
    order: 1;
  }
  .footer-all-rights{
    align-self: center;
    order: 3;
  }
  .footer-contact{
    align-self: center;
    order: 2;
    border-top:1px solid #878787;
    border-bottom:1px solid #878787;
    padding:0 0 20px 0;
    margin:20px 0;
  }
}
/* --- end of footer styles --- */


/* ================ Home page styles ================ */

/* --- Section 1 styles --- */
#section1{
  height:100vh;
  min-height: 800px;
  box-sizing: border-box;
}

#home-header{
  min-height:430px;
  height:60vh;
  background-position: center -120px;
  background-image:url("img/lillighter.jpg");
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 82%, 50% 100%, 0 89%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 82%, 50% 100%, 0 89%);
  margin-bottom:-40px;
}

@media only screen and (max-width: 940px){
  #home-header{
    background-position: center;
  }
}

#masplataformas-text{
  width:85%;
  max-width:700px;
  display: block;
  margin:50px auto 0 auto;
}

.plus_subhead{
  display: flex;
  justify-content: center;
  color:white;
  padding:0;
}

.plus_subhead h4{
  margin: 0 20px;
  font-size:35px;
  font-weight: normal;
  display: flex;
}

.plus_subhead h4::before{
  content:url("img/icons/red-plus.svg");
  height:20px;
  width:20px;
  display: inline-block;
  margin-right:3px;
}

.ver-renta-button{
  width:300px;
  height:50px;
  border-radius: 30px;
  font-size: 35px;
  color:white;
  background-color:#B61C16;
  border:none;
  display: block;
  margin:15px auto;

  -webkit-transition: 250ms background ease-in-out;
  -o-transition: 250ms background ease-in-out;
  transition: 250ms background ease-in-out;
}

/*Media query for subhead and button*/

@media only screen and (max-width:490px){
  #home-header{
    min-height: 332px;
    height:57vh;
  }
  .plus_subhead h4{
    font-size: 25px;
    margin: 0 10px;
  }
  .plus_subhead h4::before{
  height:16px;
  width:16px;
  }

  .ver-renta-button{
    width:60vw;
     font-size: 25px;
  }
}

.ver-renta-buton:hover{
  background-color: #6B0300;
}

.main-cards-container{
  display: flex;
  justify-content: space-around;
  position: relative;
  top:10vh;
  height: 40vh;
  min-height: 278px;
  padding:1% 15px;
  box-sizing: border-box;
}
.main-card{
  text-align: center;
  width:400px;
  height: 80%;
  min-height: 270px;
}

/*media query for main section cards*/

@media only screen and (max-width:700px){
  #home-header{
    -webkit-clip-path: none;
    -o-clip-path: none;
    clip-path: none;
    margin-bottom: 50px;
  }
  .main-cards-container{
    flex-direction:column;
    height:auto;
    align-self:center;
    top:-15px;
  }

  .card-icon{
    max-height: 120px;
  }

  .main-card{
    width:auto;
  }
  #section1{
    height:auto;
  }
}

.main-card .sub-title{
  margin:3% 0 0 0;
}

.main-card .content-md{
  margin:0
}

.card-icon{
  height:40%;
  margin:0;
}

.animated-card{
  opacity: 0;
}

.animated-card:nth-child(1){
  -webkit-animation: fadeInUp 800ms ease-out;
  animation: fadeInUp 800ms ease-out;
  animation-fill-mode: forwards;
  animation-delay: 500ms;
}
.animated-card:nth-child(2){
  -webkit-animation: fadeInUp 800ms ease-out;
  animation: fadeInUp 800ms ease-out;
  -webkit-animation-delay: 400ms;
   animation-delay: 800ms;
   animation-fill-mode: forwards;
}
.animated-card:nth-child(3){
  -webkit-animation: fadeInUp 800ms ease-out;
  animation: fadeInUp 800ms ease-out;
  -webkit-animation-delay: 800ms;
   animation-delay: 1200ms;
   animation-fill-mode: forwards;
}


/* --- Section 2 styles --- */
#section2{
  height:90vh;
  width: 100%;
  min-height:800px;
  position:relative;
}

#section2 hr{
  width:55%;
  border: 1px solid #B61C16;
}

.section2-titles{
  text-align: center;
  height: 20%;
  box-sizing: border-box;
  padding:2vh 20px 0 20px;
  margin:0 0 5em 0;
}

.section2-titles h1{
  margin: 20px 0 6px 0;
  font-size: 70px;
}

#section2-flex-container{
  height:80%;
  min-height: 670px;
}

#illustrations{
  display: flex;
  flex-direction: row;
  justify-content:center;
  height:auto;
  flex-shrink:2;
}
#illustrations svg{
  margin-bottom:20px;
}

.ilus-card{
  max-width:260px;
  border:2px solid #f1ecec;
  border-radius:7px;
  text-align: center;
  padding:50px 12px 0px 12px;
  margin: 0 20px;
  box-sizing: border-box;
  min-height: 300px;
}

.ilus-card img, .ilus-card svg{
  height:20%;
  min-height:150px;
}

#section2 .flex-container .text-lg{
  margin:2em 0;
}

/* section2 media query */
@media only screen and (max-width: 1090px){

  #section2{
    height: auto;
  }

  #section2-flex-container{
    height:auto;
  }
  #illustrations{
    justify-content: center;
    flex-wrap:wrap;
    height:auto;
    margin-top:50px;
  }

  .ilus-card{
    margin: 0 auto 30px auto;
  }
  .section2-titles{
    margin:0;
    height:auto;
  }
  .section2-titles h1{
    font-size: 3em;
  }

  .section2-titles .text-lg{
    font-size: 1.5em;
  }

  #section2 hr{
    width:80%;
  }
}
/* section 2 mobile phone media query */
@media only screen and (max-width: 700px){
  .ilus-card{
  max-width: none;
  width:85vw;
    height:200px;
    display: flex;

  }

  .ilus-card svg{
    flex-basis: 120%;
  }
}

.red{
  color:#B61C16;
}
/* home page animations */
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/* === end of home page styles === */

/* ===contact page styles === */

#contact-header{
  background-image: url("img/contact-header-md.jpg");
  background-position: 60%;
  background-size: cover;
}

.contact-cards{
  position: static;
  padding: 3em 0 0 0;
}

.block-separator{
  height:200px;
  width:100%;
  background: #950602;
  color: white;
  text-align: center;
  padding: 1em .5em 1em .5em;
  box-sizing: border-box;
}

.block-separator h1{
  font-weight: normal;
  font-size: 4em;
  margin: 0;
}

.block-separator h3
{
  font-weight: lighter;
  font-size: 1.8em;
  margin: 0;
}

/* Contact page media query */

@media only screen and (max-width: 700px){
  .contact-cards{
    padding:20% 5% 0 5%;
  }

  .block-separator{
    height:auto;
    padding: 20px;
    box-sizing: border-box;
  }

  .block-separator h1{
    font-size: 3.4em;
  }

  .block-separator h3{
    font-size: 1.5em;
    margin: 10px 0 20px 0;
  }
}

@media only screen and (max-width: 480px){
  .block-separator h1{
    font-size: 2.8em;
  }

  .block-separator h3{
    font-size: 1.3em;
    margin: 10px 0 0 0;
  }
}

/* === end of contact page styles === */

/* === Renta page styles === */

#rentas-header{
  background-image: url("img/rentas-header-md.jpg");
  background-size: cover;
  background-position: 40%;
}

#renta-main h1{
  margin:20px 0 20px 15px;
  font-weight: lighter;
  font-size: 2.3em;
}

.picture-cards-container{
  display: flex;
  justify-content: space-around;
  padding: 10vh 0;
  box-sizing: border-box;
  flex-wrap: wrap;
  margin: 0 0 40px 0;
  padding: 0;
}

.picture-card{
  height: auto;
  width:300px;
  border: 2px solid #e7e0e0;
  border-radius: 6px;
  overflow: hidden;
  margin: 20px;
  padding-bottom:15px;
}

.picture-card-picture{
  height:29vh;
  width:100%;
  min-height:185px;
  background-image: url("img/placeholder.jpg");
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
}
#image_GS2632{
  background-image: url("img/GS2632.jpg");
  background-position: bottom;
}

#image_E400A{
  background-image: url("img/E400AJN.jpg");
}

#image_Z45{
  background-image: url("img/Z45.jpg");
}

.table-container{
  margin:10px 0 2px 0;
}

.table-row{
  display: flex;
  justify-content: space-between;
  padding: 0 12px;
  font-size: 1.3em;
  box-sizing: border-box;
  height: 30px;
  margin: 3px 0;
}

.table-div_title{
  font-weight: lighter;
  height:30px;
  margin: 0;
}

.table-div_content{
  font-weight: 400;
  height:30px;
  margin: 0;
}

.info-sm{
  font-weight: 350;
  text-align: center;
  margin:0;
}
