@font-face {
  font-family: Fibonneue-Semilightoblique;
  src: url(fibonneue-semilightoblique.woff);
}

@font-face {
  font-family: Fibonneue-Bold;
  src: url(fibonneue-bold.woff);
}

@font-face {
  font-family: Fibonneue-Medium;
  src: url(fibonneue-medium.woff);
}

@keyframes fade {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

body {
  font-family: Droid Serif;
  font-size: 15px;
  line-height: 1.6;

  background-color: #ffffff;
  color: #6A6A6A;
  animation: fade 1s;
}

h3 {
  font-family: Fibonneue-Bold;
  font-size: 13px;
  color: #DA776F;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.container {
  max-width: 780px;
  margin-left:auto;
  margin-right: auto;
}

header h1 {
  max-width:780px;
  margin-left: auto;
  margin-right: auto;
}

header{
  height: 600px;
  width: 100%;
  background-image: url(header-bg.jpg);
  background-size: cover;
  background-position: center top;
  padding-top: 145px;
  position: relative;
}

header img{
  max-width: 600px;
  padding:  20px  20px;
  position: absolute;
  transform: translate(-50%,-50%);
  left: 50%;
  top: 245px;
}

header p{
  color: white;
  font-weight: 700;
  text-align: center;
  margin-top: 280px;
}

header img.down-arrow{
  margin-top: 270px;
}

.quote {
  max-width: 625px;
  margin: 120px auto;
}

.quote h2{
  font-family: Fibonneue-Semilightoblique;
  font-size: 45px;
  color: #E6AD77;
  line-height: 1.25;
  text-align: center;
}

.service{
  background-image: linear-gradient(-225deg, #DA776F 0%, #E6AD77 100%);
  padding:60px 0;
  overflow: hidden;
}

div.column{
  float: left;
  width: 50%;
  padding-right: 85px;
}

.desktop{
  display: block;
}

section.service.mobile div.column{
  width: 100%;
  padding-right: 0;
}

.mobile{
  display: none;
}

.service h3{
  color: white;
}

ul {
  list-style-image: url(bullet.svg);
}

.service li{
  color: white;
  margin-bottom: 5px;
}

.about{
  padding:60px 0;
  overflow: hidden;
}

.about-column{
  width: 66%;
  float: left;
}

.about img.profile{
  width: 185px;
  heigth: 185px;
  border-radius: 100%;
  float: right;
}

.contact{
  padding-top:80px;
  padding-bottom:120px;
}

.contact h2{
  font-family: FibonNeue-SemiLightOblique;
  font-size: 45px;
  color: #6A6A6A;
  line-height: 1.25;
  text-align: center;
}

a{
  text-decoration: none;
  color: #6a6a6a;
}

.contact a{
  position: relative;
  transition: color 0.3s ease-in-out;
}

.contact a:hover{
  color: #e6ad77;
}

span.line{
  left: 0;
  position:absolute;
  bottom: -10%;
  height:3px;
  width:100%;
  background-color: #6a6a6a;
} 

a span.line-color{
  left: 0;
  position:absolute;
  bottom: -10%;
  height:3px;
  width:0%;
  background-color: #e6ad77;
  transition: width 0.5s ease-in-out;
} 

a:hover span.line-color{
  width: 100%;
}

footer{
  padding: 15px 40px;
  border-top:1px solid #b9b9b9;
}

footer p{
  text-align: center;
  font-family: Fibonneue-Medium;
  font-size: 12px;
  color: #B9B9B9;
}

footer a{
  color: #b9b9b9;
  font-family:Fibonneue-Bold;
  transition: color 0.3s ease-in;
}

footer a:hover {
  color: #e6ad77;
}

@media (max-width: 840px) {
  .container{
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 640px){
  .about p{
    margin-bottom: 60px;
  }
  .about img.profile{
    display: block;
    margin-left: auto;
    margin-right: auto;
    float: none;
  }
  .about-column{
    width: 100%;
  }

}

@media (max-width: 540px){
  header{
    height: 400px;
  }

  header p{
    margin-top: 120px;
  }

  header img.down-arrow{
    margin-top: 225px;
  }

  header img{
    position: absolute;
    transform: translate(-50%,-50%);
    left: 50%;
    top: 130px;
    padding: 0 40px 0 40px;
  }

  p {
    font-size: 16px;
  }

  li {
    font-size: 16px;
  }

  h3 {
    font-size: 14px;
  }

  .quote h2, .contact h2 {
    font-size: 35px;
    line-height: 1.35;
  }

  .quote{
    margin: 80px auto;
  }

  .contact{
    padding-top:25px;
    padding-bottom:90px;
  }

  .desktop{
    display: none;
  }

  .mobile{
    display: block;
  }

  footer{
    padding: 40px;
  }

  footer.mobile p{
    text-align: left;
    font-size: 16px;
    line-height: 1.7;
    margin-top: 30px;
  }
}

@media (max-width: 450px) {
  header img{
    padding: 0 20px;
    top:110px;
  }
  
  header p{
    margin-top: 80px;
  }
  
}

@media (max-width:320px) {
  header{
    height: 300px;
  }
  
  header p{
    margin-top: 35px;
    font-size: 13px;
    padding: 0 20px;
  }
  
   header img.down-arrow{
    margin-top: 175px;
     width: 25%;
  }

  header img{
    padding: 0 20px;
    top:90px;
  }

  .quote h2, .contact h2 {
    font-size: 30px;
    line-height: 1.35;
  }

  .contact{
    padding-top:10px;
    padding-bottom:70px;
  }
}


/* Fade in on scroll */
section {
  opacity: 0;
  transition: all 1s ease-in;
  transform: translate(0, 20px);
}

section.visible { 
  opacity: 1;
  transform: translate(0, 0);
}





