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

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

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

p {
  font-size: 18px;
  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: 'Calibri', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 20px;
  color: white;
  font-weight: bold;
  margin-bottom: 0;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(105, 105, 105, 1.0);
  background: rgba(255, 255, 255, 1.0);
}
#mainNav .navbar-toggler {
    font-size: 14px;
    padding: 11px;
	padding-right: 20px;
    color: rgba(45, 45, 46, 0.9);
    border: 1px solid #555555;
}
#mainNav .navbar-brand { font-weight: 700; }
#mainNav a { color: rgba(45, 45, 45, 0.8); }
#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, 20%);
      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: 1px solid rgba(205, 205, 205, 1.0);
      background: rgba(255, 255, 255, 1.0);
	}
    #mainNav.navbar-shrink {
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(205, 205, 205, 1.0);
        background: rgba(255, 255, 255, 1.0);
	}
    #mainNav .nav-link.active {
        outline: none;
		color: rgba(103, 131, 154, 0.99);
	}
    #mainNav .nav-link.active:hover { color: rgba(25, 25, 25, 0.3); }
}

.box {
  float: left;
}

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
#introIFC {
  width: 100%;
  height: auto;
  padding: 0px 0px 30px 160px;
  text-align: center;
  color: black;
  background: url("../img/IFC++transparent120.png") no-repeat top left;
}

#introIFCQuery {
  width: 100%;
  height: auto;
  padding: 0px 0px 30px 160px;
  text-align: center;
  color: black;
  background: url("../img/IFCQuery-transparent150.png") no-repeat top left;
}

.masthead {
  display: table;
  width: 100%;
  height: auto;
  padding: 200px 20px;
  padding-bottom: 30%;
  text-align: center;
  color: black;
  background: url("../img/ifcquery-screenshot.jpg") no-repeat center 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;
	padding: 30% 10%;
}
.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: #777777;
  border: 2px solid #777777;
  border-radius: 100% !important;
  background: rgba(245, 245, 245, 0.8);
}
.btn-circle:focus, .btn-circle:hover {
    color: rgba(125, 125, 125, 0.9);
    outline: none;
    background: rgba(205, 205, 205, 0.4);
}

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

#btnBuy{ background-color: #135f9f;border: 2px solid #0e528c; margin: 20px 20px;}
#btnBuy:hover{cursor:pointer;}

#ifcquery { background-color: #efefef; }
#download { 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-download {
	margin-top: 15px;
	margin-bottom: 15px;
	-webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
	border: 1px solid #104572;
	background-color: #337ab7;
	cursor: hand;
}

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