*{
    box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6,p{
    margin:0;
    padding:0;
}

img{
    max-width: 100%;
}

body{
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size:20px;
    color:rgb(255, 255, 255);
    background:#000;
}

ul, li, p{
    margin:0;
    padding: 0;
}

ul{
    list-style: none;
}

a{
    color: inherit;
    text-decoration: none;
}

header#principal{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    background-color: rgb(255, 255, 255);
    background-color: rgba(255, 255, 255, 0.85);
    color:#000;
    padding: 0 40px;
    z-index:10;
}

header#principal div.logo{
    padding:20px;
    margin:auto;
}

header#principal div.logo > img{
    max-height: 60px;
}

header#principal nav{
    justify-content:flex-start;
    list-style: none;
    display: flex;
}

header#principal a.link-nav-mobile{
    display: none;
}

header#principal nav a{
    padding: 0 10px;
}

header#principal ul.social{
    align-items: center;
    justify-content:flex-start;
    list-style: none;
    display: flex;
}
header#principal ul.social a{
    display: inline-block;
    padding: 5px;
}

div.nav-mobile{
    text-align: center;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    width: 80%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000;
    z-index:20;
}

div.nav-mobile div.container{
	display:flex;
	flex:1;
	flex-direction:column;
	justify-content:center;
	align-items:center;
    width:80vw;
}

div.nav-mobile a.close{
    position: absolute;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    background: rgb(255, 255, 255);
    color: #000;
}

div.nav-mobile ul.nav{
	margin-top:80px;
    margin-bottom:auto;
}

div.nav-mobile ul.nav li a{
    display:inline-block;
    font-weight: 700;
    padding:6px;
}

div.nav-mobile ul.social{
    margin-bottom:80px;
}

div.nav-mobile ul.social li{
    display: inline-block;
}

div.nav-mobile ul.social li a{
    display: inline-block;
    padding: 5px;
}

.overlay-block{
    display:none;
    position:fixed;
    width:100%;
    height: 100%;
    background:rgba(0,0,0,0.8);
    z-index:15;
}

section{
    width:100%;
    padding:90px 0;
    margin-top:0;
    background-color:#111;
    background-size:cover;
    background-position: center right;
}

section.dark{
    background:#000;
}

section.full-height{
    min-height:100vh;
}

section.half-height{
    min-height:50vh;
}

section.icons{
    padding:40px 0;
}

section.icons a{
    padding:15px;
}

section > div.content{
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding:0 40px;
}

section h1{
    color:rgb(255, 255, 255);
    margin-bottom:15px;
    font-weight:200;
}

section.about p{
    margin:40px 0;
}

div.cards{
    display:flex;
    flex-wrap: wrap;
}

div.cards div.card img{
    display:block;
}

div.cards.four div.card{
    flex:0 0 25%;
}

div.cards.four div.card .inner{
    position:relative;
    width:100%;
    padding:20px;
}

div.cards.four div.card a{
    display:block;
    width:100%;
    background:rgb(255, 255, 255);
    color:#000;
    top:0;
    left:0;
    padding:20px;
    font-size:0.8em;
}

div.video-container{
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
    margin-top:40px;
}

div.video-container iframe{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

footer{
    text-align: center;
    padding:20px;
    background:#000;
}

footer a.icon{
    display:inline-block;
    padding:5px;
}

footer p{
    font-size:0.7em;
    font-weight:500;
    margin-top:14px;
}

.text-center{
    text-align:center;
}

.ultralight{
    font-weight:100;
}

.flex{
    display:flex;
    flex-wrap: wrap;
}

.flex .one-third{
    flex:0 0 33.33%;
}
.flex .two-thirds{
    flex:0 0 66.66%;
}