/* Banner
======================================== */

.banner-container {
	background: #000;
	background-size: cover;
	color: #fff;
	text-shadow: 0 0 10px #000;
	font-weight: normal;
	position: relative;
	overflow: hidden;
}

.banner-container video {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.banner-container .content-container {
	background: -moz-linear-gradient(top, transparent 30%, rgba(0, 0, 0, .6) 60%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, rgba(0, 0, 0, 0)), color-stop(60%, rgba(0, 0, 0, .6)));
	background: -webkit-linear-gradient(top, transparent 30%, rgba(0, 0, 0, .6) 60%);
	background: -o-linear-gradient(top, transparent 30%, rgba(0, 0, 0, .6) 60%);
	background: -ms-linear-gradient(top, transparent 30%, rgba(0, 0, 0, .6) 60%);
	background: linear-gradient(to bottom, transparent 30%, rgba(0, 0, 0, .6) 60%);
	position: relative;	
}

.banner-container h2,
.banner-container p {
	text-align: center;
}

.banner-container h2,
.banner-container .sub-heading {
	letter-spacing: 0;
	font-weight: 100;
	max-width: 900px;
}

.banner-container h2 {
	color: #fff;
	text-align: center;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 30px;
	line-height: 30px;
	margin: 15% auto 30px;
}

.banner-container .sub-heading {
	font-size: 24px;
	margin: -25px auto 19% !important;
}

.banner-container p {
	max-width: 700px;
	margin: 0 auto 60px;
}

@media screen and (max-width: 768px) {
	
	.banner-container {
		background: #000 url(/images/banner-tricaster-family.jpg) left top/auto 100% no-repeat;
	}
	
	.banner-container video {
		display: none;
	}
	
	.banner-container h2,
	.banner-container .sub-heading {
		font-weight: 200;
	}
	
}



/* Article
======================================== */

.frame2 p {
	max-width: 800px;
	margin: 0 auto;
}

.heading-bar p {
	max-width: 740px;
	margin: 0 auto;
}



/* Floating Features
======================================== */

.floating-feature {
	margin: 60px -50px 120px;
}

.floating-feature .feature {
	width: 250px;
}

.floating-feature .p1 {
	text-align: right;
	margin-left: 60px;
	float: left;
}

.floating-feature .p1:after {
	right: 0;
}

.floating-feature .p2 {
	text-align: right;
	margin: 40px 0 0 80px;
	float: left;
}

.floating-feature .p2:after {
	right: 0;
}

.floating-feature .p3 {
	text-align: right;
	margin: 0 0 0 100px;
	float: left;
}

.floating-feature .p3:after {
	right: 0;
}

.floating-feature .p4 {
	margin: 490px 90px 0 0;
	float: right;
	clear: left;
}

.floating-feature .p4:after {
	left: 0;
}

.floating-feature .l1 {
	border-top-style: solid;
	border-right-style: solid;
	height: 335px;
	top: 29px;
	right: 800px;
	left: 305px;
}

.floating-feature .l1:after {
	margin: -11px 0 0 -11px;
	top: 100%;
	left: 100%;
}

.floating-feature .l2 {
	border-top-style: solid;
	border-right-style: solid;
	height: 220px;
	top: 69px;
	right: 500px;
	left: 635px;
}

.floating-feature .l2:after {
	margin: -11px 0 0 -11px;
	top: 100%;
	left: 100%;
}

.floating-feature .l3 {
	border-top-style: solid;
	border-right-style: solid;
	height: 270px;
	top: 29px;
	right: 140px;
	left: 985px;
}

.floating-feature .l3:after {
	margin: -11px 0 0 -11px;
	top: 100%;
	left: 100%;
}

.floating-feature .l4 {
	border-bottom-style: solid;
	border-left-style: solid;
	height: 104px;
	top: 602px;
	right: 335px;
	left: 790px;
}

.floating-feature .l4:after {
	margin: 0 -11px -11px 0;
	bottom: 100%;
	right: 100%;
}

.floating-feature img {
	max-width: 100%;
	top: 220px;
	left: 0;
}

@media screen and (max-width: 1154px) {
	
	.floating-feature {
		margin: 60px 0 80px;
	}
	
	.floating-feature .feature {
		text-align: left;
		width: 22%;
		padding: 0;
		margin: 0 0 0 4%;
		float: left;
		clear: none;
	}
	
	.floating-feature .feature:first-child {
		margin-left: 0;
	}
	
	.floating-feature p {
		font-size: 16px;
		line-height: 24px;
		padding-left: 20px;
		position: relative;
	}
	
	.floating-feature .feature p:before {
		content: '';
		background: #23c1f5;
		width: 5px;
		height: 80px;
		position: absolute;
		top: 5px;
		left: 0;
	}
	
	.floating-feature .feature:after {
		content: none;
	}
	
	.floating-feature .line {
		display: none;
	}
	
	.floating-feature img {
		display: block;
		padding-top: 20px;
		position: static;
	}
	
}

@media screen and (max-width: 959px) {
	
	.floating-feature .feature {
		width: 47%;
		margin-bottom: 40px;
		margin-left: 6%;
	}
	
	.floating-feature .feature:nth-child(odd) {
		margin-left: 0;
		clear: left;
	}
	
	.floating-feature .feature p:before {
		content: none;
	}
	
	.floating-feature .feature p {
		padding-left: 15px;
		border-left: 5px solid #23c1f5;
	}
	
}

@media screen and (max-width: 699px) {
	
	.floating-feature .feature {
		width: auto;
		margin: 0 0 30px;
		float: none;
	}
	
	.floating-feature .feature p {
		padding: 0;
		border: none;
	}
	
}



/* Product List
======================================== */

.product-list-heading {
	margin-top: 120px;
}

.product-list-heading h2 {
	margin-bottom: 5px;
}

.product-list-heading .sub-heading {
	margin: -5px 0 0;
}

.product-list-heading p {
	font-size: 18px;
	max-width: 700px;
	margin: 0 auto;
}

.product-list-container {
	margin-top: 40px;
}

@media screen and (max-width: 768px) {
	
	.product-list-heading {
		margin-top: 20px;
	}
	
}


/* Override to collapse sticky-nav at 860px instead of 768px */
@media screen and (max-width: 860px) {
  .sticky-nav-container li:hover {
    overflow: visible;
  }
  
  .sticky-nav-container .sticky-nav-expand {
    display: block;
    transition: all .2s;
  }
  
  .sticky-nav-container .expanded {
    background: #fff;
  }
  
  .sticky-nav-container .expanded .sticky-nav-expand:before {
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .sticky-nav-container .expanded .sticky-nav-expand:after {
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  
  .sticky-nav-container .moduletable {
    background: #fff;
    width: 100%;
    height: 0;
    border-bottom: 1px solid #e5e5e5;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    transition: all .2s;
    z-index: 1;
  }
  
  .sticky-nav-container .expanded .moduletable {
    height: auto;
  }
  
  .sticky-nav-container li {
    text-align: center;
    float: none;
    transition: right .2s;
  }
  
  .sticky-nav-container li a,
  .sticky-nav-container li span {
    text-align: left;
    font-size: 16px;
    padding: 15px 20px !important; /* height dependency in ../js/sticky-nav.js */
    margin: 0;
    position: relative;
    border-top: 1px solid #ddd; /* height dependency in ../js/sticky-nav.js */
    position: relative;
  }
  
  .sticky-nav-container li:first-child a,
  .sticky-nav-container li:first-child span {
    border-top: none;
  }
  
  .sticky-nav-container li.parent.active,
  .sticky-nav-container li.parent.active {
    overflow: visible;
  }
  
  .sticky-nav-container li.parent > a:before,
  .sticky-nav-container li.parent > span:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 12px solid #666;
    border-radius: 6px;
    position: absolute;
    right: 20px;
    top: 11px;
  }
  
  .sticky-nav-container li.parent > a:after,
  .sticky-nav-container li.parent > span:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 12px solid #fff;
    position: absolute;
    right: 22px;
    top: 11px;
  }
  
  .sticky-nav-container li.parent.active > a:before,
  .sticky-nav-container li.parent.active > span:before {
    border-left: none;
    border-right: 12px solid #666;
    right: 20px;
  }
  
  .sticky-nav-container li.parent.active > a:after,
  .sticky-nav-container li.parent.active > span:after {
    border-left: none;
    border-right: 12px solid #fff;
    right: 18px;
  }
  
  .sticky-nav-container li ul {
    background: #f2f2f2;
    padding: 0;
    border: 0;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.1);
    left: 100%;
    top: 0;
  }
  
  .sticky-nav-container li ul li {
    float: left;
  }
  
  .sticky-nav-container li ul li a {
    border: none;
    padding: 
  }

}
