/* cyrillic-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFWJ0bf8pkAp6a.woff2) format('woff2');
	unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFUZ0bf8pkAp6a.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFWZ0bf8pkAp6a.woff2) format('woff2');
	unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFVp0bf8pkAp6a.woff2) format('woff2');
	unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFWp0bf8pkAp6a.woff2) format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFW50bf8pkAp6a.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Open Sans Regular'), local('OpenSans-Regular'), url(/legacy/fonts/mem8YaGs126MiZpBA-UFVZ0bf8pkAg.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOX-hpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOVuhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOXuhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOUehpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOXehpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOXOhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UNirkOUuhpKKSTjw.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOX-hpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOVuhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOXuhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOUehpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOXehpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOXOhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN7rgOUuhpKKSTjw.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOX-hpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOVuhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOXuhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOUehpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOXehpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOXOhpKKSTj5PW.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-display: swap;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(/legacy/fonts/mem5YaGs126MiZpBA-UN8rsOUuhpKKSTjw.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


html, body {
	font-family: 'Open Sans', sans-serif;
	width: 100%;
	overflow-x: hidden;
	margin: 0;
}
html {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
body {
	display: flex;
    flex-direction: column;
	flex-grow: 1;
}
body.offset-top {
	padding-top: 68px;
}

h2 {
	font-size: 35px;
	font-weight: 700;
	line-height: 40px;
	margin-top: 30px;
	margin-bottom: 0;
}

h3 {
	font-size: 22px;
	font-weight: 700;
	line-height: 30px;
	margin-top: 0;
	margin-bottom: 0;	
}

p {
	font-size: 14px;
}

p.perex {
	margin-top: 15px;
	margin-bottom: 30px;
}

.table {
	display: table;
}

.table-row {
	display: table-row;
}

.table-cell {
	display: table-cell;
}

.nav-item {
	cursor: pointer;
}

strong {
	font-weight: 700;
}

.fit-height {
	height: 100vh;
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flex-column {
	display: flex;
	flex-direction: column;
}

.flex-1 {
	flex: 1;
}

.nav-tabs {
		margin-top: 15px;
	border-bottom: 1px solid #CBCBCB;
}
.nav-tabs .nav-item {
	width: 100%;
	font-size: 18px;
	font-weight: 300;
	text-align: center;
}
.nav-tabs .nav-item .nav-link {
	color: #272727;
	padding-bottom: 9px;
	border: none;
	border-color: rgba(0,0,0,0);
	border-bottom: 1px solid #CBCBCB;
}
.nav-tabs .nav-item .nav-link.active,
.nav-tabs .nav-item .nav-link.hover,
.nav-tabs .nav-item .nav-link.focus {
	padding-bottom: 8px;
	color: #C52530;
	border: none;
	border-bottom: 2px solid #C52530;
}

.navbar-dark .navbar-toggler {
	border: none;
	margin-right: 5px;
	outline: 0;
}

.light-grey-background {
	background: #F5F5F8;
}

.flex-column-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.no-margin {
	margin-top: 0!important;
	margin-bottom: 0!important;
	margin-left: 0!important;
	margin-right: 0!important;
}

.no-padding {
	padding-top: 0!important;
	padding-bottom: 0!important;
	padding-left: 0!important;
	padding-right: 0!important;
}

.no-margin-bottom {
	margin-bottom: 0!important;
}

.margin-right-1 { border-right: 1px solid white; }

.carousel-item {
	height: 368px;
}

.carousel-item img {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 100%;
	width: auto;
	transform: translate(-50%,-50%);
	max-width: unset!important;
    max-height: unset!important;
}

.carousel-item .bubble {
	position: absolute;
	background: rgba(17,22,39,.79);
	width: 320px;
	height: auto;
	padding: 20px;
}

.carousel-item.item-1 .bubble {
	top: 20px;
	right: 20px;
}

.carousel-item.item-2 .bubble {
	top: 20px;
	left: 20px;
}

.carousel-item.item-3 .bubble {
	top: 20px;
	right: 20px;
}

.carousel-item.item-4 .bubble {
	top: 20px;
	left: 20px;
}

.carousel-item.item-5 .bubble {
	top: 20px;
	right: 20px;
}

.carousel-item.item-6 .bubble {
	top: 20px;
	right: 20px;
}
.carousel-item.item-6 .bubble h2 {
	margin-bottom: 0;
}
.carousel-item.item-6 .bubble-message {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: white/*rgba(17,22,39,.37)*/;
    padding: 20px 20px 50px;
    border-bottom: 1px solid grey!important;
}
.carousel-item.item-6 .bubble-message > div {
	width: 100%;
	text-align: left!important;
}
.carousel-item.item-6 .bubble-message > div img {
    top: 0 !important;
    left: 0 !important;
    height: auto;
    transform: unset !important;
    position: relative;
    width: auto !important;
    margin-bottom: 20px;
    max-width: 100% !important;
}
.carousel-item.item-6 .bubble-message h5 {
	font-size: 16px;
	font-weight: bold;
    color: #212529;
}
.carousel-item.item-6 .bubble-message p {
    font-size: 14px;
    color: #212529;
}

.carousel-item .bubble h2 {
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 10px;
	color: #ffffff;
	line-height: 30px;
}

.carousel-item .bubble h2 > div {
	display: inline-block;
	background: #D60B0B;
	width: 7px;
	height: 32px;
	top: 2px;
	left: 12px;
	position: relative;
}

.carousel-item .bubble p {
	color: #ffffff;
}

.carousel-item .bubble p.link {
	margin: 0;
}

.carousel-item .bubble a,
.carousel-item .bubble a:link,
.carousel-item .bubble a:visited,
.carousel-item .bubble a:hover,
.carousel-item .bubble a:active,
.carousel-item .bubble a:focus {
	color: #D60B0B;
	text-decoration: none;
}

.carousel-item .bubble .arrow-down {
	display: none;
	position: absolute;
	bottom: -24px;
	width: 0;
	height: 0;
}

.carousel-item .bubble.right .arrow-down {
	left: 0;
	border-right: 24px solid transparent;
	border-top: 24px solid rgba(17,22,39,.79);
}

.carousel-item .bubble.left .arrow-down {
	right: 0;
	border-left: 24px solid transparent;
	border-top: 24px solid rgba(17,22,39,.79);
}


.carousel-indicators li {
	width: 50px;
	height: 10px;
	margin-left: 6px;
	margin-right: 6px;
	background-color: rgba(0,0,0,.69);
}

.carousel-indicators .active {
	background-color: #D60B0B;
}

.products-by-purpose h2 {
	margin-bottom: 35px;
}

.product-purpose {
	position: relative;
	height: 200px;
	padding: 50px;
	font-size: 26px;
	border-bottom: 1px solid white;
}
.product-tabs {
	display: none;
}

.product-purpose:hover .background,
.product-purpose:active .background,
.product-purpose:focus .background {
	background-size: 110% auto;
}

.product-purpose:hover .background .overlay,
.product-purpose:active .background .overlay,
.product-purpose:focus .background .overlay {
	opacity: .5;
}

.product-purpose .background {
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all .3s ease;
	display: flex;
	justify-content: center;
	align-items: center;
}

.product-purpose.sport-civilian .background {
	background: center no-repeat url(../images/sport-and-civilian-background.jpg);
	background-size: 100% auto;
	transition: all .3s ease;
}

.product-purpose.law-enforcement .background {
	background: center no-repeat url(../images/law-enforcement-background.jpg);
	background-size: 100% auto;
	transition: all .3s ease;
}

.product-purpose.sport-civilian:hover .background {
	background-size: 105% auto;
}

.product-purpose.law-enforcement:hover .background {
	background-size: 105% auto;
}

.product-purpose .background .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,23,103);
	opacity: .7;
	transition: all .3s ease;
}

.product-purpose h3 {
	z-index: 10;
	font-size: 26px;
	font-weight: 700;
	color: #ffffff;
}

.find-a-dealer {
	padding-bottom: 60px;
	background: url("../images/find-a-dealer-background.jpg");
	background-position: center center;
	background-size: cover;
}

.find-a-dealer h2 {
	margin-bottom: 22px;
}

.find-a-dealer p {
	margin-top: 20px;
	margin-bottom: 40px;
}

.find-a-dealer button {
	padding: 18px 55px;
	border: 2px solid #D60B0B;
	font-weight: 700;
	color: #D60B0B;
	margin: 0 5px;
	background: transparent;
	transition: all .3s ease;
	outline: 0;
}

.find-a-dealer button:hover,
.find-a-dealer button:focus,
.find-a-dealer button:active {
	padding: 18px 55px;
	border: 2px solid #D60B0B;
	font-weight: 700;
	color: #fff;
	margin: 0 5px;
	background: #D60B0B;
}

.find-a-dealer button a,
.find-a-dealer button a:link,
.find-a-dealer button a:visited {
	color: inherit;
	text-decoration: none;
}


// MENU

nav {
	background: rgba(17,22,39,0.95);
}

nav {
	/*height: 68px;*/
	background: rgba(17,22,39,0.95);
}

.navbar {
	padding: 0;
	display: block;
}

nav .container-fluid {
	padding: 0;
}

nav .navbar-brand {
	display: inline-block;
	line-height: 68px;
	height: 68px;
	padding-top: 0;
	padding-bottom: 0;
	font-weight: 700;
	margin-left: 15px;
}

nav .navbar-brand > div {
	float: left;
	font-size: unset;
}

nav .navbar-brand > div:nth-child(2) {
	margin-left: 15px;
	font-size: 16px;
}

nav .navbar-brand > div img {
	display: block;
	margin-top: 10px;
	height: 46px;
}

nav ul > li {
	padding: 0;
}

nav ul > li:hover,
nav ul > li:focus,
nav ul > li:active {
	cursor: pointer;
}

nav ul.navbar-nav { margin-right: 20px; }

nav ul.navbar-nav > li:hover,
nav ul.navbar-nav > li:active,
nav ul.navbar-nav > li:focus,
nav .menu > ul > li:hover,
nav .menu > ul > li:active,
nav .menu > ul > li:focus {
	color: #ffffff;
}

nav .menu > ul {
	display: flex;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
	margin-left: auto!important;
}

nav ul > li.active,
nav ul > li.active:hover,
nav ul > li.active:active,
nav ul > li.active:focus {
	background: rgba(214,11,11,.8);
}

nav ul.navbar-nav > li.lang {
	margin-left: 20px;
}
nav ul.navbar-nav > li.lang > ul {
    display: flex;
    gap: 20px;
    padding: 0;
    list-style: none;
}
nav ul > li.lang > ul > li > a {
    line-height: 68px;
    font-size: 16px;
    font-weight: 100;
    text-decoration: none;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
}
nav ul > li.lang > ul > li.current-lang > a {
    color: rgba(255,255,255,1.0);
}
nav ul > li.lang > ul > li {
	flex: 1;
}
nav ul > li.lang > ul > li a img,
nav ul > li.lang > div> ul > li a img {
    height: 19px;
    width: auto;
    margin-right: 3px;
    margin-bottom: 3px;
}


nav ul.navbar-nav > li.dropdown.language {
	margin-left: 80px;
	display: none;
}

nav ul.navbar-nav > li.language .dropdown-menu {
	background: none;
	width: 200px;
	position: fixed;
	left: unset;
	right: -100px;
	margin-top: 1px;
}

nav ul.navbar-nav > li.language .dropdown-menu > ul {
	width: 100%;
	background: none;
}

nav ul.navbar-nav > li.language .dropdown-menu > ul > li {
	margin: 0 0 1px 0;
	background: rgba(17,22,39,0.95);
}

nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a,
nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a:hover,
nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a:active,
nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a:focus,
nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a:link,
nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a:visited {
	color: #ffffff;
	width: 100%;
	display: block;
	margin: 0;
	padding: 20px 22px;
}

nav ul.navbar-nav > li.language .dropdown-menu > ul > li > a:hover {
	background-color: rgba(255,255,255,.15);
}

nav ul.navbar-nav > li.language:hover,
nav ul.navbar-nav > li.language:active,
nav ul.navbar-nav > li.language:focus {
	background: none;
}

nav ul > li.language > ul {
	display: flex;
	list-style: none;
	padding: 0;
}

nav ul > li.language > ul > li {
	padding: 0 5px;
	display: none;
}

nav ul > li.language > ul > li.current-lang {
	display: block
}

nav ul > li.language > ul > li > a {
	line-height: 68px;
	font-size: 16px;
	font-weight: 100;
	text-decoration: none;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
}

nav ul > li.language > div> ul > li {
	display: block;
}

nav ul > li.language > div> ul > li > a {
	text-transform: uppercase;
}

nav ul > li.language > ul > li a img,
nav ul > li.language > div> ul > li a img {
	height: 19px;
	width: auto;
	margin-right: 3px;
	margin-bottom: 3px;
}

nav ul > li.language > ul > li.current-lang > a {
	color: rgba(255,255,255,1.0);
}

.navbar-expand-lg .navbar-nav .nav-link,
.menu > ul a {
	padding-left: 22px;
	padding-right: 22px;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 68px;
	font-size: 16px;
	font-weight: 100;
}

.navbar .dropdown-menu div[class*="col"] {
	margin-bottom:1rem;
}

.navbar .dropdown-menu {
	border: none;
	border-radius: 0;
	background-color: unset;
}

nav .dropdown:hover .dropdown-menu,
nav .dropdown:active .dropdown-menu,
nav .dropdown:focus .dropdown-menu {
	display: none;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav:hover .nav-link,
.menu > ul a,
.menu > ul a:hover,
.menu > ul:hover a {
	color: #ffffff;
}
nav .navbar-brand .brand > div {
	display: flex;
	flex-direction: column;
	line-height:16px !important;
}
nav .navbar-brand .brand > div.claim {
	line-height: 14px !important;
	font-weight:300;
}




// PRODUCTS

section.explore-our-products {

}

section.pursuit-of-quality {
	padding-bottom: 40px;
	background: #F5F5F8;
}

section.pursuit-of-quality .text-left {
	padding-left: 0;
	padding-right: 5%;
}

section.pursuit-of-quality .text-right {
	padding-left: 5%;
	padding-right: 0;
}

section.pursuit-of-quality h2 {
	padding: 0 20px;
	margin-bottom: 30px;
}

section.pursuit-of-quality img {
	width: 100%;
	height: auto;
}

section.pursuit-of-quality p.perex {
	margin-bottom: 40px;
}

section.pursuit-of-quality p {
	margin-top: 20px;
	margin-bottom: 0;
}

section.pursuit-of-quality .col-5.text-left {
	padding-right: 20px;
}

section.luvo-principles {
	padding-bottom: 40px;
}

section.luvo-principles h2 {
	margin-bottom: 30px;
}

section.luvo-principles .principles {
	padding: 0 5%;
}

section.luvo-principles .principles > div {
	padding: 0 30px;
}

section.luvo-principles .principles > div > p {
	margin: 20px 0 0;
}


// SPORT & CIVILIAN


section.sport-and-civilian {
	padding-bottom: 110px;
}

.products-list {
	padding: 0 5% 80px;
	margin-top: 50px!important;
}

.products-list a {
	color: inherit;
	text-decoration: none;
}

.products-list .item {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	padding: 0;
	-webkit-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
}

.products-list .item:not(.inactive):hover {
	cursor: pointer;
}

.products-list .item .item-image {
	position: relative;
	overflow: hidden;
}

.products-list .item .item-image .product {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: all .3s ease;
	width: 100%;
	height: auto;
}

.products-list .item:not(.inactive):hover .item-image .product {
	width: 105%;
}

.products-list .item:not(.inactive):hover .item-description {
	background: #B8B8C9;
}

.products-list img {
	width: 100%;
	height: auto;
}

.products-list .item-description {
	flex: 1;
	min-height: 140px;
	padding: 20px 25px;
	background: #F5F5F8;
	transition: all .3s ease;
}

.products-list .item-description h3 {
	font-size: 26px;
	font-weight: 700;
}

.products-list .item-description p {
	margin-top: 10px;
	margin-bottom: 10px;
}

.item-col {
	padding: 0 7px;
	margin-bottom: 14px;
}



// PRODUCT DETAIL


#products-bar {
	top: 60px;
	right: 0;
	left: 0;
	
}

section.products-bar {
	display: none;
	height: 50px;
	width: 100%;
		position: fixed;
		z-index: 1000;
}

section.products-bar .container-fluid {
	background: #2F479C;
}

section.products-bar .products {
	color: #ffffff;
	margin: 0 auto;
	width: 100%;
	font-size: 0;
}

section.products-bar .product {
	cursor: pointer;
}

section.products-bar .products > div {
	font-size: 16px;
	display: inline-block;
	height: 50px;
	line-height: 50px;
	padding: 0;
	font-weight: 100;
}

section.products-bar .products > div > a {
	width: 100%;
	height: 100%;
	display: inline-block;
	padding: 0 20px;
}

section.products-bar .products > div a,
section.products-bar .products > div a:link,
section.products-bar .products > div a:visited,
section.products-bar .products > div a:hover,
section.products-bar .products > div a:focus,
section.products-bar .products > div a:active {
	color: #ffffff;
	text-decoration: none;
}

section.products-bar .products > div.active {
	background: rgba(255,255,255,0.3);
	font-weight: 700;
}

section.products-bar .products > div:hover {
	background: rgba(255,255,255,0.15);
}

section.product-detail {
	/*overflow: hidden;*/
	position: relative;
	flex: 1;
	flex-grow: 1;
	padding-top: 0;
	background: #F7F7F9;
	display: flex;
}
section.product-detail > div {
	flex-grow: 1;
}

section.product-detail ul li a {
	height: 48px;
}

section.product-detail h1 {
	font-size: 40px;
	font-weight: 700;
	margin-top: 8px;
	margin-bottom: 0;
}

section.product-detail .product-header h3 {
	font-size: 14px;
	line-height: 20px;
	color: #888889;
	margin-top: 20px;
	font-weight: 200;
}

section.product-detail .product-features h3,
section.product-detail .product-specs h3,
section.product-detail .product-config h3,
section.product-detail .product-download h3 {
	font-size: 24px;
    margin-bottom: 24px;
}

section.product-detail h3 a,
section.product-detail h3 a:link,
section.product-detail h3 a:visited {
	color: inherit;
	text-decoration: none;
	text-transform: uppercase;
}

section.product-detail h3 a:hover,
section.product-detail h3 a:focus,
section.product-detail h3 a:active {
	color: #C52530;
}

section.product-detail .product-features .item-wrapper {
	display: flex;
	flex-direction: row;
	gap: 8px;
}

section.product-detail .product-specs #specs-list > div,
section.product-detail .product-features #feats-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

section.product-detail .product-config .configurations .configurations-wrapper {
    top: 0;
}

section.product-detail .container-fluid {
	height: 100%;
}

section.product-detail li.nav-item {
		width: auto;
		font-size: 14px;
}

section.product-detail li.nav-item .nav-link {
	background: none;
	background-color: unset;
	padding-top: 13px;
}

section.product-detail .product-image-wrapper {
	overflow: hidden;
}

section.product-detail .product-image-wrapper .image-static {
	width: 100%;
	display: none;
}

section.product-detail .product-image-wrapper .image-static img {
	width: 100%;
}

section.product-detail .product-image {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	padding: 40px 5% 0;
}

section.product-detail .image-carousel {
	position: relative;
}

section.product-detail .image-carousel .image-item {
	display: none;
}

section.product-detail .image-carousel .image-item:first-child {
	display: block;
}

section.product-detail .image-carousel .carousel-arrow {
	position: absolute;
	top: 45%;
	cursor: pointer;
	opacity: 0.3;
	transition: all .3s ease;
}

section.product-detail .image-carousel .carousel-arrow:hover,
section.product-detail .image-carousel .carousel-arrow:active,
section.product-detail .image-carousel .carousel-arrow:focus {
	opacity: 1.0;
}

section.product-detail .image-carousel .carousel-arrow.left {
	left: -50px;
}

section.product-detail .image-carousel .carousel-arrow.right {
	right: -50px;
}

section.product-detail .image-carousel .carousel-arrow {
	position: absolute;
	top: 45%;
}

section.product-detail .image-thumbnails {
	z-index: 10;
	width: 100%;
	height: 80px;
	position: absolute;
	bottom: -60px;
	overflow: hidden;
	text-align: center;
	display: flex;
	justify-content: center;
	transition: all .5s ease;
}

.product-info {
	padding-bottom: 96px;
	display: flex;
	gap: 48px;
}
section.product-detail .image-thumbnails,
section.product-detail .image-carousel .carousel-arrow {
	display: none;
}

section.product-detail .image-thumbnails .thumbnail-item {
	float: left;
	display: inline-block;
	width: auto;
	height: 100%;
	opacity: 0.3;
	padding: 0 5px;
	cursor: pointer;
}

section.product-detail .image-thumbnails .thumbnail-item img {
	width: auto;
	height: 100%;
}

section.product-detail #silhouette {
	height: 24px;
	width: auto;
}

section.product-detail .product-image .image-wrapper {
	width: 100%;
	height: auto;
	position: relative;
}

section.product-detail .product-image .image-carousel img.product {
	width: 100%;
	position: relative;
	top: 0;
	left: 0;
}

section.product-detail .product-image img.shade {
	width: 100%;
	/*position: absolute;
	top: 100%;
	left: 0;*/
	opacity: .25;
}

section.product-detail .configurations .configurations-wrapper {
	position: relative;
	top: 40%;
	left: 0;
	height: auto;
}

section.product-detail .configurations h4 {
	clear: both;
	display: block;
	font-size: 16px;
	font-weight: 700;
}

section.product-detail .configurations .close {
	position: relative;
	top: -10px;
	cursor: pointer;
}

section.product-detail .configurations .calibers,
section.product-detail .configurations .barrel-lengths,
section.product-detail .configurations .colors {
	display: block;
	margin-bottom: 20px;
	overflow: hidden;
}

section.product-detail .configurations .caliber {
	font-size: 14px;
	float: left;
	width: auto;
	height: 28px;
	text-align: center;
	padding: 4px 15px;
	margin-right: 2px;
	margin-bottom: 2px;
	background: rgba(0,0,0,.05);
}

section.product-detail .configurations .barrel-length {
	font-size: 14px;
	float: left;
	width: 70px;
	height: 28px;
	text-align: center;
	padding: 4px 0;
	margin-right: 2px;
	margin-bottom: 2px;
	background: rgba(0,0,0,.05);
}

section.product-detail .configurations .color {
	float: left;
	width: 120px;
	height: 28px;
	margin-right: 2px;
	margin-bottom: 2px;
}

section.product-detail .configurations .color.black {
	background: #51524E;
}

section.product-detail .configurations .color.sand {
	background: #BCB3A4;
}

section.product-detail .slide-panel {
	font-size: 12px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 20px 20px;
	/*overflow: hidden;*/
	transition: all .5s ease;
}

section.product-detail .slide-panel.specifications {
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.95);
	/*background: rgba(17,22,39,0.75);*/
	/*transform: translateY(100%);*/
	opacity: 0;
	/*-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);*/
}
section.product-detail .specifications #specs-list {
	column-count: 1;
}
section.product-detail .specifications #specs-list > div {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 12px;
}
section.product-detail .slide-panel.specifications .additional-specs {
	text-align: center;
	padding-top: 50px;
}

section.product-detail .slide-panel.features-list {
	display: none;
}

section.product-detail .slide-panel.specifications .item-wrapper {
	display: flex;
}

section.product-detail .slide-panel.specifications .item-wrapper > div {
	padding: 10px 0;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

section.product-detail .slide-panel.specifications .item-wrapper > div.value {
	flex: 1;
}

section.product-detail .slide-panel.specifications .item-wrapper > div.key {
	width: 200px;
}

section.product-detail .slide-panel.configurations {
	width: 100%;
	height: 100%;
	/*background: rgba(255,255,255,.95);
	background: rgba(17,22,39,0.75);*/
	/*transform: translateY(100%);*/
	opacity: 0;
	/*-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);*/
}

section.product-detail .slide-panel.downloads {
	/*transform: translateY(100%);*/
	background: rgba(194,194,208,.95);
	opacity: 0;
	/*-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);*/
}

section.product-detail .slide-panel.downloads .file {
	width: 33%;
	padding: 0 20px;
}

section.product-detail .slide-panel.downloads .file .wrapper {
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

section.product-detail .slide-panel.downloads .file .wrapper a,
section.product-detail .slide-panel.downloads .file .wrapper a:link,
section.product-detail .slide-panel.downloads .file .wrapper a:visited {
	color: inherit;
}

section.product-detail .slide-panel.downloads .file .wrapper a:hover,
section.product-detail .slide-panel.downloads .file .wrapper a:active,
section.product-detail .slide-panel.downloads .file .wrapper a:focus {
	color: #C52530;
	text-decoration: none;
}

section.product-detail .slide-panel h3 {
	float: left;
	font-size: 20px;
	font-weight: 700;
	color: #272727;
	margin-top: 0;
	margin-bottom: 40px;
}

section.product-detail .slide-panel .close {
	position: relative;
	top: -10px;
	cursor: pointer;
}

section.product-detail .slide-panel .close img {
	width: 30px;
	height: auto;
}

section.product-detail .table-cell {
	border-bottom: 1px solid rgba(0,0,0,0.25);
	padding: 10px 0;
	font-size: 16px;
}

section.product-detail .table-row .table-cell:first-child {
	width: 300px;
}

section.product-detail .product-info .features {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	/*transform: translateY(100%);*/
	opacity: 0;
	padding: 0!important;
	transition: all .5s ease;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

section.product-detail .product-info .features .close {
	cursor: pointer;
	z-index: 1;
}

section.product-detail .product-info .spots {
	position: relative;
	height: 100%;
	width: 100%;

}

section.product-detail .product-info .spot {
	width: 22px;
	height: 22px;
	position: absolute;
	cursor: pointer;
}

section.product-detail .product-info .spot .wrapper {
	position: relative;
	width: 100%;
	height: 100%;
}

section.product-detail .product-info .spot .info {
	position: absolute;
	top: 33px;
	width: 200px;
	height: auto;
	padding: 10px;
	font-size: 12px;
	line-height: 20px;
	font-weight: 400;	
	color: #ffffff;
	background: rgba(17,22,39,.79);
	z-index: 1;
	transition: all .5s ease;
	text-align: left;
}

section.product-detail .product-info .spot .info .arrow-up {
	position: absolute;
	top: -12px;
	width: 0;
	height: 0;
}

section.product-detail .product-info .spot .info.right {
	left: 0;
	/*text-align: left;*/
}

section.product-detail .product-info .spot .info.left {
	right: 40px;
	/*text-align: right;*/
}

section.product-detail .product-info .spot .info.right .arrow-up {
	left: 0;
	border-right: 12px solid transparent;
	border-bottom: 12px solid rgba(17,22,39,.79);
}

section.product-detail .product-info .spot .info.left .arrow-up {
	right: 0;
	border-left: 12px solid transparent;
	border-bottom: 12px solid rgba(17,22,39,.79);
}

section.product-detail .product-info .spot-area {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	transform: translate(-50%,-50%);
	/*transition: width height .15s ease;*/
	overflow: visible;
	cursor: pointer;
	/*background: center no-repeat url("../images/spot.svg");*/
	background: rgba(214,11,11,.9);
	border-radius: 50%;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

section.product-detail .product-info .spot-area > div {
	width: 22px;
	height: 22px;
	line-height: 20px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
}



// SOLUTIONS

section.solutions {

}

section.solutions a {
	text-decoration: none;
}

section.solutions .solution-wrapper {
	margin-bottom: 30px;
}

section.solutions a:link,
section.solutions a:visited,
section.solutions a:hover,
section.solutions a:active,
section.solutions a:focus {
	color: #212529;
}

section.solutions .solution {
	height: 100%;
	cursor: pointer;
	background: white;
	-webkit-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
}

section.solutions .solution img {
	width: 100%;
	height: auto;
}

section.solutions .solution-description {
	padding: 20px 25px;
}
section.solutions .video-description {
	padding: 20px 0;
}

section.solutions .solution h3 {
	font-size: 26px;
	font-weight: 700;
	text-align: left;
}

section.solutions .solution p {
	text-align: left;
	margin-top: 10px;
	margin-bottom: 10px;
}

section.solutions .section-offset {
	padding-top: 50px;
	padding-bottom: 50px;
}


section.solution {
	padding-bottom: 70px;
}

section.solution p {
	text-align: left;
}

section.solution h2,
section.solution p.perex {
	text-align: left;
}

section.solution p.perex {
		margin-top: 10px;
		margin-bottom: 25px;
}

section.solution img.hero-image {
	width: 100%;
	height: auto;
	margin-bottom: 30px;
}

section.solution #image-gallery {
	margin-top: 20px;
}

section.solution #image-gallery img {
	width: 100%;
	height: auto;
}




// DEALERS


section.map {
	height: 600px;
}

.dealers-list .item {
	box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
	margin-bottom: 14px;
	padding: 40px;
}

.dealers-list .item h3 {
	font-size: 24px;
	margin-bottom: 16px;
}

.dealers-list .item a,
.dealers-list .item a:link,
.dealers-list .item a:visited,
.dealers-list .item a:focus,
.dealers-list .item a:active
.dealers-list .item a:hover {
	color: #C52530;
	text-decoration: none;
}

.dealers-list .tab-pane {
	padding-top: 40px;
	padding-bottom: 60px;
}

.dealers-list .col {
	padding: 0 7px;
	margin-bottom: -119px;
	padding-bottom: 119px;
}

.dealers-list .col .item-wrapper {
	width: 100%;
	height: 100%;
	padding-bottom: 14px;
}

.dealers-list .col .item {
	width: 100%;
	height: 100%;
}

.gm-style .gm-style-iw-c {
	padding: 16px!important;
	border-radius: 0;
}

.gm-style .gm-style-iw-c h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 10px;
}

.gm-style .gm-style-iw-c h4 {
	font-size: 24px;
	font-weight: 400;
}

.gm-style .gm-style-iw-c p {
	font-size: 16px;
}

.gm-style .gm-style-iw-c a {
	font-size: 16px;
}

.gm-style .gm-style-iw-c a:link,
.gm-style .gm-style-iw-c a:visited,
.gm-style .gm-style-iw-c a:active,
.gm-style .gm-style-iw-c a:focus,
.gm-style .gm-style-iw-c a:hover {
	color: rgb(214,11,11);
	font-weight: 400;
	text-decoration: none;
}

button.gm-ui-hover-effect {
	display: none;
}



// CONTACT


section.where-we-are {
	padding-bottom: 60px;
}

section.where-we-are #map {
	height: 500px;
	box-shadow: 0px 7px 20px 0px rgba(0,0,0,0.25);
}

section.contact-us {
	margin-top: 60px;
	background: #F5F5F8;
	padding-bottom: 40px;
}

section.contact-us h2 {
	margin-bottom: 15px;
}

section.contact-us p {
	font-size: 26px;
	margin-bottom: 0;
	font-weight: 200;
	line-height: 1.3;
}

section.contact-us p strong {
	font-size: 16px;
	margin-right: 10px;
	font-weight: 800;
}



// COMPANY




.history .timeline {
	width: 100%;
}

.history .era {
	width: 100%;
	padding: 0 5%;
	display: flex;
	flex-direction: row;
}

.history .era:last-child {
	margin-bottom: 40px;
}

.history .era .left {
	flex: 1;
	display: flex;
	flex-direction: row;
	padding-bottom: 25px;
}

.history .era .left .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-right: 18px;
}

.history .era .left .indent {
	width: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.history .era .left .indent > .line {
	height: 2px;
	width: 100%;
	background-color: #3F4F86;
}

.history .era .left .clip {
	width: 12px;
	height: 100%;
	border: 2px solid #182B6E;
	border-right: none;
	margin-right: 12px;
}

.history .era > .line {
	width: 2px;
	background-color: #3F4F86;
}

.history .era:first-child > .line {
	margin-top: 22px;
}

.history .era .right {
	flex: 1;
	padding-bottom: 25px;
}

.history .era .text {
	max-width: 345px;
}

.history .era .spacer {
	flex: 1;
}

.history .era .right .date {
	display: flex;
	flex-direction: row;
}

.history .era .right .indent {
	width: 50px;
	height: 100%;
}

.history .era .right .text {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: 18px;
}

.history .era .right .dot {
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #182B6E;
}

.history .era .right .indent > .line {
	position: relative;
	height: 2px;
	width: 100%;
	margin-top: 21px;
	background-color: #3F4F86;
}

.history .era .right .indent > .line .dot {
	position: absolute;
	top: -2px;
	left: -2px;
	width: 2px;
	height: 2px;
}

.history .era .right .indent > .line .dot .fill {
	position: absolute;
	top: -6px;
	left: -8px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: #3F4F86;
}

.history .era .right .indent > .line.red {
	background-color: #D60B0B;
}

.history .era .right .indent > .line.red .dot .fill {
	top: -12px;
	left: -14px;
	width: 30px;
	height: 30px;
	background-color: #D60B0B;
}

.history .era.final .line {
	background: none;
}

.history .era.final .line img {
	position: relative;
	top: -1px;
	left: -7px;
}

.nav-tabs .nav-item {
    margin-bottom: 0!important;
}




section.luvo-today {
	background: #F5F5F8;
}

section.featured-products > div:first-child {
	position: fixed;
	width: 100%;
	height: auto;
}

section.featured-products h1 {
	line-height: 68px;
	color: #ffffff;
}

section.explore-our-products h1,
section.solutions h1,
section.dealers h1,
section.history h1,
section.where-we-are h1,
section.sport-and-civilian h1,
section.law-enforcement h1,
section.solution h1 {
	font-size: 40px;
	font-weight: 700;
	line-height: 50px;
	margin-top: 40px;
	margin-bottom: 0;
}




// FOOTER


footer {
	padding: 40px 50px;
}

footer > div {
	padding: 40px 50px;
	background: #E4E4EB;
	background-color: #E4E4EB;
}

footer h3 {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 20px;
}

footer h4 {
	font-size: 16px;
	font-weight: 700;
}

footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer li {
	font-size: 16px;
	font-weight: 300;
	margin-bottom: 8px;
	line-height: 20px;
}

footer li a,
footer li a:link,
footer li a:visited,
footer h4 a,
footer h4 a:link,
footer h4 a:visited,
footer h3 a,
footer h3 a:link,
footer h3 a:visited {
	color: #272727;
}

footer li a:hover,
footer li a:active,
footer li a:focus,
footer h4 a:hover,
footer h4 a:active,
footer h4 a:focus,
footer h3 a:hover,
footer h3 a:active,
footer h3 a:focus {
	color: #D60B0B;
	text-decoration: none;
}

footer .col-logos {
	display: none;
}

footer .bottom-bar {
	height: 68px;
	padding: 0;
	background: url(../images/copyright-background.jpg);
	background-position: center center;
	background-size: cover;
}

footer .bottom-bar > div {
	color: #ffffff;
	line-height: 68px;
	font-size: 14px;
}



.age-control {
	will-change: visibility, opacity;
	display: none;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 10000;
	background-color: rgb(0,0,0);
	background-color: rgba(0,0,0,0.9);
}
.age-control .popup {
	position: relative;
	padding: 30px;
	margin-top: 50px;
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
	width: 560px;
	max-width: 90%;
	background: white;
}
.age-control .popup h3 {
	margin-bottom: 20px;
}
.age-control .popup .btn {
	border: 2px solid #D60B0B;
	font-size: 16px;
	font-weight: 700;
		color: #D60B0B;
	padding: 18px 55px;
	width: 250px;
	margin-top: 20px;
	border-radius: 0;
		background: transparent;
		transition: all .3s ease;
		outline: 0;
}
.age-control .popup img {
	display: block;
	margin: 40px auto 30px;
	max-width: 90%;
}







@media screen and (min-width: 748px) {
	h2 {
		font-size: 40px;
		font-weight: 700;
		line-height: 50px;
		margin-top: 40px;
		margin-bottom: 0;
	}
	.carousel-item .bubble h2 {
		font-size: 30px;
		margin: 0 0 10px;
		line-height: 30px;
	}
	.products-by-purpose h2 {
		margin-bottom: 40px;
	}
	.find-a-dealer h2 {
		margin-bottom: 30px;
	}
	section.luvo-principles h2 {
		margin-bottom: 40px;
	}
	section.contact-us h2 {
		margin-bottom: 20px;
	}
	h3 {
		font-size: 30px;
		font-weight: 700;
		line-height: 40px;
		margin-top: 0;
		margin-bottom: 0;	
	}

	p {
		font-size: 16px;
	}
	footer .footer-logos {
		width: auto;
		margin: 0 auto;
	}
	footer .footer-logos img {
		width: 150px;
		margin: 5px;
	}
	/*footer .col-logos {
		display: block;
		width: 25%;
		padding-right: 10px;
	}*/
	footer .col-sport-civilian {
		width: 50%;
		padding: 0 10px;
	}
	footer .col-law-enforcement {
		width: 50%;
		padding: 0 10px;
	}
	.navbar .dropdown-menu {
		display:none;
	}
	.carousel-item {
		height: 468px;
	}
	.carousel-item .bubble h2 {
		font-size: 35px;
		font-weight: 700;
		margin: 0 0 10px;
		color: #ffffff;
		line-height: 35px;
	}
	.carousel-item.item-1 .bubble {
		top: 30px;
		right: 30px;
	}

	.carousel-item.item-2 .bubble {
		top: 30px;
		left: 30px;
	}

	.carousel-item.item-3 .bubble {
		top: 30px;
		right: 30px;
	}

	.carousel-item.item-4 .bubble {
		top: 30px;
		left: 30px;
	}

	.carousel-item.item-5 .bubble {
		top: 30px;
		right: 30px;
	}

	.carousel-item.item-6 .bubble {
		top: 30px;
		right: 30px;
	}

	section.product-detail .spot .info {
		width: 290px;
		padding: 14px;
		font-size: 12px;
		line-height: 18px;
	}
	section.product-detail .spot {
		width: 30px;
		height: 30px;
	}
	section.product-detail .spot-area > div {
		width: 29px;
		height: 29px;
		line-height: 29px;
		font-size: 15px;
		font-weight: 700;
	}
	section.product-detail h1 {
		font-size: 50px;
	}
	section.product-detail #silhouette {
		height: 32px;
	}
}

@media screen and (min-width: 992px) {

	nav ul.navbar-nav > li:hover,
	nav ul.navbar-nav > li:active,
	nav ul.navbar-nav > li:focus,
	nav .menu > ul > li:hover,
	nav .menu > ul > li:active,
	nav .menu > ul > li:focus {
		background: rgba(255,255,255,.15);
	}
	nav ul.navbar-nav > li.dropdown.language {
		display: block;
	}
	nav ul.navbar-nav > li.lang {
		display: none;
	}
	section.product-detail .specifications #specs-list {
		column-count: 2;
	}
	section.product-detail .specifications #specs-list > div {
		gap: 0;
	}
	section.product-detail .image-thumbnails {
		display: flex;
	}
	section.product-detail .image-carousel .carousel-arrow {
		display: none;
	}
	.product-tabs {
		display: flex;
	}
	section.product-detail .product-image {
	    padding-bottom: 100px;
	}
	section.product-detail .product-features,
	section.product-detail .product-specs,
	section.product-detail .product-config,
	section.product-detail .product-download {
		display: none!important;
	}
	.nav-tabs .nav-item {
	    width: 300px;
	    font-size: 18px;
	    font-weight: 300;
	    text-align: center;
	}
	nav .dropdown:hover .dropdown-menu,
	nav .dropdown:active .dropdown-menu,
	nav .dropdown:focus .dropdown-menu {
		display: flex;
	}

	nav .navbar-brand {
		margin-left: 20px;
	}

	nav .navbar-brand > div:nth-child(2) {
		margin-left: 20px;
	}

	.history .era .left .indent {
		width: 64px;
	}
	.history .era .right .indent {
		width: 88px;
	}

	.navbar {
		padding-top: 0px;
		padding-bottom: 0px;
	}

	/* makes the dropdown full width  */
	.navbar .dropdown { position: static; }

	.navbar .dropdown-menu {
		display: none;
		flex-direction: row;
		left: 50%;
		margin: 0;
		padding: 0;
		top: 68px;
		transform: translateX(-50%);
		width: 100%;
	}

	.navbar .dropdown-menu .wrapper {
		padding: 0;
		width: 100%;
	}

	.navbar .dropdown-menu .wrapper > .row {
		display: flex;
		flex-direction: row;
	}

	.navbar .dropdown-menu div[class*="col"] {
		margin-bottom: 0;
		padding: 0;
	}

	.navbar .dropdown-menu .row {
		margin-right: 0;
		margin-left: 0;
	}

	.navbar .dropdown-menu h3 {
		font-size: 22px;
		line-height: 22px;
		color: #ffffff;
		margin-bottom: 30px;
	}

	.navbar .dropdown-menu h4 {
		font-size: 16px;
		line-height: 22px;
		color: #ffffff;
		font-weight: 700;
		margin-bottom: 10px;
	}

	.navbar .dropdown-menu ul {
		list-style: none;
		padding-inline-start: 0;
	}

	.navbar .dropdown-menu li {
		line-height: 20px;
		margin-bottom: 12px;
		cursor: pointer;
	}

	.navbar .dropdown-menu a,
	.navbar .dropdown-menu a:link,
	.navbar .dropdown-menu a:visited {
		color: #ffffff;
		text-decoration: none;
		cursor: pointer;
	}

	.navbar .dropdown-menu a:hover,
	.navbar .dropdown-menu a:active,
	.navbar .dropdown-menu a:focus {
		color: #D60B0B;
		cursor: pointer;
	}

	.navbar .dropdown-menu div.col-content {
		display: flex;
		flex-direction: row;
		max-width: 1920px;
		width: 100%;
	}

	.navbar .dropdown-menu div.col-sport-civilian {
		width: 50%;
		padding: 30px;
		background: rgba(24,43,110,.9);
	}

	.navbar .dropdown-menu div.col-spacer.pixel {
		width: 1px;
		background: #6A76A0;
	}

	.navbar .dropdown-menu div.col-spacer.left {
		flex: 1;
		background: rgba(24,43,110,.9);
	}

	.navbar .dropdown-menu div.col-spacer.right {
		flex: 1;
		background: rgba(14,30,87,.9);
	}

	.navbar .dropdown-menu div.col-law-enforcement {
		width: 50%;
		padding: 30px;
		background: rgba(14,30,87,.9);
	}
	.product-purpose {
		height: 250px;
		padding: 50px;
	}

	.carousel-item {
		height: 568px;
	}

	.carousel-item .bubble {
		width: 450px;
		padding: 30px;
	}

	.carousel-item .bubble h2 {
		font-size: 40px;
		margin: 0 0 20px;
		line-height: 40px;
	}

	.carousel-item .bubble h2 > div {
		display: inline-block;
		width: 7px;
		height: 32px;
		top: 2px;
		left: 12px;
	}
	/*section.product-detail .spot {
		width: 40px;
		height: 40px;
	}
	section.product-detail .spot-area > div {
		width: 39px;
		height: 39px;
		line-height: 39px;
		font-size: 20px;
		font-weight: 700;
	}*/
}

@media screen and (min-width: 1140px) {
	.navbar .dropdown-menu {
		width: 100%;
	}
	.product-purpose {
		height: 350px;
		padding: 50px;
	}
	.product-purpose h3 {
		font-size: 36px;
	}
	.carousel-item {
		height: 668px;
	}
	.carousel-item .bubble {
		width: 550px;
		padding: 30px;
	}
	section.product-detail li.nav-item {
		width: 220px;
		font-size: 16px;
	}
	section.product-detail li.nav-item .nav-link {
		padding-top: 9px;
	}
	section.product-detail .slide-panel {
		padding: 40px 100px;
		font-size: 16px;
	}
	section.product-detail .slide-panel h3 {
		font-size: 30px;
	}
	section.product-detail .slide-panel.specifications .item-wrapper > div.key {
		width: 300px;
	}
	section.product-detail .slide-panel.specifications {
		transform: translateY(100%);
	}
	section.product-detail .slide-panel.configurations {
		transform: translateY(100%);
	}
	section.product-detail .slide-panel.downloads {
		transform: translateY(100%);
	}
	section.product-detail .product-info .features {
		transform: translateY(100%);
	}
}

@media screen and (min-width: 1440px) {
	.navbar .dropdown-menu {
		width: 100%;
	}
	.product-purpose {
		height: 350px;
		padding: 50px;
	}
	.product-purpose h3 {
		font-size: 36px;
	}
}

@media screen and (max-width: 767px) {
	.dealers-list .row {
		padding-left: 30px;
		padding-right: 30px;
	}
	section.product-detail .slide-panel {
		position: relative;
		background: none;
		padding: 0;
		transition: none;
	}
	section.product-detail .slide-panel h3 {
		margin-bottom: 20px;
	}
	section.product-detail .slide-panel .close {
		display: none;
	}
	section.product-detail .slide-panel.features-list {
		display: block;
	}
	section.product-detail .slide-panel.specifications {
		height: auto;
	}
	section.product-detail .slide-panel.features {
		position: absolute;
	}
	section.product-detail .slide-panel.features h3 {
		display: none;
	}
	section.product-detail .slide-panel.features-list #features-numbers > div {
		line-height: 22px;
		margin-bottom: 10px;
		font-weight: 700;
		font-size: 12px;
	}
	section.product-detail .slide-panel.features-list #features-numbers > div > i {
		font-weight: 700;
		font-style: normal;
		background: rgba(214,11,11,.9);
		color: #ffffff;
		width: 22px;
		height: 22px;
		display: block;
		float: left;
		text-align: center;
		line-height: 20px;
		font-size: 14px;
		border-radius: 50%;
	}
	section.product-detail .slide-panel.features-list #features-numbers > div > div {
		margin-left: 30px;
	}
	section.product-detail .slide-panel.features .close {
		display: none;
	}
	section.product-detail .slide-panel.features .spot .info {
		display: none;
	}
	section.product-detail .slide-panel.configurations h4 {
		font-size: 12px;
	}
	section.product-detail .configurations .caliber,
	section.product-detail .configurations .barrel-length,
	section.product-detail .configurations .color {
		font-size: 12px;
		height: 26px;
	}
	section.product-detail .slide-panel.specifications {
		background: none;
	}
	section.product-detail .slide-panel.downloads {
		background: none;
	}
	section.product-detail .slide-panel.downloads .file {
		width: 100%;
	}
}

@media screen and (max-width: 575px) {
	section.pursuit-of-quality .text {
		order: 2;
		padding-left: 45px;
		padding-right: 45px;
	}
}

@media screen and (max-width: 467px) {
	.history .era {
		padding-left: 35px;
	}
	.history .era .left {
		display: none;
	}
	section.contact-us p {
		font-size: 24px;
	}
}





/* MKLB Plugin */

img {
		max-width: 100%;
		max-height: 100%;
		width: auto;
		height: auto;
}

#mkLightboxContainer {
		position: fixed;
		left: 0;
		top: 0;
		min-height: 100vh;
		min-width: 100vw;
		height: 100vh;
		width: 100vw;
		overflow: hidden;
		box-sizing: border-box;
		z-index: 20000;
		display: flex;
		align-items: center;
		justify-content: center;
}

#mkLightboxContainer > * {
		z-index: 99;
}

#overlay {
		position: absolute;
		left: 0;
		top: 0;
		height: 100vh;
		width: 100%;
		overflow: hidden;
		box-sizing: border-box;
		background: rgba(0,0,0,.85);
		z-index: 0;
}

#mkLightboxContainer #mklbInner {
		position: relative;
		height: 100vh;
		transition: all .4s ease-in-out;
		margin-left: 0;
}

section.imageContainer {
		margin: 0;
		padding: 1em;
		box-sizing: border-box;
		border: none;
		height: 100vh;
		width: 100vw;
		display: flex;
		justify-content: center;
		align-items: center;
		float: left;
}

#mkLightboxContainer img,
#mkLightboxContainer video {
		background: #fff;
		box-shadow: 0 0 30px #222;
		max-height: 85vh;
		min-width: auto;
		max-width: 75vw;
		width: auto;
		height: auto;
}

#mkLightboxContainer #yt-video {
		width: 75vw;
		height: 42.1875vw; /* 75*9/16 */
}

.mklbItem:hover {
		cursor: pointer;
}

#closeIconContainer {
		width: 25px;
		height: 25px;
		position: fixed;
		top: 15px;
		right: 15px;
		transition: transform .2s linear;
}

#closeIconContainer:hover {
		cursor: pointer;
		transform: rotate(90deg);
}

#closeIconContainer svg,
#prev svg,
#next svg,
#stopGallery svg, 
#playGallery svg{
		fill: white;
}

#prevContainer,
#nextContainer {
		position: fixed;
		left: 0;
		top: 0;
		height: 100vh;
		padding: 10px 5px 10px 5px;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: all .2s ease-in;
}

#nextContainer {
		left: auto;
		right: 0;
}

#prevContainer:hover,
#nextContainer:hover {
		cursor: pointer;
		background: rgba(0,0,0,0.25);
}

#prev,
#next {
		width: 35px;
		height: 35px;
}

.grid {
		display: grid;
		align-content: flex-start;
		grid-gap: 1em;
}

.grid-3 {
		grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
		grid-template-columns: repeat(4, 1fr);
}

.grid figure {
		width: 100%;
		margin: 0;
}

.grid img {
		width: 100%;
}

#controlContainer {
		position: absolute;
		top: 1em;
		left: .5em;
		display: flex;
}

#controlContainer > div {
		width: 2em;
}

#controlContainer > div:hover {
		cursor: pointer;
}

#controlContainer #stopGallery,
#controlContainer.stop #playGallery{
		opacity: 0.5;
}

#controlContainer.stop #stopGallery,
#controlContainer #playGallery{
		opacity: 1
}

@media screen and (max-width: 768px){
		.grid-2-sm {
				grid-template-columns: 1fr 1fr;
		}
}

@media screen and (max-width: 450px){
		.grid-12-xs {
				grid-template-columns: 1fr;
		}
}
