*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body{
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 28px;
  font-weight:400;
}

img{
  border: 0;
  max-width:100%;
}

a{
  text-decoration: none;
  cursor:pointer;
  transition:.7s color, .7s background-color;
}
a:focus{
  outline: none;
}
a:hover{
  transition:.3s color, .3s background-color;
}

h2{
  font-weight:400;
  font-size: 30px;
  line-height: 40px;
  margin: 0 0 10px 0;
}

h3,h4,h5{
  font-weight:400;
  font-size: 20px;
  line-height: 30px;
  margin: 30px 0 10px 0;
}

p{
  margin-bottom: 15px;
}

ul, ol{
  margin: 0 0 15px 30px;
}

.clear{ clear: both; }

.container{
  margin: 0 auto;
  width: 96%;
  max-width: 1000px;
}

.header{
  background-color:#000;
  height: 100px;
  padding: 0 20px;
  margin-bottom: 40px;
}
.header h1 img{
  height: 80px;
  float:left;
  margin-top: 10px;
}
.header ul{
  text-align:right;
  list-style-type:none;
  margin:0;
}
.header ul li{
  display: inline;
}
.header ul li a{
  display:inline-block;
  border-bottom: 8px solid #000;
  height: 100px;
  line-height: 140px;
  color:#FFF;
  text-transform:uppercase;
  font-size: 20px;
  padding: 0 20px;
  transition:.3s border-color;
}

.header ul li a:hover{
  border-color:#666;
  transition:.3s border-color;
}
.header ul li a.current{
  border-color: #D60392;
}

.full-photo:first-child{
  margin-top:-40px;
}

.full-photo img{
  display:block;
  width:100%;
}

.content{
  text-align:justify;
}
.margined{
  margin: 40px auto;
}

.buttons{
  margin: 20px 0;
}
.button{
  display:inline-block;
  background-color: #D60392;
  color:#FFF;
  padding: 10px 20px;
  margin: 0 20px 20px 0;
  transition:.3s box-shadow;
}
.button:hover{
  box-shadow: 0 0 10px #000;
  transition:.3s box-shadow;
}

.footer{
  margin: 50px 0 20px 0;
  border-top: 1px solid #333;
  padding-top: 30px;
  font-size: 13px;
  line-height: 18px;
}
.footer a{
  color:#000;
}
.footer a:hover{
  color:#D60392;
}

.flex{
  display:flex;
  flex-wrap:wrap;
}
.flex .left{
  width: 50%;
}
.flex .right{
  width: 50%;
  text-align:right;
}

.flex .copy{
  width: 60%;
  padding-right: 5%;
}
.flex .photo{
  width: 40%;
}
.flex .photo img{
  display:block;
  width:100%;
}

.class{
  width: 48%;
  padding-bottom: 30%;
  margin-right: 4%;
  margin-bottom: 30px;
  background-color:#f1f1f1;
  background-size:cover;
  background-position:center center;
  position:relative;
}
.class:nth-child(2n+2){
  margin-right:0;
}
.class .title{
  display:block;
  position:absolute;
  bottom:0;
  left:0;
  background-color:#D60392;
  color:#FFF;
  padding: 10px;
  transition:.7s padding,.7s box-shadow;
}
.class:hover .title{
  padding: 20px 30px;
  box-shadow: 0 0 10px #000;
  transition:.3s padding,.3s box-shadow;
}

iframe{
  width: 100% !important;
}

.gallery{
  display:flex;
  flex-wrap:wrap;
}
.gallery a{
  width: 32%;
  margin-right:2%;
  margin-bottom: 20px;
  padding-bottom:22%;
  background-size:contain;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:#f1f1f1;
}
.gallery a:nth-child(3n+3){
  margin-right:0;
}
.gallery a img{
  display:block;
  width:100%;
}
