@font-face {
    font-family: FuturaStd;
    src: url(https://www.rusoh.com/fonts/FuturaStd-Book.eot);
    src: url(https://www.rusoh.com/fonts/FuturaStd-Book.eot?#iefix) format("embedded-opentype"), url(https://www.rusoh.com/fonts/FuturaStd-Book.woff) format("woff"), url(https://www.rusoh.com/fonts/FuturaStd-Book.ttf) format("truetype"), url(https://www.rusoh.com/fonts/FuturaStd-Book.svg#FuturaStd-Book) format("svg");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: FuturaStd-Bold;
    src: url(https://www.rusoh.com/fonts/FuturaStd-Bold.eot);
    src: url(https://www.rusoh.com/fonts/FuturaStd-Bold.eot?#iefix) format("embedded-opentype"), url(https://www.rusoh.com/fonts/FuturaStd-Bold.woff) format("woff"), url(https://www.rusoh.com/fonts/FuturaStd-Bold.ttf) format("truetype"), url(https://www.rusoh.com/fonts/FuturaStd-Bold.svg#FuturaStd-Bold) format("svg");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Roboto;
    src: url(https://www.rusoh.com/fonts/Roboto-regular.eot);
    src: url(https://www.rusoh.com/fonts/Roboto-regular.eot?#iefix) format("embedded-opentype"), url(https://www.rusoh.com/fonts/Roboto-regular.woff) format("woff"), url(https://www.rusoh.com/fonts/Roboto-regular.ttf) format("truetype"), url(https://www.rusoh.com/fonts/Roboto-regular.svg#Roboto-regular) format("svg");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: OpenSans;
    src: url(https://www.rusoh.com/fonts/OpenSans-Regular-webfont.eot);
    src: url(https://www.rusoh.com/fonts/OpenSans-Regular-webfont.eot?#iefix) format("embedded-opentype"), url(https://www.rusoh.com/fonts/OpenSans-Regular-webfont.woff) format("woff"), url(https://www.rusoh.com/fonts/OpenSans-Regular-webfont.ttf) format("truetype"), url(https://www.rusoh.com/fonts/OpenSans-Regular-webfont.svg#OpenSans-Regular-webfont) format("svg");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: OpenSans-Bold;
    src: url(https://www.rusoh.com/fonts/OpenSans-Bold-webfont.eot);
    src: url(https://www.rusoh.com/fonts/OpenSans-Bold-webfont.eot?#iefix) format("embedded-opentype"), url(https://www.rusoh.com/fonts/OpenSans-Bold-webfont.woff) format("woff"), url(https://www.rusoh.com/fonts/OpenSans-Bold-webfont.ttf) format("truetype"), url(https://www.rusoh.com/fonts/OpenSans-Bold-webfont.svg#OpenSans-Bold-webfont) format("svg");
    font-weight: 400;
    font-style: normal
}

.no-transition * {
    transition: none!important
}

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

.no-transition {
    transition: none!important
}

body,
html {
    min-height: 100%;
    width: 100%;
    -webkit-text-size-adjust: 100%
}

a,
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
font,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
img,
input,
ins,
kbd,
label,
legend,
li,
object,
ol,
option,
p,
pre,
q,
s,
samp,
select,
small,
span,
strike,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
tt,
ul,
var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%
}

sup {
    font-size: 12px;
    line-height: 1
}

.heading-text sup,
.product-heading sup {
	font-size:24px;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary,
main {
    display: block
}

audio,
canvas,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word
}

:focus {
    outline: 0
}

table {
    border-collapse: separate;
    border-spacing: 0
}

caption,
td,
th {
    text-align: left;
    font-weight: 400
}

table {
    border: 0 none;
    border-collapse: collapse;
    border-spacing: 0
}

td {
    vertical-align: top
}

button,
form,
input select,
textarea {
    font-family: inherit
}

button {
    border: none;
    cursor: pointer;
    background-color: transparent;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none
}

body {
    margin: 0;
    padding: 0;
    font-family: OpenSans, Arial, sans-serif;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    color: #1b1b1b;
}

a {
    color: inherit;
    outline: 0;
    -webkit-tap-highlight-color: transparent;
    transition: color .3s ease 0s, background-color .3s ease 0s, border-color .3s ease 0s
}

a:active,
a:hover,
a:link,
a:visited {
    text-decoration: none
}

.nav-list a:active,
.nav-list a:hover,
nav li>a:active,
nav li>a:hover {
    color: #ed1c24
}

a img {
    border: none
}

img {
    max-width: 100%
}

a[href^="tel:"],
a[href^=mailto] {
    color: inherit;
    cursor: pointer
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 20px auto;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    font-weight: 400;
    line-height: 1.25;
    text-transform: uppercase
}

h1,
h2 {
    font-size: 32px
}

h3 {
    font-size: 24px
}

h4 {
    font-size: 18px
}

.heading-text:first-child,
.title-text:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0
}

.heading-text>span,
.title-text>span,
h1>span,
h2>span,
h4>span,
h5>span,
h6>span {
    color: #ed1c24
}

p.large {
  font-size: 20px;
}

.small {
	font-size: 70%;
}

.large + .textured {
  margin-top: 30px;
}

.heading-text,
.small-heading,
.title-text {
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    line-height: 1.25;
    text-transform: uppercase
}

.heading-text {
    font-size: 42px
}

.title-text {
    font-size: 34px
}

.small-heading {
    font-size: 14px
}

.small-heading sup {
    font-size: 9px;
    vertical-align: text-top;
    line-height: 1
}

.sub-heading {
    display: block;
    margin-bottom: 12px;
    color: #6f7176;
    font-family: OpenSans, Arial, sans-serif;
    font-size: 24px;
    text-transform: uppercase
}

address {
    font-style: inherit
}

strong {
    font-weight: 700
}

i {
  text-transform: inherit;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: normal;
  color: inherit;
}

nav ol,
nav ul {
    list-style: none;
    margin: 0;
    padding: 0
}
.h-list {
	max-width: 1100px !important;
}
.h-list>li {
    display: inline-block;
    vertical-align: middle
}

.style-list li {
    position: relative;
    display: block;
    padding-left: 15px
}

.style-list li+li {
    margin-top: 10px
}

.style-list>li:before {
    content: "";
    display: inline-block;
    height: 6px;
    width: 6px;
    border-radius: 50%;
    background-color: #ed1c24;
    position: absolute;
    top: 11px;
    left: 0
}

.tm-p {
    margin: 0
}

.tm-span {
    color: inherit!important;
    font-size: 50%;
    vertical-align: top;
    position: relative
}

#fluffing-wheel {
    margin-top: 25px
}

.ul-logo {
    background: transparent url(../images/layout/ul-logo.png) no-repeat
}

.bml-logo {
    background: transparent url(../images/layout/bml-logo.png) no-repeat
}

.nfpa-logo {
    background: transparent url(../images/layout/nfpa-logo.png) no-repeat
}

.highslide-html-content .cell {
    width:100%;
    max-width: 500px;
    height: auto;
    padding: 35px 10px;
    text-align: center;
}

#reloading-kit sup {
    font-size: 70%;
}

#no-special-license a {
    color: #ed1c24;
}

.feature-block.i-padding {
    font-size: 0;
}

.feature-block.i-padding .heading-divider {
    padding-bottom: 70px;
}

.feature-block.i-padding .contain {
    width: 50%;
    display: inline-block;
    vertical-align: top;
}

.feature-block .large-img {
    margin-bottom: 0;
    max-width: 500px;
    margin-top: 0;
}

body>header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    color: #fff;
    border-top: 3px solid rgba(237, 28, 36, .45);
    z-index: 9999;
    transition: border-color .3s linear 0s
}

body>header:before {
    content: "";
    height: 100%;
    width: 100%;
    box-shadow: 0 60px 65px -50px #000 inset;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

body.solid-bar:before {
    background-color: #ed1c24;
}

body.solid-bar>header {
    border-color: #ed1c24;
}

body>header .contain {
    position: static;
}

.top-nav {
    padding: 12px 0;
    text-align: right;
    font-size: 14px;
    /* overflow: hidden; */ /* removing this because it hides the account dropdown menu... */
    max-height: 100px;
    transition: all 0.4s linear 0s;
}

.top-nav .contain>ul {
    display: inline-block;
    vertical-align: middle;
}

.top-nav-list>li+li {
    margin-left: 25px
}

.top-nav .contain ul>li:last-child a {
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
}

.top-nav .social-list {
    float: left;
    margin: 0
}

.top-nav button {
    margin-left: 25px
}

.top-nav button+button {
    margin-left: 20px
}

.top-nav.light {
    color: #000;
    background-color: #fff
}

.top-nav.light .facebook:before {
    background-position: -20px 0
}

.top-nav.light .twitter:before {
    background-position: -36px -19px
}

.top-nav.light .linkedin:before {
    background-position: -34px -37px
}

.top-nav.light .youtube:before {
    background-position: -44px -53px
}

.top-nav .nav-account-links {
    position: relative;
}

.top-nav .nav-account-links > a {
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
}

.top-nav .nav-account-links ul {
    position: absolute;
    right: 0;
    z-index: 15000;
    background-color: #FFF;
    display:  none;
    text-align: center;
    width: 140px;
    padding: 10px 0;
}

.top-nav .nav-account-links ul li {
    padding: 3px 0;
}

.top-nav .nav-account-links ul a {
    padding: 5px 10px;
    display:  block;
}

.top-nav .nav-account-links:hover ul {
    display: block;
}

.main-nav {
    position: relative;
    padding: 13px 0;
    background-color: #000;
    font-size: 16px;
    transition: padding .3s linear 0s
}

.main-nav>ul {
    text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 100% !important;
}

.main-nav>ul>li {
    z-index: 0
}

.main-nav>ul>li+li {
    margin-left: 20px
}

.main-nav>ul>li>a {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 20px 22px;
    text-transform: uppercase;
    transition: all .3s linear 0s
}

.main-nav>ul>li:hover>a,
.main-nav>ul>li>a:active,
.main-nav>ul>li>a:hover,
.mobile-navigation>ul>li:hover>a {
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    color: #ED1C24;
}

.main-nav>ul>li:not(.cart-link)>a:after {
    content: "";
    display: block;
    width: 250px;
    height: 25px;
    position: absolute;
    top: 100%;
    margin-top: -4px;
    margin-left: 0;
    z-index: 0;
}

/* this tries to target the last link befor the cart link -- will need to be changed if nav links are re-ordered */
.main-nav>ul>li>a[title="Compliance"]:after {
	width:120%;
}

.main-nav>ul>li:hover>a:after,
.main-nav>ul>li>a:active:after,
.main-nav>ul>li>a:hover:after {
    z-index: 3;
}

.bold-hover {
    position: relative;
}

.icon-text>div:before,
.main-nav>ul>li:not(.cart-link)>a:before {
    content: attr(title);
    display: block;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    font-size: inherit;
    color: red;
    overflow: hidden;
    visibility: hidden;
    height: 1px;
    margin-bottom: -1px;
}

.cart-link {
    position: relative;
    z-index: 0
}

.cart-link a,
.main-nav .cart-link a {
    width: 26px;
    height: 20px;
    padding: 0;
    vertical-align: middle;
    background: url(../images/icons/gen-icons.png) no-repeat -23px 0
}

.cart-link a {
  transition: none !important;
}

.cart-link a:before {
    content: attr(data-count);
    display: inline-block;
    height: 20px;
    min-width: 20px;
    position: absolute;
    top: -7px;
    right: -7px;
    border-radius: 50%;
    box-sizing: border-box;
    padding: 3px 2px 0;
    background-color: #fff;
    color: #1b1b1b;
    font-size: 14px;
    font-family: OpenSans, Arial, sans-serif;
    text-align: center;
    text-indent: 0;
    line-height: 100%;
    z-index: 1;
}

.cart-link a:active,
.cart-link a:hover,
.cart-link:hover a {
    background-position: -23px -21px;
}

.main-nav .buy-now-link {
	margin-left:2.5%;
	padding:0;
}
.buy-now-link a:after {
	content:none !important;
}
.buy-now-link .button.red {
	min-width:0;
	padding:7px;
}
.buy-now-link .button:hover,
.buy-now-link .button:active {
/* 	font-family:OpenSans, Arial, sans-serif; */
}

.header-logo {
    position: relative;
    transition: width 0.3s linear 0s;
}

.header-logo a,
.header-logo img {
    width: 100%;
    transition: width 0.3s linear 0s;
}

.header-logo>a {
    padding: 0 !important;
}

.header-logo>a:after,
.header-logo>a:before {
    content: none !important;
}

.print-logo {
	display: none;
}

header.scrolling .top-nav {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.main-nav>ul>.header-logo+li {
    margin-left: 0;
}

header .main-nav>ul>.header-logo+li {
    margin-left: 3%;
}

.inner>header .header-logo,
header.scrolling .header-logo {
    width: 170px;
    margin-right: 0;
    transition: width 0.3s ease 0s;
}
.header-logo {
  width: 170px;
}

header .main-nav>ul>li>a {
    padding: 13px 9px;
}

header .main-nav>ul>li+li {
    margin-left: 1%;
}

.mobile-navigation {
    display: none;
}

.mobile-nav-button,
.navigation-close {
    display: none!important;
    position: relative;
    vertical-align: middle;
    width: 36px;
    height: 29px;
    cursor: pointer;
}

.mobile-nav-button span,
.navigation-close span {
    content: "";
    display: block;
    height: 7px;
    width: 100%;
    background-color: #ed1c24;
    position: absolute;
    left: 0;
    transition: all .1s ease 0s
}

.mobile-nav-button span:nth-child(1) {
    top: 0;
    transition-delay: 0.4s
}

.mobile-nav-button span:nth-child(2) {
    top: 11px;
    transition-delay: 0.5s
}

.mobile-nav-button span:nth-child(3) {
    top: 22px;
    transition-delay: 0.6s
}

.nav-open .mobile-nav-button span {
    width: 0;
    transition: all .1s ease 0s;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -o-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0)
}

.nav-open .mobile-nav-button span:nth-child(1) {
    transition-delay: 0
}

.nav-open .mobile-nav-button span:nth-child(2) {
    transition-delay: .1s
}

.nav-open .mobile-nav-button span:nth-child(3) {
    transition-delay: .2s
}

.content-hide-wrapper {
    position: relative;
    overflow: hidden
}

.main-nav ul li {
    position: relative
}

.main-nav ul>li:hover,
.main-nav ul>li>a:active,
.main-nav ul>li>a:hover {
    z-index: 3
}

.sub-nav {
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 13px;
    width: 280px;
    padding: 10px 0 15px;
    background-color: #000;
    z-index: -2;
    visibility: hidden
}

.sub-nav .sub-nav {
    margin-top: -10px;
    top: 0;
    left: 0;
    background: transparent;
    width: auto;
}

.sub-nav .sub-nav .sub-menu {
    background-color: #000;
    padding-top: 10px;
    padding-bottom: 10px;
}

.sub-nav .sub-nav a {
    white-space: nowrap;
}

.main-nav li:hover>.content-hide-wrapper .sub-nav,
.main-nav li>a:active+.content-hide-wrapper .sub-nav {
    -webkit-transform: none;
    -moz-transform: none;
    -o-transform: none;
    -ms-transform: none;
    transform: none;
    z-index: 3
}

.main-nav li:hover>.sub-nav,
.main-nav li>a:active .sub-nav {
    visibility: visible;
    z-index: 3
}

.sub-menu>li {
    padding: 0 14px
}

.sub-nav .sub-menu>li>a {
    position: relative;
    display: block;
    padding: 10px 5px 10px 62px;
    font-size: 14px;
    text-transform: uppercase;
    text-align: left;
    color: #fff !important;
}

.sub-nav .sub-menu>li>a:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 7px;
    background-color: #ed1c24;
    position: absolute;
    top: 16px;
    left: 0;
    transition: all .1s linear 0s
}

.sub-nav .sub-menu>li:hover>a:before {
    width: 43px
}

.search-button {
    height: 23px;
    width: 22px
}

.search-button .tr-icon {
    text-indent: -9999px
}

.search-box {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #fff;
    text-align: center;
    -webkit-transform: translateY(100px);
    -moz-transform: translateY(100px);
    -o-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px);
    opacity: 0;
    visibility: hidden;
    z-index: -150;
    transition: transform .3s ease 0s, opacity .3s ease 0s, visibility .3s ease 0s, z-index 0s ease .3s
}

.search-open .search-box {
    -webkit-transform: none;
    -moz-transform: none;
    -o-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
    visibility: visible;
    z-index: 150;
    transition: transform .3s ease 0s, opacity .3s ease 0s, visibility .3s ease 0s, z-index 0s ease 0s
}

.text-transition .search-form {
    visibility: visible
}

.search-box>div {
	position: relative;
    margin-top: 175px;
    padding-top:5%;
}

.close-button {
    display: inline-block;
    width: 24px;
    height: 25px;
    background: url(../images/icons/gen-icons.png) no-repeat -230px 0
}

.search-box .close-button {
    position: absolute;
    top: 6%;
    right: 8%
}

.close-button.white {
    width: 33px;
    height: 33px;
    background-position: -120px 0;
}

.search-form {
    margin: 60px auto 0;
    transition: none
}

.search-form input[type=text] {
    font-size: 24px;
    width: 0;
    padding: 10px 15px;
    transition: all 0.5s linear 0.3s;
}

.text-transition .search-form input[type=text] {
    width: 400px;
}

.search-form::-webkit-input-placeholder {
    font-family: OpenSans, Arial, sans-serif;
    text-transform: uppercase;
    color: #1b1b1b;
    opacity: .7
}

.search-form:-moz-placeholder {
    font-family: OpenSans, Arial, sans-serif;
    text-transform: uppercase;
    color: #1b1b1b;
    opacity: .7
}

.search-form::-moz-placeholder {
    font-family: OpenSans, Arial, sans-serif;
    text-transform: uppercase;
    color: #1b1b1b;
    opacity: .7
}

.search-form:-ms-input-placeholder {
    font-family: OpenSans, Arial, sans-serif;
    text-transform: uppercase;
    color: #1b1b1b;
    opacity: .7
}

.search-input {
    display: inline-block;
    vertical-align: middle;
    width: 54px;
    height: 57px;
    background: transparent url(../images/icons/gen-icons.png) no-repeat -176px 0;
    cursor: pointer
}

.search-box .search-input {
    margin-right: 30px
}

.search-box .search-input+.input-wrap:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-right: 25px;
    height: 110px;
    width: 1px;
    background-color: #1b1b1b;
}

.input-wrap {
    position: relative
}

.input-wrap.inline {
    display: inline-block;
    vertical-align: middle
}

.social-list {
    display: inline-block;
    vertical-align: middle
}

.social-list li+li {
    margin-left: 7px
}

.social-list li a {
    display: inline-block;
    vertical-align: middle
}

.area-expand {
    position: relative
}

a.area-expand:after,
button.area-expand:after,
ol.area-expand li a:after,
ul.area-expand li a:after {
    content: "";
    display: block;
    height: 150%;
    width: 150%;
    position: absolute;
    left: -25%;
    top: -25%;
    z-index: 1
}

body>footer {
    padding: 20px 0;
    color: #fff;
    background-color: #1b1b1b;
    font-size: 12px;
    font-family: Roboto, Helvetica, sans-serif
}

body>footer .contain {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
}

body>footer .contain>a,
body>footer .contain>p,
body>footer .contain>ul {
    display: inline-block;
    vertical-align: middle
}

body>footer .contain p {
    margin-left: 2%
}

body>footer .contain a~a {
    margin-left: 0
}

body>footer .contain ul,
body>footer .contain>a:last-child {
    margin-left: 1%
}

body>footer .nav-list li+li {
    margin-left: 15px
}

.jb-logo {
    display: inline-block;
    vertical-align: middle;
    width: 78px;
    height: 35px;
    background: url(../images/layout/powered-by-jb-systems.html) no-repeat center center
}

.banner-section {
    position: relative;
    overflow: hidden;
    padding-top: 150px;
    border-bottom: 1px solid #222
}

.banner-slider>img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    z-index: 10;
}

.banner-slider li {
    position: relative;
    height: 820px;
    height: calc(100vh - 150px);
    z-index: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.banner-slider li .contain {
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    
    padding-bottom:85px;
    
    max-height:100%;
    text-align: center;
}
/* mainly for banner table containing video */
.banner-slider li .contain:not(:empty) {
	width:100%;
	height:100%;
}
.banner-slider li .contain h2 {
	margin:10px auto;
}
.banner-slider li .contain .video-container {
	width:100%;
	height:400px;
}
.banner-slider li .contain .video-container > figure {
	width:50%;
	height:100%;
	display: inline-block;
	vertical-align: middle;
	
    display: inline-block;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    display: -webkit-inline-flex;
    /* change direction to either row/horizontal or column/vertical */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.banner-slider li .contain .video-container > figure img {
	max-height:100%;
	height: auto !important;
}
.banner-slider li .contain .video-container > div {
	width:48%;
	display: inline-block;
	vertical-align: middle;
	max-height:100%;
}
.banner-slider li .contain .video-container h3 {
	text-align: left;
}

#banner-nav,
.unslider-nav {
    position: absolute;
    right: 50%;
    margin-right: -435px;
    bottom: 35px;
}

.basic-arrows,
.unslider-nav ol {
    position: relative;
    z-index: 1;
}

.basic-arrows a,
.unslider-nav li {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    height: 21px;
    width: 13px;
    background: url(../images/icons/gen-icons.png) no-repeat 0 0;
    text-align: left;
    text-indent: -9999px;
    cursor: pointer;
}

.basic-arrows a+a,
.unslider-nav li+li {
    margin-left: 20px;
}

.basic-arrows a+a:before,
.unslider-nav li+li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1px;
    height: 22px;
    background-color: #1b1b1b;
    text-indent: 0;
    position: absolute;
    right: 100%;
    margin-right: 12px;
    top: 0;
}

.basic-arrows .prev,
.unslider-nav li:first-child {
    background-position: -72px -44px;
}

.basic-arrows .prev:active,
.basic-arrows .prev:hover,
.unslider-nav li:first-child:hover {
    background-position: -72px -22px;
}

.basic-arrows .next,
.unslider-nav li:first-child+li {
    background-position: -86px -44px;
}

.basic-arrows .next:active,
.basic-arrows .next:hover,
.unslider-nav li:first-child+li:hover {
    background-position: -86px -22px;
}

.mouse-button {
    display: inline-block;
    height: 30px;
    width: 21px;
    background: url(../images/icons/gen-icons.png) no-repeat -154px -62px;
    position: absolute;
    bottom: 35px;
    left: 50%;
    margin-left: -10px;
    z-index: 1;
}

.banner-section .rotated-text {
    position: absolute;
    left: 1%;
    bottom: -350px;
    z-index: 1;
    color: #222;
    transition: bottom 1.25s linear 1.5s!important
}

.banner-section.no-banner .mouse-button,
.banner-section.no-banner .rotated-text {
	display: none;
}

.banner-section.disc-anim .rotated-text {
    bottom: 105px
}

.rotated-text {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.rotated-text:before {
    content: "";
    position: relative;
    display: inline-block;
    vertical-align: middle;
    background-color: #ed1c24;
    height: 6px;
    width: 138px;
    margin-top: -4px;
    margin-right: 15px
}

.home .content {
    padding: 65px 0 55px
}

.home .content .contain {
    max-width: 575px
}

.content {
    padding: 70px 0 110px;
    text-align: center
}

.content p {
    margin: 30px auto;
    line-height: 1.5
}

.content .contain>p:first-child {
    margin-top: 0
}

.content p:first-child {
    margin-top: 0
}

.content .col p>a:not([class]) {
    position: relative;
    z-index: 0
}

.content .col p>a:not([class]):after {
    content: "";
    width: 98%;
    height: 1px;
    background-color: #ed1c24;
    position: absolute;
    top: 100%;
    margin-top: -2px;
    left: 1%;
    z-index: -1;
    transition: width .3s ease 0s
}

.content .col p>a:not([class]):active:after,
.content .col p>a:not([class]):hover:after {
    -webkit-animation: w-grow .3s ease 0s forwards;
    animation: w-grow .3s ease 0s forwards
}

.col p>img,
.col>img {
    height: auto!important
}

.dark {
    position: relative;
    background-color: #1b1b1b;
    color: #fff;
    z-index: 0
}

.dark.content:after {
    content: "";
    height: 100%;
    width: 100%;
    background: url(../images/layout/banner-texture-bottom.png) repeat-x center bottom;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.dark.content.textured {
    background: #000 url(../images/layout/bg-texture2.png) no-repeat center center;
    background-size: cover;
    font-size: 24px;
    line-height: 1.4;
    z-index: 2
}

.dark.content.textured:after {
    content: none
}

.callouts {
    font-size: 0
}

.img-callout {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
    width: 50%;
    min-height: 392px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
    font-size: 16px;
    z-index: 1
}

.img-callout+.img-callout:before {
    content: url(../images/icons/flame-icon.png);
    display: inline-block;
    position: absolute;
    top: 50%;
    left: -30px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1
}

.img-callout>div {
    position: absolute;
    top: 44%;
    left: 50%;
    transition: all .35s linear 0s
}

.home-callouts .img-callout>div {
    max-width: 225px
}

.img-callout:hover>div {
    transition: all .5s linear 0s
}

.callouts .img-callout:first-child>div {
    left: auto;
    right: 13.5%
}

.callouts .img-callout:first-child+.img-callout>div {
    left: 17.5%
}

.img-callout:hover>div {
    max-width: 100%
}

.callouts .img-callout.video>div {
    top: 50%;
    left: 50%!important;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    font-size: 20px;
    text-align: center
}

.callouts .img-callout.video img {
    margin: 0 auto
}

.img-callout .heading-text span,
.img-callout .title-text span {
    color: #fff
}

.img-callout p {
    margin: 10px auto 20px;
    max-width: 430px
}

.img-callout .underline-text,
.img-callout p {
    opacity: 0;
    visibility: hidden;
    -moz-transform: translateY(-25%);
    -webkit-transform: translateY(-25%);
    -o-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
    transition: all .3s ease 0s
}

.img-callout:hover .underline-text,
.img-callout:hover p {
    opacity: 1;
    visibility: visible;
    -moz-transform: none;
    -webkit-transform: none;
    -o-transform: none;
    -ms-transform: none;
    transform: none
}

.img-callout:after {
    content: "";
    display: inline-block;
    height: 100%;
    width: 100%;
    background: #000 url(../images/layout/gritty-texture.png) repeat center center;
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all .5s ease 0s
}

.img-callout:hover:after {
    opacity: .65
}

.img-callout:hover .fade-text {
    opacity: 1;
    font-size: inherit;
    transition: all .3s ease 0s, font-size .3s ease 0s
}

.fade-text {
    opacity: 0;
    font-size: 0;
    transition: all .3s ease 0s
}

:hover>.fade-text {
    opacity: 1;
    font-size: inherit
}

.underline-text {
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .3s ease 0s
}

.underline-text:after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background-color: #ed1c24;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all .3s ease 0s
}

.img-callout:hover .underline-text:after,
.underline-text:hover:after {
    -webkit-animation: w-grow .3s ease 0s none;
    animation: w-grow .3s ease 0s none;
}

@-webkit-keyframes w-grow {
    from {
        width: 0
    }
    to {
        width: 62%
    }
}

@keyframes w-grow {
    from {
        width: 0
    }
    to {
        width: 62%
    }
}

.img-callout:hover .underline-text:after {
    transition: all .3s ease 0s, width .3s ease .25s
}

.col-txt {
    font-size: 20px;
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    text-align: left
}

.col-txt.hs-text {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1
}

.hs-text {
    position: relative;
    overflow: hidden
}

.hs-text:after {
    content: "";
    height: 100%;
    width: 100%;
    box-shadow: 0 -55px 35px -35px #fff inset;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.img-text {
    position: relative;
    text-align: center
}

.img-text>img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2%;
    max-width: 160px
}

.img-text>p {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    width: calc(100% - 200px)
}

.hs-text {
    max-height: 150px
}

.hs-text.show-full {
    max-height: none
}

.hs-text.show-full:after {
    content: none
}

.hs-text~.read-more-trigger {
    transition: all .35s linear 0s
}

.hs-text.show-full~.read-more-trigger {
    margin: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -1
}

.read-more-trigger {
    position: relative;
    margin-top: 15px;
    padding-bottom: 15px;
    font-size: 24px;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    cursor: pointer
}

.read-more-trigger:after,
.read-more-trigger:before {
    content: "";
    display: inline-block;
    border-top: 10px solid #000;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    position: absolute;
    bottom: 0;
    margin-top: 5px;
    left: 50%;
    margin-left: -10px;
    cursor: pointer
}

@-webkit-keyframes gentle-pulse {
    from {
        opacity: 1;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(3);
        -moz-transform: scale(3);
        -o-transform: scale(3);
        -ms-transform: scale(3);
        transform: scale(3)
    }
}

@keyframes gentle-pulse {
    from {
        opacity: .35;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1)
    }
    to {
        opacity: 0;
        -webkit-transform: scale(3);
        -moz-transform: scale(3);
        -o-transform: scale(3);
        -ms-transform: scale(3);
        transform: scale(3)
    }
}

.read-more-trigger:before {
    -webkit-animation: gentle-pulse 2s infinite normal forwards;
    animation: gentle-pulse 2s infinite normal forwards
}

#details-callout .img-callout>div {
    width: 100%;
    max-width: 500px;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto
}

#details-callout .img-callout:first-child>div {
    left: auto;
    right: 0
}

#details-callout .img-callout+.img-callout>div {
    padding-left: 103px;
    left: 0
}

.banner-callout {
    position: relative;
    background: #1b1b1b url(../images/layout/bg-texture.png) no-repeat center center;
    background-size: cover;
    color: #767677;
    text-align: center
}

.banner-callout .title-text span {
    display: inline-block;
    padding: 140px 0 90px;
    font-size: 34px;
    color: #757575;
    color: rgba(255, 255, 255, .39)
}

.banner-callout:before {
    content: url(../images/icons/flame-icon.png);
    display: inline-block;
    position: absolute;
    top: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2
}

.product-highlights {
    background: #1b1b1b url(../images/layout/bg-texture-top.png) no-repeat center top;
    background-size: 100% auto;
    color: #fff;
    padding: 90px 0 120px
}

.product-title {
    position: relative;
    font-size: 64px;
    line-height: 1;
    text-align: center
}

.product-title>span {
    display: block;
    margin-bottom: 22px;
    color: #bcbec0;
    font-size: 24px;
    font-family: OpenSans, Arial, sans-serif
}

.product-title sup {
    vertical-align: text-top;
    font-family: Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 28px
}

.heading-divider {
    position: relative
}

.product-features {
    position: relative;
    margin: 48px auto 40px;
    text-align: center;
    z-index: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap
}

.feature-image {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 60%;
    height: 525px
}

.feature-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    max-height: 100%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease 0s, visibility .3s ease 0s
}

.feature-image .starting-image {
    opacity: 1;
    visibility: visible;
    z-index: 0
}

.feature-image .alt-img,
.swap-img .feature-image .starting-image {
    opacity: 0;
    visibility: hidden
}

.swap-img .feature-image .alt-img {
    opacity: 1;
    visibility: visible
}

.product-features .col article:hover {
    cursor: pointer
}

.product-features .col {
    top: 0;
    max-width: 235px;
    min-width: 180px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-flex-flow: column nowrap;
    flex-flow: column nowrap
}

.product-features .col:first-child {
    left: 0
}

.product-features .col:first-child~.col {
    right: 0
}

.icon-text {
    position: relative;
    color: #fff;
    display: block;
    font-family: Roboto, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 14px
}

.icon-text strong {
    color: #bcbec0;
    font-size: 16px;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    text-transform: uppercase
}

.icon-text p {
    font-size: 14px;
    font-family: OpenSans, Arial, sans-serif;
    opacity: 0;
    width: 200px;
    height: 200px;
    overflow: auto;
    background-color: #1b1b1b;
    border: 1px solid #fff;
    padding: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
    -moz-transform: translate(-50%, -50%) scale(0);
    -o-transform: translate(-50%, -50%) scale(0);
    -ms-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    transition: all 0.3s linear 0s
}

.icon-text.show-text p,
.icon-text.open p {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
    -moz-transform: translate(-50%, -50%) scale(1);
    -o-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    z-index: 99;
}

.icon-text:before {
    content: "";
    display: block;
    height: 115px;
    width: 115px;
    margin: 0 auto 20px;
    background-image: url(../images/icons/feature-icons.png);
    background-repeat: no-repeat
}

.product-features .icon-text:after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease 0s
}

.icon-heading {
    position: relative;
    padding-left: 125px
}

.icon-heading:before {
    content: "";
    display: inline-block;
    height: 115px;
    width: 115px;
    background-image: url(../images/icons/feature-icons.png);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    margin-top: -62px;
    left: 0
}

.icon-heading.one:before {
    background-position: 0 0
}

.icon-heading.two:before {
    background-position: 0 -117px
}

.icon-heading.three:before {
    background-position: 0 -234px
}

.icon-heading.four:before {
    background-position: -117px 0
}

.icon-heading.five:before {
    background-position: -117px -117px
}

.icon-heading.six:before {
    background-position: -117px -234px
}

.icon-text.one:before {
    background-position: 0px -23px;
    height: 78px;
}

.icon-text.two:before {
    background-position: 0 -148px;
    height: 61px;
}

.icon-text.three:before {
    background-position: 0px -246px;
    height: 67px;
}

.icon-text.four:before {
    background-position: -109px -26px;
    height: 68px;
}

.icon-text.five:before {
    background-position: -117px -127px;
    height: 92px;
}

.icon-text.six:before {
    background-position: -117px -258px;
    height: 62px;
}

.icon-set > .row + .row .cell .icon-text {
    padding-top: 55px;
}
.icon-set > .row + .row .cell .icon-text p {
	margin-top:23px;
}

.product-features .icon-text:hover:after {
    opacity: 1;
    visibility: visible;
    transition: all .3s ease 0s
}

.content-tabber {
    position: relative;
    padding: 30px 0 40px;
    background-color: #fff
}

.tabber-nav {
    text-align: center;
    margin-bottom: 30px
}

.tabber-nav li {
    position: relative;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .3s ease 0s
}

.tabber-nav li.active,
.tabber-nav li:hover {
    color: #ed1c24
}

.tabber-nav li+li {
    margin-left: 3.8%;
    padding-left: 3.8%
}

.tabber-nav li+li:before {
    content: "";
    display: inline-block;
    height: 19px;
    width: 2px;
    background-color: #1b1b1b;
    position: absolute;
    top: 50%;
    margin-top: -11px;
    right: 100%;
    margin-right: -1px
}

.content-tabber .nav-arrows {
    margin-top: 20px
}

.content-tab.contain {
    max-width: 1100px;
    white-space: nowrap;
    overflow: hidden
}

.content-tab .scroller {
    position: relative;
    max-width: 100%;
    transition: all .35s ease 0s
}

.content-tab article {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    white-space: normal
}

.nav-arrows {
    text-align: center
}

.nav-arrows>a,
.nav-arrows>button {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    height: 39px;
    width: 40px;
    background: url(../images/icons/arrow-icons.png) no-repeat 0 0;
    text-indent: -9999px
}

.nav-arrows>a+a,
.nav-arrows>button+button {
    margin-left: 20px
}

.nav-arrows .prev {
    background-position: 0 0
}

.nav-arrows>.prev:active,
.nav-arrows>.prev:hover {
    background-position: 0 -40px
}

.nav-arrows .next {
    background-position: -41px 0
}

.nav-arrows>.next:active,
.nav-arrows>.next:hover {
    background-position: -41px -40px
}

.feed-list {
    text-align: center;
    font-size: 0
}

.feed-list li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 33.33%;
    padding: 0 25px;
    font-size: 16px
}

.feed-list li>div:first-child {
    margin-bottom: 15px
}

.feed-list li .title-text {
    font-size: 30px;
    line-height: 1.1
}

.feed-list li .small-heading {
    display: block;
    margin-top: 20px
}

.feed-list li .underline-text {
    margin-top: 20px
}

.feed-list li .underline-text:hover {
    color: #ed1c24
}

.feed-list li .underline-text:after {
    width: 98%;
    left: 1%
}

.feed-list li .underline-text:hover:after {
    width: 62%
}

.image-row {
    font-size: 0
}

.image-row img {
    height: 0;
    padding-bottom: 26%;
    display: inline-block;
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.image-row img:nth-child(1) {
    width: 35.3%
}

.image-row img:nth-child(2) {
    width: 30.1%
}

.image-row img:nth-child(3) {
    width: 34.6%
}

.testimonial-block {
    position: relative;
    padding: 45px 0 55px;
    font-family: OpenSans, Arial, sans-serif;
    text-align: center
}

.testimonial-block .contain {
    max-width: 675px
}

.testimonial-block blockquote {
    position: relative;
    font-size: 24px;
    font-style: italic
}

.testimonial-block blockquote:after,
.testimonial-block blockquote:before {
    display: inline-block;
    font-size: inherit
}

.testimonial-block blockquote:before {
    content: "\0201C"
}

.testimonial-block blockquote:after {
    content: "\0201D"
}

.testimonial-block p {
    font-size: 18px;
    margin-top: 20px
}

.sub-banner {
    padding: 185px 2% 65px;
    min-height: 290px;
    background-color: #212121;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap
}

.sub-banner:after {
    content: none!important
}

.breadcrumbs {
    position: relative;
    background-color: #000;
    color: #fff;
    font-size: 14px
}

.breadcrumbs li+li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    margin: -2px 5px 0;
    border-radius: 50%;
    background-color: #ed1c24
}

.breadcrumbs li a,
.breadcrumbs li span {
    display: inline-block;
    line-height: 1;
    padding: 17px 0 19px
}

.breadcrumbs li a:active,
.breadcrumbs li a:hover {
    color: #ed1c24
}

.feature-block {
    padding: 135px 0 80px;
    background: url(../images/layout/feature-border.png) no-repeat center top;
    background-size: 100% auto;
    overflow: hidden
}

.feature-block.i-padding {
    padding: 120px 0 0
}

.feature-block.i-padding .heading-divider {
    max-width: 605px;
    margin: 0 auto
}

.feature-block.product-page {
    padding: 110px 0 75px
}

.feature-block .title-text,
.feature-block h2 {
    margin-bottom: 20px
}

.large-img {
    max-width: 700px;
    margin: 45px auto 0
}

.feature-block .large-img {
    margin-bottom: -100px
}

.product-content .contain {
    max-width: 900px
}

.product-content .col.img img {
    max-width: 210px
}

.icon-link {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    font-size: 24px;
    color: #bcbec0;
    text-transform: uppercase
}

.icon-link+.icon-link {
    padding-left: 35px
}

.icon-link+.icon-link:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 24px;
    width: 2px;
    background-color: #bcbec0;
    position: absolute;
    top: 50%;
    margin-top: -12px;
    left: 16px;
    margin-right: 20px
}

.icon-link:active,
.icon-link:hover {
    color: #ed1c24
}

.icon-link:after {
    content: "";
    display: inline-block;
    background: url(../images/icons/gen-icons.png) no-repeat 0 0;
    position: absolute;
    top: 50%;
    right: 0
}

.icon-link.cart,
.icon-link.play {
    padding: 2px 28px 2px 0
}

.icon-link.play:after {
    height: 15px;
    margin-top: -8px;
    width: 19px;
    background-position: -100px 0
}

.icon-link.cart:after {
    height: 15px;
    margin-top: -8px;
    width: 20px;
    background-position: -51px -32px
}

.icon-link.red {
    color: #ed1c24
}

.icon-link.red:active,
.icon-link.red:hover {
    color: #bcbec0
}

.icon-link.red:active:after,
.icon-link.red:hover:after {
    background-position: -51px -32px
}

.icon-link.red.cart:after {
    background-position: -51px -16px
}

.feature-buttons {
    margin: 35px auto 0;
    font-size: 0
}

.feature-buttons .icon-text {
    position: relative;
    display: inline-block;
    vertical-align: top;
    text-transform: uppercase;
    min-height: 205px
}

.feature-buttons .icon-text+.icon-text {
    margin-left: 4%
}

.feature-buttons .icon-text:after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 0;
    background-color: #ed1c24;
    position: absolute;
    top: 100%;
    margin-top: 25px;
    left: 50%;
    margin-left: -3px;
    z-index: 20;
    transition: .3s ease 0s
}

.feature-buttons .icon-text.sel {
    font-weight: 700
}

.feature-buttons .icon-text.sel:after {
    height: 100px
}

.feature-buttons .icon-text:before {
    box-sizing: border-box
}

.icon-text>div {
    position: relative;
    margin: 0 auto;
    max-width: 130px;
    min-height: 40px;
    font-size: 16px;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif
}

.icon-text>div:before {
    font-family: Roboto, Helvetica, sans-serif;
    font-weight: 700
}

.feature-content .bx-wrapper .bx-next,
.feature-content .bx-wrapper .bx-prev {
    width: 40px;
    height: 39px;
    background-image: url(../images/icons/arrow-icons.png);
    background-repeat: no-repeat
}

.feature-content .bx-wrapper .bx-prev {
    left: 4px;
    background-position: 0 -80px!important
}

.feature-content .bx-wrapper .bx-next {
    right: 4px;
    background-position: -41px -80px!important
}

.feature-content {
    position: relative;
    background-color: #231f20;
    max-height: 0;
    overflow: hidden;
    transition: all .35s linear 0s
}

.feature-content.open {
    max-height: 900px
}

.feature-content article {
    background-color: #231f20;
    color: #fff;
    padding: 0 50px;
    overflow: hidden;
    transition: opacity .35s ease 0s, visibility .35s ease 0s, max-height .35s linear 0s, z-index .35s linear 0s
}

.feature-content article img {
    display: inline-block;
    vertical-align: top
}

.feature-content.open article {
    transition: none
}

.feature-content article.active {
    opacity: 1;
    max-height: 800px;
    visibility: visible;
    z-index: 2;
    transition: opacity .35s ease 0s, visibility .35s ease 0s, max-height .35s linear 0s, z-index .35s linear 0s
}

.feature-content article.front-pos {
    position: relative
}

.feature-content>.contain {
    padding: 65px 0
}

.feature-content .close-button {
    position: absolute;
    top: 85px;
    right: 7px;
    z-index: 3
}

.feature-content article img {
    max-width: 275px;
    width: 30%
}

.feature-content article .col {
    padding-top: 70px;
    max-width: 580px;
    width: 58%;
    padding-right: 65px;
    margin-left: 9%
}

.feature-content article h3 {
    font-size: 32px
}

.feature-content article h3>span {
    display: block;
    margin-bottom: 10px;
    color: #bcbec0;
    font-size: 24px;
    font-family: OpenSans, Arial, sans-serif;
    text-transform: uppercase
}

.feature-content article .col p:last-child {
    margin-bottom: 0
}

.feature-content article .icon-link {
    margin-top: 40px
}

.simple-callout {
    display: block;
    padding: 40px 2%;
    color: #fff;
    background-color: #ed1c24;
    text-align: center;
    text-transform: uppercase;
    line-height: 1
}

.table.standard .row.head {
    background-color: #1b1b1b!important;
    color: #fff;
    font-size: 24px
}

.table.standard .head .cell {
    padding: 20px 10px
}

.table.standard .cell {
    padding: 12px 10px
}

.table.standard .row:nth-child(2n-1) {
    background-color: #ebebec
}

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

.product-viewer {
    background-color: transparent;
    font-size: 0
}

.product-viewer>.table .col {
    width: 50%;
    font-size: 14px;
    line-height: 24px;
    text-align: center
}

.product-viewer>.table .col:first-child {
    background-size: auto 100%
}

.product-heading {
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    font-size: 48px;
    line-height: 57px;
    text-transform: uppercase;
    margin-bottom: 15px
}

.product-heading.heading-divider:after {
    margin-top: 10px;
    width: 100%;
    max-width: 60%
}

.product-heading span {
    font-size: 16px;
    line-height: 22px;
    font-family: OpenSans, Arial, sans-serif;
    display: block;
    width: 100%;
    padding-bottom: 14px
}

.product-viewer .content-left,
.product-viewer .content-right {
    width: 100%;
    max-width: 512px
}

.product-viewer .content-left {
    float: right;
    padding: 0 35px 0 0;
}

.product-viewer .content-right {
    float: left;
    padding: 20px 0 80px 35px;
}

.product-viewer .bx-wrapper {
    margin: 0 auto
}

.prod-slider {
    list-style: none;
    display: block
}

.prod-slider>li img {
    margin: 0 auto
}

.nav-dots {
    display: block;
    font-size: 0;
    text-align: center;
    margin-top: 32px
}

.nav-dots .bx-pager>div,
.nav-dots>li {
    display: inline-block
}

.nav-dots>li a {
    display: block
}

.nav-dots .bx-pager>div,
.nav-dots>li a {
    height: 15px;
    width: 14px;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .2);
    cursor: pointer;
    transition: all .3s ease 0s
}

.nav-dots .bx-pager>div+div,
.nav-dots>li+li {
    margin: 0 0 0 11px
}

.nav-dots>li a.active,
.nav-dots>li a:hover {
    background-color: #ed1c24
}

.nav-options .cell:first-child {
    padding-left: 48px
}

.nav-options .cell+.cell {
    width: 73px
}

.price-tag {
    display: block;
    margin: 33px 0;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    font-size: 24px;
    text-align: center;
    line-height: 24px
}

.price-tag>i,
i.price-tag {
    display: inline-block;
    vertical-align: middle;
    background: url(../images/icons/gen-icons.png) no-repeat 0 0
}

.button.block.large {
    margin: 45px auto
}

.all-testim > div + div {
	padding-top: 50px;
}

.slider-instructions {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 5px;
    font-weight: 700;
    font-size: 18px;
    transition: all .2s ease 0s
}

.slider-instructions:after,
.slider-instructions:before {
    content: "";
    position: absolute;
    left: 50%;
    -webkit-animation: arrow-motion 2.5s linear 0s infinite forwards normal;
    animation: arrow-motion 2.5s linear 0s infinite forwards normal
}

.slider-instructions:before {
    width: 4px;
    height: 14px;
    background-color: #3b3b3b;
    top: 100%;
    margin-left: -2px
}

.slider-instructions:after {
    border-top: 6px solid #3b3b3b;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    top: 100%;
    margin-top: 14px;
    margin-left: -6px
}

.slider-instructions.hide {
    opacity: 0;
    visibility: hidden
}

@-webkit-keyframes arrow-motion {
    0 {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
    10% {
        -webkit-transform: translateY(10px);
        -moz-transform: translateY(10px);
        -o-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px)
    }
    20% {
        -webkit-transform: translateY(4px);
        -moz-transform: translateY(4px);
        -o-transform: translateY(4px);
        -ms-transform: translateY(4px);
        transform: translateY(4px)
    }
    30% {
        -webkit-transform: translateY(10px);
        -moz-transform: translateY(10px);
        -o-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px)
    }
    40% {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes arrow-motion {
    0 {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
    10% {
        -webkit-transform: translateY(10px);
        -moz-transform: translateY(10px);
        -o-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px)
    }
    20% {
        -webkit-transform: translateY(4px);
        -moz-transform: translateY(4px);
        -o-transform: translateY(4px);
        -ms-transform: translateY(4px);
        transform: translateY(4px)
    }
    30% {
        -webkit-transform: translateY(10px);
        -moz-transform: translateY(10px);
        -o-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px)
    }
    40% {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.product-difference {
    position: relative;
    margin: 55px auto 40px;
    max-width: 420px;
    height: 880px
}

.product-difference img {
    padding: 0 25px
}

.product-difference .feature-node {
    position: absolute
}

.product-difference .dot,
.product-difference .dot:before {
    position: relative;
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #e4d331;
    z-index: 1
}

.product-difference .dot:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1
}

.feature-node .dot {
    position: absolute;
    cursor: pointer
}

@-webkit-keyframes pulse {
    from {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: scale(2);
        -moz-transform: scale(2);
        -o-transform: scale(2);
        -ms-transform: scale(2);
        transform: scale(2)
    }
}

@keyframes pulse {
    from {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: scale(2);
        -moz-transform: scale(2);
        -o-transform: scale(2);
        -ms-transform: scale(2);
        transform: scale(2)
    }
}

.feature-node.closed .pulse:before,
.product-difference.node-open .open .pulse:before {
    -webkit-animation: pulse 1.5s infinite normal forwards;
    animation: pulse 1.5s infinite normal forwards
}

.product-difference.node-open .pulse:before {
    -webkit-animation: none;
    animation: none
}

.product-difference.node-open .open .pulse:before {
    -webkit-animation: pulse 1.5s infinite normal forwards;
    animation: pulse 1.5s infinite normal forwards
}

.product-difference h2 {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease 0s, visibility .3s ease 0s
}

.product-difference>h2 {
    bottom: 101%
}

.product-difference .resize h2 {
    bottom: 99%
}

.product-difference.node-open.elim>h2,
.product-difference.node-open:not(.elim) .resize h2 {
    opacity: 1;
    visibility: visible
}

.feature-node {
    text-align: left;
    z-index: 0
}

.feature-node .angle-line {
    z-index: 0
}

.feature-node.closed .angle-line {
    width: 0
}

.feature-node p {
    position: relative;
    font-size: 16px;
    margin: 0 0 9px;
    max-width: 265px;
    transition: all .2s linear .3s
}

.feature-node.closed p {
    opacity: 0;
    visibility: hidden;
    margin-bottom: -15px;
    transition: all .2s linear 0s
}

.feature-node .angle-line:after,
.feature-node .angle-line:before {
    content: "";
    background-color: #a5a5a5;
    height: 3px;
    position: absolute
}

.feature-node .angle-line:before {
    -webkit-transform-origin: 0 50%;
    -moz-transform-origin: 0 50%;
    -o-transform-origin: 0 50%;
    -ms-transform-origin: 0 50%;
    transform-origin: 0 50%;
    transition: width .15s linear 0s
}

.feature-node.closed .angle-line:before {
    transition: width .15s linear .35s
}

.feature-node .angle-line:after {
    transition: width .15s linear .15s
}

.feature-node.closed .angle-line:after {
    transition: width .15s linear .2s
}

.feature-node.closed .angle-line:after,
.feature-node.closed .angle-line:before {
    width: 0!important
}

.feature-node.angle-up {
    padding-bottom: 36px
}

.feature-node.angle-up .angle-line:before {
    width: 51px;
    bottom: 5px;
    left: 5px;
    -webkit-transform: rotate(-45deg) translate3d(0, 0, 0);
    -moz-transform: rotate(-45deg) translate3d(0, 0, 0);
    -o-transform: rotate(-45deg) translate3d(0, 0, 0);
    -ms-transform: rotate(-45deg) translate3d(0, 0, 0);
    transform: rotate(-45deg) translate3d(0, 0, 0)
}

.feature-node.angle-down .angle-line:before {
    width: 44px;
    bottom: 2px;
    left: 8px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.feature-node.angle-down .angle-line:after {
    bottom: -28px;
    left: 37px;
    width: 305px
}

.feature-node.angle-down p {
    margin-bottom: -19px
}

.feature-node.angle-down.closed p {
    margin-bottom: -43px
}

.product-difference>.feature-node .dot {
    bottom: -5px;
    right: -5px
}

.product-difference>.feature-node .angle-line {
    position: absolute;
    bottom: 0;
    right: 0
}

.product-difference>.feature-node .angle-line:after,
.product-difference>.feature-node .angle-line:before {
    -webkit-transform-origin: 100% 50%;
    -moz-transform-origin: 100% 50%;
    -o-transform-origin: 100% 50%;
    -ms-transform-origin: 100% 50%;
    transform-origin: 100% 50%
}

.product-difference>.feature-node .angle-line:before {
    left: auto;
    right: 5px
}

.product-difference>.feature-node.angle-up .angle-line:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.product-difference>.feature-node.angle-up .angle-line:after {
    bottom: 40px;
    left: auto;
    right: 40px;
    width: 300px
}

.product-difference>.feature-node.angle-down .angle-line:before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.product-difference>.feature-node.angle-down .angle-line:after {
    bottom: -28px;
    left: auto;
    right: 34px;
    width: 300px
}

.product-difference>.feature-node p {
    max-width: 220px
}

.product-difference>.feature-node {
    width: 300px;
    padding-left: 28px
}

.product-difference>.feature-node:after {
    width: 248px
}

.product-difference>.feature-node.one {
    bottom: 710px;
    right: 323px
}

.product-difference>.feature-node.one .angle-line:after {
    width: 270px
}

.product-difference>.feature-node.two {
    width: 400px;
    bottom: 729px;
    right: 205px
}

.product-difference>.feature-node.two .angle-line:after {
    width: 350px
}

.product-difference>.feature-node.three {
    width: 480px;
    bottom: 600px;
    right: 159px;
    padding-left: 20px
}

.product-difference>.feature-node.three .angle-line:after {
    width: 450px
}

.product-difference>.feature-node.three p {
    position: absolute;
    bottom: 40px;
    left: 20px
}

.product-difference>.feature-node.four {
    width: 475px;
    bottom: 540px;
    right: 180px
}

.product-difference>.feature-node.four p {
    max-width: 235px
}

.product-difference>.feature-node.four .angle-line:after {
    width: 460px
}

.product-difference>.feature-node.five {
    width: 380px;
    bottom: 437px;
    right: 239px
}

.product-difference>.feature-node.five .angle-line:after {
    width: 350px
}

.product-difference>.feature-node.five p {
    max-width: 235px
}

.product-difference>.feature-node.six {
    width: 500px;
    bottom: 184px;
    right: 97px
}

.product-difference>.feature-node.six .angle-line:after {
    width: 475px
}

.product-difference>.feature-node.seven {
    width: 385px;
    bottom: 100px;
    right: 240px
}

.product-difference>.feature-node.seven .angle-line:after {
    width: 360px
}

.product-difference>.feature-node.seven p {
    max-width: 260px
}

.product-difference>.feature-node.eight {
    width: 560px;
    bottom: 297px;
    right: 52px;
    padding-left: 20px
}

.product-difference>.feature-node.eight p {
    max-width: 260px
}

.product-difference>.feature-node.eight .angle-line:after {
    width: 535px
}

.resize .feature-node .dot {
    bottom: -5px;
    left: -5px
}

.resize .feature-node.angle-up .angle-line:after,
.resize .feature-node.angle-up .angle-line:before {
    position: absolute;
    bottom: 0;
    left: 0
}

.resize .feature-node.angle-up .angle-line:after {
    width: 350px;
    bottom: 36px;
    left: 35px
}

.resize .feature-node.one {
    width: 330px;
    bottom: 760px;
    left: 242px;
    padding-left: 130px
}

.resize .feature-node.one .angle-line:after {
    width: 315px
}

.resize .feature-node.two {
    width: 365px;
    bottom: 696px;
    left: 214px;
    padding-left: 0
}

.resize .feature-node.two .angle-line:after {
    width: 315px
}

.resize .feature-node.two p {
    position: absolute;
    bottom: 36px;
    left: 145px
}

.resize .feature-node.three {
    width: 480px;
    bottom: 639px;
    left: 220px;
    padding-left: 130px
}

.resize .feature-node.three .angle-line:after {
    width: 330px
}

.resize .feature-node.four {
    width: 322px;
    bottom: 550px;
    left: 265px;
    padding-left: 85px
}

.resize .feature-node.five {
    width: 295px;
    bottom: 292px;
    left: 257px;
    padding-left: 70px
}

.resize .feature-node.six {
    width: 548px;
    bottom: 170px;
    left: 74px;
    padding-left: 275px
}

.resize .feature-node.six .angle-line:after {
    width: 520px
}

.resize .feature-node.seven {
    width: 305px;
    bottom: 111px;
    left: 231px;
    padding-left: 78px
}

.product-difference.ba-slider {
    overflow: visible!important
}

.product-difference.ba-slider .handle {
    height: 90%;
    transition: opacity .3s linear 0s, visibility .3s linear 0s, z-index .3s linear 0s
}

.product-difference.node-open .handle {
    opacity: 0;
    visibility: hidden
}

.product-difference.node-open:not(.elim)>.feature-node {
    opacity: 0;
    visibility: hidden
}

.product-difference.ba-slider .handle>span {
    display: inline-block;
    height: 30px;
    width: 10px;
    padding: 0 15px;
    box-sizing: content-box;
    background-clip: content-box;
    background-color: #3d3d3d;
    position: absolute;
    top: 50%;
    margin-top: -15px;
    left: 50%;
    margin-left: -20px
}

.product-difference.ba-slider .handle:after,
.product-difference.ba-slider .handle:before {
    content: "";
    display: inline-block;
    height: 0!important;
    width: 0!important;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: none;
    border-right: none;
    background: 0 0!important;
    border-radius: 0;
    box-shadow: none;
    position: absolute;
    top: 50%!important;
    margin-top: -8px!important;
    z-index: 1;
    cursor: ew-resize;
    transition: margin .3s ease 0s
}

.product-difference.ba-slider .handle:before {
    border-right: 8px solid rgba(0, 0, 0, .5)!important;
    right: 100%!important;
    margin-right: 7px
}

.product-difference.ba-slider .handle:after {
    border-left: 8px solid rgba(0, 0, 0, .5);
    left: 100%!important;
    margin-left: 7px
}

.product-difference.ba-slider .handle.ba-draggable:before,
.product-difference.ba-slider .handle:hover:before {
    margin-right: 11px
}

.product-difference.ba-slider .handle.ba-draggable:after,
.product-difference.ba-slider .handle:hover:after {
    margin-left: 11px
}

.doc-list {
    display: table;
    width: 100%;
    border-spacing: 10px
}

.doc-list li {
    display: table-row;
    text-align: left
}

.doc-list li+li {
    margin-top: 12px
}

.doc-list li a {
    position: relative;
    display: table-cell;
    padding: 12px 55px 12px 15px;
    background-color: #c4c4c6;
    font-size: 20px;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    color: #000;
    vertical-align: middle
}

.doc-list li a:active,
.doc-list li a:hover {
    color: #ed1c24
}

.doc-list a:before {
    background: url(../images/icons/doc-file.png) no-repeat scroll left center transparent;
    content: " ";
    display: inline-block;
    height: 16px;
    padding-right: 10px;
    width: 16px
}

.doc-list a[href$=".gif"]:before,
.doc-list a[href$=".jpeg"]:before,
.doc-list a[href$=".jpg"]:before,
.doc-list a[href$=".png"]:before {
    background-image: url(../images/icons/doc-image.png)
}

.doc-list a[href$=".pdf"]:before {
    background-image: url(../images/icons/doc-pdf.png)
}

.doc-list a[href$=".doc"]:before,
.doc-list a[href$=".docx"]:before {
    background-image: url(../images/icons/doc-word.png)
}

.doc-list a[href$=".xls"]:before,
.doc-list a[href$=".xlsx"]:before {
    background-image: url(../images/icons/doc-excel.png)
}

.doc-list li a.download-link {
    text-align: center;
    padding: 0;
    width: 50px
}

.doc-list li a.download-link:before {
    display: none
}

.doc-list li a.download-link img {
    vertical-align: middle
}

.full-box,
ol.full-box li,
ul.full-box li {
    display: inline-block;
    width: 100%
}

.drop-down ol,
.drop-down ul,
ol.drop-down li ol,
ol.drop-down li ul,
ul.drop-down li ol,
ul.drop-down li ul {
    position: absolute;
    top: 100%;
    left: -9999px;
    text-align: left;
    box-sizing: border-box;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease 0s
}

.drop-down ol li,
.drop-down ul li {
    display: block
}

.drop-down.sel ol,
.drop-down.sel ul,
.drop-down:hover ol,
.drop-down:hover ul,
ol.drop-down li.sel ol,
ol.drop-down li.sel ul,
ol.drop-down li:hover ol,
ol.drop-down li:hover ul,
ul.drop-down li.sel ol,
ul.drop-down li.sel ul,
ul.drop-down li:hover ol,
ul.drop-down li:hover ul {
    left: auto;
    opacity: 1;
    visibility: visible;
    z-index: 15
}

.button,
a.button,
input[type=submit].button {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    min-width: 108px;
    padding: 7px 20px;
    color: #fff;
    background-color: transparent;
    border: 1px solid #fff;
    font-size: 14px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    transition: all .3s ease 0s;
    cursor: pointer
}

.button:hover,
a.button:active,
a.button:hover,
input[type=submit].button:hover {
    background-color: #ed1c24;
    border-color: #ed1c24
}

.button.block,
a.button.block,
input[type=submit].button.block {
    min-width: 198px;
    padding: 11px 20px
}

.block {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.button.red,
a.button.red,
input[type=submit].button.red {
    padding: 14px 25px;
    background-color: #ED1C24;
    border-color: #ED1C24;
}

.button.red:hover,
a.button.red:active,
a.button.red:hover,
input[type=submit].button.red:hover {
    background-color: #fff;
    border-color: #fff;
    color: #ED1C24;
}

.button.alt,
a.button.alt,
input[type="submit"].button.alt {
	padding: 14px 25px;
	background-color:transparent;
	border-color:#ED1C24;
	color:#ED1C24;
}

.button.alt:hover,
a.button.alt:hover,
a.button.alt:active,
input[type="submit"].button.alt:hover {
	background-color:#ED1C24;
	color:#FFF;
}

.button.large,
a.button.large,
input[type=submit].button.large {
    font-size: 16px;
    line-height: 1.25;
    min-width: 215px;
    padding: 20px 45px
}

.tr-icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: -5px 8px 0 0;
    z-index: 0
}

.icon-link .tr-icon {
    margin-left: 8px;
    margin-right: 0
}

.tr-icon:after,
.tr-icon:before {
    content: "";
    display: inline-block;
    height: 100%;
    width: 100%;
    background-image: url(../images/icons/gen-icons.png);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all .3s ease 0s
}

.tr-icon:after {
    opacity: 0;
    visibility: hidden
}

.tr-icon:hover:before,
a:active .tr-icon:before,
a:hover .tr-icon:before,
button:hover .tr-icon:before {
    opacity: 0;
    visibility: hidden
}

.tr-icon:hover:after,
a:active .tr-icon:after,
a:hover .tr-icon:after,
button:hover .tr-icon:after {
    opacity: 1;
    visibility: visible
}

.left-arr,
.right-arr {
    height: 21px;
    width: 13px
}

.left-arr:before {
    background-position: -72px 0
}

.left-arr:after {
    background-position: -72px -22px;
    opacity: 0;
    visibility: hidden
}

.right-arr:before {
    background-position: -86px 0
}

.right-arr:after {
    background-position: -86px -22px
}

.play-icn {
    height: 15px;
    width: 19px
}

.play-icn:before {
    background-position: -100px 0
}

.play-icn:after {
    background-position: -100px -16px
}

.search {
    height: 23px;
    width: 22px;
    margin: 0
}

.search:before {
    background-position: 0 0
}

.top-nav.light .search:before {
    background-position: 0 -48px
}

.search:after {
    background-position: 0 -24px
}

.social-list .tr-icon:after,
.social-list .tr-icon:before {
    background-image: url(../images/icons/social-icons.png)
}

.facebook {
    width: 9px;
    height: 18px
}

.facebook:before {
    background-position: 0 0
}

.facebook:after {
    background-position: -10px 0
}

.twitter {
    width: 17px;
    height: 16px
}

.twitter:before {
    background-position: 0 -19px
}

.twitter:after {
    background-position: -18px -19px
}

.linkedin {
    width: 16px;
    height: 16px
}

.linkedin:before {
    background-position: 0 -37px
}

.linkedin:after {
    background-position: -17px -37px
}

.youtube {
    width: 21px;
    height: 15px
}

.youtube:before {
    background-position: 0 -53px
}

.youtube:after {
    background-position: -22px -53px
}

.inline-list li {
    position: relative;
    display: inline-block;
    vertical-align: middle
}

.contain {
    position: relative;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    z-index: 0
}

.image-link,
.image-links li {
    position: relative
}

.image-link a,
.image-link span,
.image-links li a {
    display: inline-block;
    height: 100%;
    width: 100%;
    text-align: left;
    text-indent: -9999px
}

.col {
    display: inline-block;
    vertical-align: top
}

.col.img {
    width: 46.8%;
    max-width: 450px
}

.col.img+.col {
    width: 52.5%;
    max-width: 540px
}

.main,
.side {
    text-align: left
}

.main {
    width: 73%;
    max-width: 730px;
}

.main+.side {
    width: 22.5%;
    max-width: 225px;
    margin-left: 3%;
}

.col.full,
.main.full,
.main:only-child {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

iframe {
    max-width: 100%!important;
}

.frame-contain {
    position: relative;
    height: 0;
    max-width: 100%;
    overflow: hidden;
    padding-bottom: 56.25%;
}

.frame-contain iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%!important;
    width: 100%!important;
}

input[type=submit]::-moz-focus-inner {
    border: none;
    padding: 0;
    line-height: 1;
}

.table {
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed;
}

.table.page {
    max-width: 1000px;
    margin: 0 auto
}

.table.page.large {
    max-width: 1000px
}

.table.auto-height,
main .table.page {
    height: auto
}

.table.auto-width {
    width: auto
}

.table.auto-all {
    height: auto;
    width: auto
}

.row {
    display: table-row
}

.cell {
    display: table-cell;
    vertical-align: top;
    height: 100%;
    float: none!important
}

.padding {
    padding: 0 20px
}

.padding-left {
    padding-left: 20px
}

.padding-right {
    padding-right: 20px
}

.middle {
    vertical-align: middle
}

.bottom {
    vertical-align: bottom
}

.table-header-group {
    display: table-header-group
}

.table-footer-group {
    display: table-footer-group
}

.relative {
    position: relative;
}

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center
}

.unslider {
    overflow: auto;
    margin: 0;
    padding: 0
}

.unslider-wrap {
    position: relative
}

.unslider-wrap.unslider-carousel>li {
    float: left
}

.unslider-vertical>ul {
    height: 100%
}

.unslider-vertical li {
    float: none;
    width: 100%
}

.unslider-fade {
    position: relative
}

.unslider-fade .unslider-wrap li {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 8
}

.unslider-fade .unslider-wrap li.unslider-active {
    z-index: 10
}

.unslider li,
.unslider ol,
.unslider ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: none
}

.unslider-arrow {
    position: absolute;
    left: 20px;
    z-index: 2;
    cursor: pointer
}

.unslider-arrow.next {
    left: auto;
    right: 20px
}

.story {
    width: 100%;
    display: block;
    max-width: 500px;
    float: left
}

.story .style-list li {
    font-size: 16px;
    line-height: 20px
}

.left-side-img {
    float: right;
    margin-right: 50px
}

.news-section {
    text-align: left
}

.news-list {
    list-style: none
}

.news-list li {
    position: relative;
    display: block;
    padding: 20px;
    border: 1px solid #e2e2e2;
    margin-bottom: 30px;
    background-color: #f9f9f9
}

.news-list li+li {
    padding-top: 30px
}

.news-list li+li:before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 2px;
    background-color: #594f48;
    position: absolute;
    top: 0;
    left: 0
}

.news-details h2,
.news-list li h3 {
    margin: 15px auto;
    font-size: 32px;
    line-height: 38px;
    color: #000;
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    font-weight: 400;
    text-transform: uppercase
}

.news-list h3 a {
    padding: 0!important
}

.news-list h3 a:after {
    content: none!important
}

.news-details .button.red {
    padding: 10px 20px 7px 20px
}

.news-details h2 {
    padding: 0;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
}

.news-details h2>span,
.news-list h3>span {
    line-height: 1;
}

.news-details article {
    margin: 35px auto;
}

.news-list li img {
    display: block;
    max-height: 350px;
    border: 5px solid #787879;
}

.news-details h2 span,
.news-list li h3 span {
    display: block;
    font-family: OpenSans, Arial, sans-serif;
    font-size: 13px;
    color: #7f7f7f;
}

.news-details .main-img,
.news-list .main-img {
    display: block;
    margin-bottom: 26px
}

.news-list li>p {
    font-size: 16px
}

.news-list li>p:last-child {
    margin-bottom: 0
}

.news-list .button {
    background: #171a46 none repeat scroll 0 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-family: OpenSans, Arial, sans-serif;
    line-height: 100%;
    padding: 20px 25px;
    text-transform: uppercase;
    transition: all .3s ease 0s
}

.news-list .button:hover {
    background-color: #000
}

.news-details header {
    display: block;
    margin-top: 40px
}

.news-details p {
    font-size: 16px;
    line-height: 25px
}

.news-details .doc-list {
    margin-top: 1em
}

#search-results h3 {
    font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    display: block;
    text-transform: uppercase;
    font-size: 25px;
    color: #ed1c24
}

#search-results ol {
    list-style-type: none;
    text-align: left;
    margin: 0 auto;
    padding: 1px
}

#search-results ol h4 {
    margin: 0;
    font-size: 18px;
    display: block;
    margin-bottom: 11px
}

#search-results ol h4 a {
    color: #000;
    text-decoration: underline;
    text-decoration-color: #ed1c24
}

#search-results ol h4 a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 18px;
    text-decoration: underline;
    text-decoration-color: #ed1c24
}

#search-results ol a span:after {
    content: '\00bb';
    padding-left: .5em
}

#search-results ol h4 small {
    display: inline-block;
    vertical-align: middle;
    font-size: 12px;
    color: #6f7176;
    margin-top: .1em;
    margin-left: .5em
}

#search-results ol li {
    padding: 1.25em 0;
    border-top: 1px solid #dde0e6
}

#search-results ol li a:active,
#search-results ol li a:hover {
    color: #ed1c24;
    transition: all .3s ease 0s
}

#search-results ol li a {
    font-size: 80%;
    display: inline-block
}

#search-results ol li p {
    padding: 0;
    margin: 0
}

#search-results ol li p+p {
    padding-top: 20px
}

#search-results ol mark {
    background-color: #c4c4c6;
    display: inline-block;
    padding: 0 4px
}

#search-results>header {
    position: relative
}

#search-results>footer {
    text-align: center
}

#search-results>footer .pagination {
    text-align: center
}

.pagination {
    display: block;
    padding: 6px;
    margin-top: 26px;
    text-align: center;
    list-style: none
}

#search-results>header>.pagination {
    margin-bottom: 30px
}

.pagination li,
.pagination>ul {
    display: inline-block;
    list-style: none;
    margin: 0!important
}

.pagination li+li {
    margin-left: 6px!important
}

.pagination a,
.pagination span,
.pagination strong {
    display: inline-block;
    font-size: 15px;
    line-height: 15px;
    padding: 10px 11px
}

.pagination span {
    padding: 10px 13px
}

.pagination a {
    color: #1b1b1b;
    border: 2px solid #1b1b1b;
    transition: all .3s ease 0s
}

.pagination a:hover {
    background-color: #ed1c24;
    border-color: #ed1c24;
    color: #fff
}

.pagination span {
    font-family: OpenSans-Bold, 'Arial Bold', sans-serif;
    color: #fff;
    background-color: #0053a0;
    border: 1px solid #fff
}

.pagination>.next a,
.pagination>.prev a {
    font-size: 20px;
    padding: 8px 11px 13px;
}

.pagination strong {
    font-family: OpenSans-Bold, 'Arial Bold', sans-serif;
    font-weight: 400;
    color: #fff;
    background-color: #ed1c24;
    border: 2px solid #ed1c24
}

.video-section {
    display: block;
    margin-top: 30px;
    
    font-size: 0;
}

.video-file {
	position: relative;
    width: 31%;
    display: inline-block;
    vertical-align: top;
    padding: 0 0 10px 0;
    margin: 15px 1.05% 25px;
}

.video-file a {
	position: relative;
    display: block;
    height: 100%;
    width: 100%;
}

.video-file .video-img {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 75%;
    width: 100%;
    margin: 0;
    background-attachment: scroll;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 5px;
    
    z-index: 0;
}

.video-file .video-img:before {
    content: "";
    height: 100%;
    width: 100%;
    background: url(../images/icons/play-icon.png) no-repeat scroll center center transparent;
    background-size:80px auto;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 5px;
    transition: all 0.5s ease 0ms;
}

.video-file a:hover .video-img:after {
    opacity: 0.35;
/*     visibility: visible; */
}

.video-file .video-img:after {
    content: "";
    opacity: 0.65;
/*     visibility: hidden; */
    background-color: rgb(0, 0, 0);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    transition: opacity .3s ease 0s, visibility .3s ease 0s
}

.video-file figcaption {
    font-size: 22px;
    font-family: Roboto, Arial, sans-serif;
    width: 100%;
    display: block;
    text-align: center;
    letter-spacing: .03em;
    line-height:1.25;
    margin-top:15px;
    padding:0 10px;
}

.letter-text {
    width: 500px;
    margin-bottom: -10px;
}

.title {
    display: inline-block;
    position: absolute;
    top: 50%;
    opacity: 1;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: all 0.3s ease 0s;
}

.title h2 {
    margin-bottom: 0px;
}

.title-left {
    left: 0px;
}

.title-right {
    right: 0px;
}

.left-shift .title-left {
    left: 40%;
    opacity: 0;
}

.right-shift .title-right {
    right: 40%;
    opacity: 0;
}

#amount {
  margin: 25px auto 0;
  height: auto;
  width: auto;
}

#amount > .cell:first-child {
  padding-right: 16px;
}

#amount label {
  font-family: OpenSans-Bold,"Arial Bold",sans-serif;
  font-size: 28px;
  text-transform: uppercase;
}

#product-purchase-form {
  text-align: center;
}

#product-purchase-form .button {
	border: 2px solid #ED1C24;
	margin-top: 20px !important;
}

#product-purchase-form .selectBox2 {
	/*   width: 215px; */
	width: 130px;
	
	text-align: left;
	margin:0;
	display: block;
	font-size: 16px;
}

#product-purchase-form .selectBox2 .select2-container .select2-selection--single {
	height: 42px;
}

#product-purchase-form .selectBox2 .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 42px;
}

#product-purchase-form .selectBox2 .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px;
}

#select2-qty-container {
	font-weight: bold;
	text-align: center;
}

#select2-qty-results {
	text-align: center;
}

.pull-left {
	float:left;
}
.pull-right {
	float:right;
}

.sticky-cta {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	height:auto;
	background: #ED1C24;
	padding:15px 20px;
	
	text-align: center;
	color:#FFF;
}

.sticky-cta a {
	text-decoration: underline;
}

/*
.sticky-cta a {
	display: block;
	padding: 10px 20px;
	width: 100%;
	text-align: center;
	color: #FFF;
	position: relative;
	z-index: 0;
}

.sticky-cta span.button {
	padding: 12px 20px;
	margin-left: 15px;
}

.sticky-cta span.button:hover {
	border-color: #FFF;
	background: #FFF;
	color: #ED1C24;
}
*/

.sticky-cta button {
	position: absolute;
	right: 25px;
	top:-13px;
	margin: auto;
	display: inline-block;
	box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.3);
	border: 2px solid #fff;
	background-color: #ED1C24;
	height: 26px;
	width: auto;
	border-radius: 10px 0px;
	cursor: pointer;
	color: #FFF;
	text-transform: uppercase;
	font-weight: bold;
	padding: 0px 14px;
	font-family: OpenSans-Bold;
	z-index: 5;
}

.no-alert .sticky-cta button {
	transition: right 0.6s ease 0s;
	right: -100%;
}

.no-alert .sticky-cta {
	transition: bottom 0.8s ease 0.2s;
	bottom: -100%;
}

/* Utility Classes */

.clearfix:after {
	content:"";
	display: block;
	clear:both;
}

.left {
	text-align: left !important;
}
.center {
	text-align: center !important;
}
.right {
	text-align: left !important;
}

/* !MOBILE STYLES */
@media screen and (max-width:1350px) {
	
    .banner-section .rotated-text {
        left: 3%;
        bottom: -350px;
        -webkit-transform-origin: 0 50%;
        -moz-transform-origin: 0 50%;
        -o-transform-origin: 0 50%;
        -ms-transform-origin: 0 50%;
        transform-origin: 0 50%
    }
    .banner-section.disc-anim .rotated-text {
        bottom: -10px
    }
    
}

@media screen and (max-width:1200px) {
	
    .rl-menu .sub-nav,
    .rl-menu .sub-nav .sub-nav,
    .main-nav > ul > li.rl-menu:not(.cart-link) > a:after {
        left: auto;
        right: 0;
    }
    
}

@media screen and (max-width:1024px) {
	
    #content>.content,
    .contain,
    .feature-content>.contain {
        padding-left: 2%;
        padding-right: 2%;
    }
    .feature-block,
    .feature-block.i-padding,
    .feature-block.product-page {
        padding-top: 10%;
    }
    header .main-nav>ul>.header-logo+li {
        margin-left: 1.5%;
    }
    header .main-nav>ul>li+li {
        margin-left: 0;
    }
    .main-nav .buy-now-link {
	    margin-left:2%;
    }
    .main-nav .buy-now-link .button.red {
	 	padding:4px;
    }
    header .main-nav>ul>li>a {
        padding: 9px 7px;
    }
    
    .sub-nav {
        width: 220px;
    }
    .sub-nav .sub-menu>li>a {
        padding: 7px 4px 7px 48px;
    }
    .sub-nav .sub-menu>li:hover>a:before {
        width: 35px;
    }
    .sub-nav .sub-menu>li>a:before {
        top: 14px;
    }
    #banner-nav,
    .unslider-nav {
        right: 6%;
        margin-right: 0;
    }
    .feature-block.i-padding .heading-divider {
        padding-bottom: 0;
    }
    .feature-buttons .icon-text {
        width: 16%;
    }
    .feature-buttons .icon-text+.icon-text {
        margin-left: 2.5%;
    }
    .feature-content article .col {
        padding-top: 20px;
    }
    .feature-block.i-padding .contain {
        width: 100%;
        display: block;
    }
    .feature-block.i-padding .contain:nth-child(3) {
        background: #fff;
        padding: 50px 16px
    }
    .feature-block .large-img {
        margin-bottom: -100px;
        max-width: 700px
    }
    
}

@media screen and (max-width:950px) {
	
    .title-right h2 {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .title-left h2 {
        -webkit-transform: rotate(-90deg);
        -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
        -o-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
    
}

@media screen and (max-width:900px) {
	
	.main-nav {
		font-size:15px;
		padding:10px 0;
	}
	
	.header-logo {
		max-width:130px;
	}
	
	header .main-nav > ul > .header-logo + li {
		margin-left:0.5%;
	}
	
    header .main-nav>ul>li>a {
        padding: 9px 4px;
    }
    body>footer .contain {
        max-width: 530px;
    }
    body>footer .contain p {
        margin-left: 12%
    }
    body>footer .contain p,
    body>footer .logo-bw {
        margin-bottom: 15px
    }
    .product-viewer .content-left {
        padding-right: 25px;
        padding-left: 3%
    }
    .product-viewer .content-right {
        padding-left: 25px;
        padding-right: 3%
    }
    .video-file {
        width: 32%;
    }
    .story {
	    max-width:none;
    }
    
    .feature-block .large-img {
    	margin:0 auto;
	}

}

@media screen and (max-width:770px) {
	
    .banner-slider li.mobile-bg:only-child {
        background-image: url(../images/layout/rusoh-home-banner-mobile.jpg) !important;
        background-position: center top;
    }
    .banner-slider li .contain {
	    padding-bottom:55px;
    }
    .mouse-button {
        bottom: 15px;
    }
    .main-nav>ul>li {
        display: none;
    }
    .main-nav>ul>li:first-child,
    .main-nav>ul>li:last-child {
        display: inline-block;
    }
    .home .scrolling .mobile-nav-button,
    .mobile-nav-button,
    .scrolling .mobile-nav-button {
        display: inline-block!important;
        margin-top: 16px;
        float: right;
    }
    .mobile-navigation {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 100;
        min-width: 40%;
        height: 100%;
        overflow: scroll;
        padding-top: 120px;
        background-color: #1b1b1b;
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -o-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        transition: transform .3s linear 0s;
    }
    .nav-open .mobile-navigation {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -o-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
        transition: transform .3s linear .3s;
    }
    .mobile-navigation li {
        text-align: left;
    }
    .mobile-navigation li a {
        display: block!important;
    }
    .mobile-navigation>ul>li>a {
        padding: 12px 35px!important;
        font-size: 20px;
        font-family: OpenSans-Bold, "Arial Bold", sans-serif;
    }
    .mobile-navigation>ul>li .sub-nav,
    .mobile-navigation>ul>li .sub-nav .sub-nav {
        position: relative;
        top: auto;
        left: auto;
        margin-top: 0;
        display: block;
        width: 100%;
        z-index: 0;
        background-color: transparent;
        opacity: 1;
        visibility: visible;
    }
    
    .mobile-navigation ul>li .sub-nav .sub-nav {
        right: auto;
    }
    .mobile-navigation ul>li .sub-nav .sub-nav a {
	    white-space: normal;
        padding: 10px 8px 10px 70px;
    }
    .mobile-navigation .sub-nav .sub-nav .sub-menu {
		background-color:transparent;
		padding-top:0;
		padding-bottom:0;
    }
    .mobile-navigation .sub-nav .sub-nav .sub-menu li {
        padding: 0;
    }
    .mobile-navigation .navigation-close {
        position: absolute;
        top: 12px;
        right: 15px;
        display: inline-block !important
    }
    .mobile-navigation .navigation-close span {
        width: 0;
        transition: all .45s ease .5s
    }
    .nav-open .mobile-navigation .navigation-close span {
        width: 100%
    }
    .mobile-navigation .navigation-close span:nth-child(1) {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        bottom: 10px
    }
    .mobile-navigation .navigation-close span:nth-child(2) {
        display: none
    }
    .mobile-navigation .navigation-close span:nth-child(3) {
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        -o-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        transform: rotate(-135deg);
        bottom: 10px;
        left: auto;
        right: 0
    }
    
    .main-nav .mobile-navigation .buy-now-link {
	    margin:0 auto;
	    padding:0 35px;
	    
	    position: absolute;
	    top:67px;
	    left:0;
    }
    
    .main-nav .mobile-navigation .buy-now-link a {
	    font-size:15px;
	    padding:8px 10px !important;
    }
    
    .main-nav .nav-account-links {
	    position: absolute;
	    top:53px;
	    left:0;
    }
    
    .top-nav-list li:not(.nav-account-links) {
        opacity: 0;
    }
    .top-nav-list li:last-child {
        opacity: 1;
    }
    .top-nav {
        padding: 7px 0;
    }
    .main-nav {
        padding: 6px 0;
    }
    .sub-nav {
        padding: 5px 0 7px;
    }
    .sub-menu>li {
        padding: 0 9px;
    }
    
    .main-nav li.cart-link {
	    position: absolute !important;
	    top:18px;
	    left:35px;
    }
    .main-nav li.cart-link:after {
	    content:"View Cart";
	    position: relative;
	    margin-left:10px;
	    color:#FFF;
	    font-size:14px;
	    display: inline-block;
	    vertical-align: middle;
	    text-transform: uppercase;
    }
    .main-nav li.cart-link:hover:after {
	 	color:#ED1C24;
	}
	
	.main-nav li.cart-link:before,
	.main-nav li.nav-account-links:before {
		content:"";
		display: inline-block;
		width:215px;
		height:1px;
		background-color:#ED1C24;
		
		position: absolute;
		top:100%;
		margin-top:13px;
		left:-15px;
	}

	.main-nav li.nav-account-links:before {
		margin-top:0;
		left:20px;
	}
	
	.main-nav .buy-now-link:hover a {
		background-color:#ED1C24 !important;
		color:#FFF !important;
	}
	.main-nav .buy-now-link a:hover,
	.main-nav .buy-now-link a:active {
		background-color:#FFF !important;
		color:#ED1C24 !important;
	}
    
    .main-nav li.cart-link a {
	    padding:0 !important;
	    display: inline-block !important;
    }
    
    .main-nav li.cart-link a:after {
	     height:40px;
	     width:185px;
	     left:-10px;
	     top:-13px;
     }
     
     header .header-logo {
	     max-width:145px;
     }
    
    .inner>header .header-logo,
    header.scrolling .header-logo {
        width: 145px;
    }
    .header-logo {
        margin-right: -46px!important
    }
    .content.sub-banner,
    .sub-banner {
        padding: 160px 2% 40px;
        min-height: 250px
    }
    .banner-callout .title-text span {
        padding: 115px 0 45px
    }
    .content {
        padding: 50px 0 60px
    }
    .feature-block {
        padding-top: 10%
    }
    .feature-block .large-img {
        max-width: 100%;
    }
    .feed-list li {
        width: 100%
    }
    .feed-list li + li {
	    margin-top:40px;
    }
    .product-features .icon-text {
        cursor: pointer
    }
    .feature-content.open {
        max-height: 1500px
    }
    .feature-content article .col {
        margin-left: 6%;
        width: 63%
    }
    .product-heading {
        font-size: 36px;
        line-height: 1.1
    }
    .product-features .col {
        max-width: 180px;
        min-width: 0;
    }
    .icon-text:before {
        margin-bottom: 10px;
    }
    .icon-text.open p {
        opacity: 1;
        max-height: 400px;
    }
    .feature-node {
        background-color: transparent;
        width: 100%!important;
        max-width: 280px;
        height: auto!important;
        padding: 0!important
    }
    .feature-node.open {
        z-index: 1
    }
    .closed .node-content {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: scale(.8) translateX(20px);
        -moz-transform: scale(.8) translateX(20px);
        -o-transform: scale(.8) translateX(20px);
        -ms-transform: scale(.8) translateX(20px);
        transform: scale(.8) translateX(20px)
    }
    .node-content {
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 0;
        background-color: #fff;
        border: 3px solid #222;
        width: 100%;
        max-width: 260px;
        padding: 20px;
        opacity: 1;
        visibility: visible;
        -webkit-transform: none;
        -moz-transform: none;
        -o-transform: none;
        -ms-transform: none;
        transform: none;
        transition: all .3s ease 0s
    }
    .show-left {
        right: 0;
        left: auto
    }
    .resize .node-content {
        left: 0;
        right: auto
    }
    .feature-node p {
        position: relative!important;
        max-width: none!important;
        margin-bottom: 0!important;
        top: auto!important;
        left: auto!important;
        bottom: auto!important;
        right: auto!important
    }
    .node-content .angle-line:after,
    .node-content .angle-line:before {
        display: none!important
    }
    .feature-node:before,
    .node-content .angle-line:before {
        width: 100%!important
    }
    .feature-node:after,
    .node-content .angle-line:after {
        height: 100%!important
    }
}

@media screen and (max-width:670px) {
	
    #content>.content,
    .contain,
    .feature-content>.contain {
        padding-left: 2.5%;
        padding-right: 2.5%;
    }
    #content>.content>.contain {
        padding-left: 0;
        padding-right: 0;
    }
    .main,
    .main+.side {
        display: block;
        width: 100%;
        max-width: none;
        margin-left: 0;
    }
    .main+.side {
        margin-top: 7%;
    }
    .top-nav-list>li+li {
        margin-left: 12px;
    }
    .top-nav button {
        margin-left: 12px;
    }
    .banner-slider li {
        height: 420px;
        height: calc(100vh - 127px);
    }
    .search-box>div {
        margin-top: 120px;
    }
    .search-form {
        margin-top: 50px;
    }
    .search-box .search-input {
        margin-right: 15px;
    }
    .search-box .search-input+.input-wrap:before {
        margin-right: 5px;
    }
    .search-form input[type=text] {
        font-size: 20px;
        padding: 8px 10px;
    }
    .text-transition .search-form input[type=text] {
        width: 320px;
    }
    div.captcha.recaptcha {
        margin: 1em auto!important;
    }
    .feature-content article img {
        display: block;
        width: auto;
        max-width: none;
        max-height: 300px;
        margin: 10px auto;
    }
    .feature-content article .col {
        text-align: center;
        width: 100%;
        max-width: none;
        margin-left: 0;
        padding-left: 5%;
        padding-right: 5%;
        padding-top: 5px;
    }
    .feature-content article .col p {
        text-align: left;
    }
    .feature-buttons .icon-text,
    .feature-buttons .icon-text+.icon-text {
        display: block;
        width: 100%;
        max-width: none;
        margin-left: 0;
        min-height: 0;
        
        transition:all 0.3s ease 0s;
    }
	.feature-buttons .icon-text + .icon-text {
	    margin-top:25px;
    }
    .feature-buttons .icon-text:before {
        display: inline-block;
        vertical-align: middle;
        margin: 0 15px 0 0;
    }
    .feature-buttons .icon-text>div {
        display: inline-block;
        vertical-align: middle;
        min-height: 0;
        width: calc(100% - 135px);
    }
    .feature-buttons .icon-text:after {
        height: 7px !important;
        width: 0;
        top: 50%;
        margin-top: -3px;
        margin-left: 0;
        left:auto;
        right:0;
    }
    .feature-buttons .icon-text.sel {
	     padding-right:15%;
    }
    .feature-buttons .icon-text.sel:after {
	    width:15%;
    }
    
    .feature-content .close-button {
        top: 30px;
        right: 2.5%;
    }
    .title-right h2 {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    .title-left h2 {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    .title {
        top: 0px;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        width: 115px;
        text-align: center;
    }
}

@media screen and (max-width:570px) {
	
	#home-content img {
		margin-left:auto !important;
		margin-right:auto !important;
	}
	
    .product-viewer .content-left {
        padding-right: 10px;
        padding-left: 2%
    }
    .product-viewer .content-right {
        padding-left: 10px;
        padding-right: 2%
    }
    .product-title {
        font-size: 44px
    }
    .video-file {
        width: 49%
    }
    .title {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        width: auto;
    }
    .title-right h2 {
        -webkit-transform: rotate(90deg) translateY(-306%);
        -moz-transform: rotate(90deg) translateY(-306%);
        -ms-transform: rotate(90deg) translateY(-306%);
        -o-transform: rotate(90deg) translateY(-306%);
        transform: rotate(90deg) translateY(-306%);
    }
    .title-left h2 {
        -webkit-transform: rotate(-90deg) translateY(-233%);
        -moz-transform: rotate(-90deg) translateY(-233%);
        -ms-transform: rotate(-90deg) translateY(-233%);
        -o-transform: rotate(-90deg) translateY(-233%);
        transform: rotate(-90deg) translateY(-233%);
    }
    .title h2 {
        font-size: 20px;
    }
}

@media screen and (max-width:480px) {
	
	.mobile-navigation {
		padding-top:175px;	
	}
	.main-nav .mobile-navigation .buy-now-link {
		top:120px;
	}
	
    .banner-section .rotated-text {
        display: none;
    }
    .banner-slider li .contain {
	    padding-bottom:40px;
    }
    .mouse-button {
	    bottom:7px;
    }
    .product-viewer .content-left {
        max-width: 380px;
    }
    .produc-viewer .content-right,
    .product-viewer .content-left {
        padding-left: 0;
        padding-right: 0;
        margin: 0 auto;
        float: none
    }
    .product-viewer .content-right {
        padding-bottom: 20px
    }
    .nav-options .cell:first-child {
        padding-left: 0;
        width: 100%
    }
    .nav-options .cell+.cell {
        width: 0
    }
    .product-viewer>.table .col {
        width: 100%
    }
    .product-viewer>.table,
    .product-viewer>.table>.cell {
        display: block;
        margin: 5px auto;
        text-align: center
    }
    body>footer {
        text-align: center
    }
    body>footer .contain {
        justify-content: center;
    }
    
    body>footer .contain p {
	    display: block;
	    width:100%;
	    margin:0 auto 15px;
    }
    
    body > footer .contain a + a {
	    margin-left:3%;
    }
    
    body>footer .contain .nav-list {
        display: block;
        width: 100%;
        margin: 10px auto
    }
    body>footer .contain>a:last-child {
        margin-left: 4%
    }
    .product-features {
        padding-top: 250px;
        justify-content: center
    }
    .product-features .col {
        width: 49%;
        display: inline-block;
        vertical-align: top
    }
    .feature-image {
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        height: 250px
    }
    
    .icon-set > .row + .row .cell .icon-text {
	    padding-top: 40px;
	}
	.icon-set > .row + .row .cell .icon-text p {
		margin-top:20px;
	}
	
	.sticky-cta {
		font-size:14px;
	}
}

@media screen and (max-width:420px) {
	
	.search-form input[type="text"] {
		padding:6px;
	}
    .mouse-button {
        bottom: 20px
    }
    .search-form {
        position: relative;
        padding-bottom: 75px
    }
    .search-box .search-input {
        margin-right: 0;
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -27px
    }
    .search-box .search-input+.input-wrap:before {
        content: none
    }
    body>footer .contain p {
        display: block;
        width: 100%;
        margin: 7px auto
    }
    
    #product-purchase-form .selectBox2 {
	    width:100%;
	    min-width:100px;
    }
    
    #product-purchase-form .button {
	    margin-bottom:0;
    }
    
    .feature-content article {
	    padding:0;
    }
    
    .feature-content .bx-wrapper .bx-controls {
	    position: absolute;
	    top:-40px;
	    left:0;
    }
    
    .feature-content .bx-wrapper .bx-controls-direction a {
	    position: relative;
	    display: inline-block;
	    vertical-align: middle;
	    margin:0;
	    top:auto;
	    left:auto;
	    right:auto;
    }
    .feature-content .bx-wrapper .bx-controls-direction a + a {
	    margin-left:10px;
    }
    
    .product-rows:not(.compact) .row-qty {
	    display: block;
	    margin-top:10px;
    }
}

@media screen and (max-width:380px) {
	
	.mobile-nav {
		padding-top:114px;
	}
	
    .video-file {
        width: 100%;
        margin-bottom: 20px
    }
    .product-difference {
        width: 304px;
        height: 640px;
        margin-bottom: 0
    }
    .node-content {
        max-width: 200px
    }
    .node-content,
    .show-left.node-content {
        right: auto;
        left: 50%
    }
    .resize .node-content {
        left: auto;
        right: 50%
    }
    .resize .feature-node.one {
        bottom: 556px;
        left: 166px
    }
    .resize .feature-node.two {
        bottom: 518px;
        left: 148px
    }
    .resize .feature-node.three {
        bottom: 471px;
        left: 155px
    }
    .resize .feature-node.four {
        bottom: 415px;
        left: 180px
    }
    .resize .feature-node.four .node-content {
        right: 57%
    }
    .resize .feature-node.five {
        bottom: 236px;
        left: 180px
    }
    .resize .feature-node.five .node-content {
        right: 57%
    }
    .resize .feature-node.six {
        bottom: 160px;
        left: 58px
    }
    .resize .feature-node.seven {
        bottom: 123px;
        left: 160px
    }
    .product-difference>.feature-node.one {
        bottom: 520px;
        right: 218px
    }
    .product-difference>.feature-node.one .node-content {
        left: 70%
    }
    .product-difference>.feature-node.two {
        bottom: 540px;
        right: 153px
    }
    .product-difference>.feature-node.three {
        bottom: 447px;
        left: 113px
    }
    .product-difference>.feature-node.four {
        bottom: 401px;
        right: 134px
    }
    .product-difference>.feature-node.five {
        bottom: 344px;
        right: 168px
    }
    .product-difference>.feature-node.six {
        bottom: 170px;
        right: 69px
    }
    .product-difference>.feature-node.seven {
        bottom: 118px;
        right: 165px
    }
    .product-difference>.feature-node.eight {
        bottom: 237px;
        right: 44px
    }
    .product-difference>.feature-node.eight .node-content {
        left: 41%
    }
    .product-features > div:first-child .icon-text.show-text p,
    product-features > div:first-child .icon-text.open p {
        -webkit-transform: translate(-36%, -50%) scale(1);
        -moz-transform: translate(-36%, -50%) scale(1);
        -o-transform: translate(-36%, -50%) scale(1);
        -ms-transform: translate(-36%, -50%) scale(1);
        transform: translate(-36%, -50%) scale(1);
    }
    .product-features > div:last-child .icon-text.show-text p,
    product-features > div:last-child .icon-text.open p {
        -webkit-transform: translate(-66%, -50%) scale(1);
        -moz-transform: translate(-66%, -50%) scale(1);
        -o-transform: translate(-66%, -50%) scale(1);
        -ms-transform: translate(-66%, -50%) scale(1);
        transform: translate(-66%, -50%) scale(1);
    }
    
    .product-rows:not(.compact) [class^="row-"] {
	    vertical-align: top;
    }
    
    .product-rows:not(.compact) .row-title {
	    width:calc(96% - 65px);
    }
    
    .product-rows:not(.compact) > li {
	    padding-top:45px;
    }
    
    #login-container,
    .login-box {
	    max-height:400px !important;
    }
    
    .login-box form label {
	    width:90px !important;
    }
    .login-box form input {
	    width:60% !important;
    }
    
    #reset-close {
	    bottom:20px !important;
    }
}

@media screen and (max-width:340px) {
    .product-features > div:first-child .icon-text.show-text p,
    product-features > div:first-child .icon-text.open p {
        -webkit-transform: translate(-36%, -50%) scale(0.8);
        -moz-transform: translate(-36%, -50%) scale(0.8);
        -o-transform: translate(-36%, -50%) scale(0.8);
        -ms-transform: translate(-36%, -50%) scale(0.8);
        transform: translate(-36%, -50%) scale(0.8);
    }
    .product-features > div:last-child .icon-text.show-text p,
    product-features > div:last-child .icon-text.open p {
        -webkit-transform: translate(-66%, -50%) scale(0.8);
        -moz-transform: translate(-66%, -50%) scale(0.8);
        -o-transform: translate(-66%, -50%) scale(0.8);
        -ms-transform: translate(-66%, -50%) scale(0.8);
        transform: translate(-66%, -50%) scale(0.8);
    }
}

/* Height based media queries */
@media screen and (max-height: 800px) {
	.banner-slider .contain > h2 {
		font-size:28px;
		line-height: 1.15;
	}
	
	.banner-slider li .contain .video-container h3 {
		font-size:20px;
		line-height: 1.15;
	}
}

@media screen and (max-height: 700px) {
	.banner-slider .contain > h2 {
		font-size:20px;
	}
	.banner-slider li .contain .video-container h3 {
		font-size:18px;
	}
}

@media screen and (max-height: 600px) {
	.banner-slider .contain > h2 {
		font-size:18px;
	}
	.banner-slider li .contain .video-container h3 {
		font-size:16px;
	}
}

/* Recent Iphones */
@media screen and (max-height:600px) and (max-width:670px) {
	.banner-slider .contain > h2 {
		max-width:640px;
	}
	.banner-slider .contain > h2 br {
		display: none;
	}
}

/* old iphones */
@media screen and (max-height: 500px), screen and (max-width:500px) {
	.banner-slider .contain > h2 {
		font-size:16px;
		margin:5px auto;
	}
	
	.banner-slider li .contain .video-container h3 {
		font-size:14px;
	}
}