body {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  position: relative;
  width: 100%;
  height: 100%;
  color: black;
  background-color: white;
}

html {
  width: 100%;
  height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  margin: 0 0 35px;
  letter-spacing: 1px;
   }
h1 { text-transform: uppercase;}

p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 25px;
}
@media (min-width: 768px) {
	p {
      font-size: 18px;
      line-height: 1.6;
      margin: 0 0 35px;
	}
}

a {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #3397ba;
}
a:focus, a:hover {
    text-decoration: underline;
    color: #1fbff4;
}

#mainNav {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  margin-bottom: 0;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  background-color: rgba(25, 25, 25, 0.9);
}
#mainNav .navbar-toggler {
    font-size: 14px;
    padding: 11px;
	padding-right: 20px;
    color: white;
    border: 1px solid white;
}
#mainNav .navbar-brand { font-weight: 700; }
#mainNav a { color: white; }
#mainNav .navbar-nav .nav-item {
	  padding-right: 30px;
    -webkit-transition: background 0.3s ease-in-out;
    -moz-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
}
	
#mainNav .navbar-nav .nav-item:hover {
      color: fade(white, 80%);
      outline: none;
      background-color: transparent;
}
#mainNav .navbar-nav .nav-item:active, #mainNav .navbar-nav .nav-item:focus {
      outline: none;
      background-color: transparent;
}
@media (min-width: 992px) {
	#mainNav {
      padding-top: 20px;
      padding-bottom: 20px;
      -webkit-transition: background 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s;
      -moz-transition: background 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s;
      transition: background 0.3s ease-in-out, padding-top 0.3s ease-in-out, padding-bottom 0.3s;
      letter-spacing: 1px;
      border-bottom: none;
      background: rgba(25, 25, 25, 0.9);
	}
    #mainNav.navbar-shrink {
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        background: black; 
	}
    #mainNav .nav-link.active {
        outline: none;
        background-color: rgba(255, 255, 255, 0.3);
	}
    #mainNav .nav-link.active:hover { color: white; }
}
#introLabel {
	background-image: none;
}
@media (min-width: 992px) {
	#introLabel {
		width:433px;height:256px;background-image: url("../img/IFC++OpenSourceImplementationIFC.png");background-repeat:no-repeat;padding:0px;padding-top:140px;
	}
}

.masthead {
  display: table;
  width: 100%;
  height: auto;
  padding: 200px 20px;
  padding-bottom: 40px;
  text-align: center;
  color: white;
  background: url("../img/ifcquery-screenshot.png") no-repeat bottom left scroll;
  background-color: black;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
  
.masthead .intro-body {
    display: table-cell;
    vertical-align: middle;
}
.masthead .intro-body .brand-heading {
	color: rgba(25, 25, 25, 0.8);
      font-size: 50px;
}
.masthead .intro-body .intro-text {
		color: rgba(25, 25, 25, 0.8);
      font-size: 18px;
}
@media (min-width: 768px) {
    .masthead {
      height: 100%;
      padding: 20;
	}
    .masthead .intro-body .brand-heading {
		color: rgba(25, 25, 25, 0.8);
        font-size: 100px;
	}
    .masthead .intro-body .intro-text {
		  color: rgba(25, 25, 25, 0.8);
        font-size: 22px;
	}
}

.btn-circle {
  font-size: 26px;
  width: 55px;
  height: 55px;
  margin-top: 15px;
  margin-bottom: 15px;
  line-height: 45px;
  -webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  color: white;
  border: 2px solid white;
  border-radius: 100% !important;
  background: transparent;
}
.btn-circle:focus, .btn-circle:hover {
    color: white;
    outline: none;
    background: rgba(255, 255, 255, 0.1);
}

.content-section {
  padding-top: 60px;
  padding-bottom: 70px;
}

#screenshots { background-color: #efefef; }  
#contact { background-color: #efefef; }

.download-section {
  color: black;
  background-color: rgba(255, 255, 255, 0.1);;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.btn {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-transform: uppercase;
  border-radius: 0;
}

.btn-default {
  color: #42DCA3;
  border: 1px solid #42DCA3;
  background-color: transparent;
}
.btn-default:focus, .btn-default:hover {
    color: black;
    border: 1px solid #42DCA3;
    outline: none;
    background-color: #42DCA3;
}

ul.banner-social-buttons { margin-top: 0; }
	@media (max-width: 1199px) {
		ul.banner-social-buttons {
			margin-top: 15px; 
		}
	}
	@media (max-width: 767px) {
		ul.banner-social-buttons li {
			display: block;
			margin-bottom: 20px;
			padding: 0;
		}
		ul.banner-social-buttons li:last-child {
        margin-bottom: 0;
	}
}

footer {
  padding: 20px 0;
}
footer p {
    font-size: 14px;
    margin: 0;
}
