@import url("https://fonts.googleapis.com/css?family=Montserrat:300,400,400i,500,600,700,700i,900&subset=latin-ext");
html, body {
  margin:0;
  padding:0;
  font-size:14px;
}
.--body-flex {
  min-height:100vh;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
body {
  font-family:'Montserrat', sans-serif;
  background:#fff;
  color:#333;
  font-size:18px;
  font-weight:400;
  line-height:1.45em;
  min-height:100vh;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
h1, h2, h3, h4 { color:black; }
ul li { line-height:inherit; }
header {
  padding-left:0px;
  padding-right:0px;
  background:rgba(255,255,255,0.8);
  border-bottom:1px solid #ddd;
}
header in {
  height:110px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  align-items:center;
  box-sizing:border-box;
  width:1400px;
  margin:0 auto 0 auto;
}
header #logo img { height:70px; }
header #hamburger { display:none; }
header nav#menu { display:flex; }
header nav#menu a {
  display:block;
  font-size:1.5rem;
  font-weight:500;
  text-transform:uppercase;
  margin-left:50px;
  color:black;
  transition:all 0.3s;
}
header nav#menu a:hover { color:#ccc; }
@media screen and (max-width: 768px) {
  header in {
    height:auto;
    width:auto;
    padding-left:15px;
    padding-right:15px;
  }
  header #logo {
    padding-top:10px;
    padding-bottom:10px;
  }
  header #hamburger {
    display:block;
    color:black;
    font-size:35px;
  }
  header nav#menu {
    width:100%;
    display:none;
  }
  header nav#menu a {
    display:block;
    padding:10px;
    margin-left:0;
  }
}
footer {
  padding:15px 0px;
  color:#999;
  margin-top:auto;
  border-top:1px solid #efefef;
  font-size:15px;
}
footer in {
  display:flex;
  justify-content:space-between;
  width:1200px;
  margin:0 auto 0 auto;
}
footer a { color:inherit; }
footer a:hover { color:black; }
@media screen and (max-width: 768px) {
  footer {
    padding:5px 15px;
    font-size:0.8rem;
    line-height:1.2em;
  }
  footer in {
    display:block;
    width:auto;
  }
  footer article { padding:5px 0px; }
}
.slider { margin:0 auto 0 auto; }
.slider, .slider article { height:29vw; }
@media screen and (max-width: 768px) {
  .slider, .slider article { height:75vw; }
}
main {
  width:1000px;
  margin:30px auto 30px auto;
}
@media screen and (max-width: 768px) {
  main {
    width:auto;
    padding:15px;
  }
}
main.intro {
  font-size:20px;
  font-weight:400;
  line-height:1.5em;
  text-align:center;
}
main.intro p { margin-bottom:20px; }
