/*
Theme Name: Shoptimizer Child Theme
Theme URI: 
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI: 
Template: shoptimizer
Version: 1.2.1
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/


@font-face {
    font-family: 'Arimo';
    src: url('/wp-content/themes/shoptimizer-child-theme/fonts/Arimo-VariableFont_wght.ttf') format('truetype'),
         url('/wp-content/themes/shoptimizer-child-theme/fonts/Arimo-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal, italic;
}

@font-face {
    font-family: 'FetteEngD';
    src: url('/wp-content/themes/shoptimizer-child-theme/fonts/FetteEngD.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

:root {
	--midnight: #11121D;
	--navy: #000A32;
	--dkblue: #102E81;
	--blue: #2355DD;
	--blueAlt: #1E68C4;
	--skyblue: #7F9EEB;
	--green: #61CE70;
	--black: #000000;
	--grey: #54595F;
	--midGrey: #7A7A7A;
	--white: #F4F6F9;
	
	--typePrimary: 'Arimo', sans-serif;
	--typeSecondary: 'FetteEngD', sans-serif;
	
	--globaltrans: all 0.25s ease-in-out;
}


.form-check .form-control-changes{
  min-height: 0px !important;   
  width: 15px !important;
  height: 15px !important;
}


/* Global
*******************************/

/* typography */

body:not(.elementor-page):not(.woocommerce-account) .entry-content p a:not(.button) {
	font-weight: 700;
	text-decoration: underline;
}

body:not(.elementor-page):not(.woocommerce-account) .entry-content p a:not(.button):hover,
body:not(.elementor-page):not(.woocommerce-account) .entry-content p a:not(.button):focus {
	text-decoration: none !important;
	color: var(--navy);
}

.front-sr-only {
	position:absolute !important;
	left:-10000px !important;
	top:auto !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;	
}

h1,
h2,
h3,
h4,
h5,
h6 {
	/* font-family: var(--FetteEngD) !important; */
}


/* links  */

.elementor a {
	font-weight: 600;
}

a.elementor-button {
	text-decoration: none !important;
}

.bdt-offcanvas-button:focus {
	background-color: transparent !important;
}

/* header  */


h2.dealer-locator-h {
	margin: 0;
}

a.dealer-locator {
    font-size: .8125rem;
    text-transform: uppercase;
    text-decoration: none !important;
    color: var(--white) !important;
    font-weight: 400 !important;
    /* letter-spacing: 1px; */
	font-family: "Arimo", Sans-serif;
	text-align: right;
	float: right;
    display: flex;
    align-items: center;
	transition: var(--globaltrans);
}

a.dealer-locator:after {
	content: "";
    width: 25px;
    height: 25px;
	background-color: var(--white);
	margin-left: 5px;
    display: inline-block;

    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;

    mask-repeat: no-repeat;
    mask-size: contain;

    -webkit-mask-image: url(images/pin.svg);
    mask-image: url(images/pin.svg);
	
	transition: var(--globaltrans);
}

a.dealer-locator:hover:after,
a.dealer-locator:focus:after {
    -webkit-mask-image: url(images/pin-int.svg);
    mask-image: url(images/pin-int.svg);
}


header .elementor-widget-html {
	margin-bottom: 0 !important;
}

/* search */

.elementor-search-form__container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

input.elementor-search-form__input {
    flex: 1 !important;
    min-width: 0 !important;
	
	background-color: rgba(255,255,255,.8) !important;
	line-height: 1.5 !important;
	padding: 6px !important;
	border: 2px solid transparent !important;
	transition: var(--globaltrans) !important;
}

input.elementor-search-form__input:focus {
	border-color: var(--blueAlt) !important;
	background-color: var(--white) !important; 
}

button.elementor-search-form__submit {
    flex-shrink: 0 !important;
	line-height: 1.5 !important;
	padding: 6px !important;
	border: 1px solid var(--skyblue) !important;
}

button.elementor-search-form__submit:hover,
button.elementor-search-form__submit:focus {
	background-color: transparent !important;
}

button.elementor-search-form__submit:hover i,
button.elementor-search-form__submit:focus i {
	color: var(--white) !important;
}

header .elementor-search-form__container label {
    position: relative !important;
    display: block !important;
    height: auto !important;
    width: auto !important;
    color: var(--white) !important;
    top: 0 !important;
    width: 100% !important;
    margin-bottom: 5px !important;
	
	text-transform: uppercase !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	font-family: var(--typePrimary) !important;
}

/* main menu */

nav.elementor-nav-menu--main a {
	text-decoration: none !important;
}

nav.elementor-nav-menu--main ul.sub-menu a:hover {
	background-color: var(--dkblue) !important;
	color: var(--white) !important;
}

nav.elementor-nav-menu--main li.current-menu-item a {
	color: var(--skyblue) !important;
}

nav.elementor-nav-menu--main ul li ul.sub-menu > li.current-menu-item a {
	background-color: var(--skyblue) !important;
	color: var(--navy) !important;
}

/* javascript notice  */

.js-required {
    display: none; /* Hide by default */
    background-color: #f8d7da;
    color: #721c24;
    padding: 10px;
    border: 1px solid #f5c6cb;
    text-align: center;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 1000; /* Ensure it's on top */
}



/* Gutenberg
*******************************/

/* container modifications  */

body:not(.elementor-page) .site-content .entry-content {
    /* max-width: 1000px; */
    margin: 0 auto 2em auto;
}

body:not(.elementor-page) .site-content {
	padding-bottom: 30px;
}

/* figure blocks  */

figure.wp-block-image {
	margin-bottom: 20px;
}

/* decorative headings (gb blocks)  */

.dec-headings {
	text-transform: uppercase;
	background-color: var(--dkblue);
	color: var(--white);
	font-family: var(--typeSecondary);
	padding: 20px;
	line-height: 1.3;
	letter-spacing: 1px;
	font-weight: 500;
}

/* gutenberg headings  */

.wp-block-heading {
	font-family: var(--typeSecondary);
	text-transform: uppercase;
	font-weight: 600;
}

h2.wp-block-heading {
	
}



/* gutenberg buttons  */

.wp-block-buttons .wp-block-button a.wp-block-button__link.wp-element-button {
    background-color: var(--dkblue);
    color: var(--white);
    border-radius: 3px;
    text-decoration: none;
    border: 1px solid var(--dkblue);
    font-size: 1.15rem;
    letter-spacing: 1px;
    font-weight: 600;
	font-family: var(--typePrimary);
}

.wp-block-buttons .wp-block-button a.wp-block-button__link.wp-element-button:hover,
.wp-block-buttons .wp-block-button a.wp-block-button__link.wp-element-button:focus {
	background-color: transparent;
	color: var(--dkblue);
}

/* kadence gallery captions  */

.kb-gallery-ul .kadence-blocks-gallery-item .kadence-blocks-gallery-item-inner .kadence-blocks-gallery-item__caption {
	background-color: var(--midnight) !important;
	padding: 10px !important;
}

/* Woocommerce
*******************************/

.woocommerce-ordering select:focus {
	outline: 2px solid var(--midnight);
	outline-offset: 2px;
}

.woof_auto_show[aria-hidden="true"] {
	display: none;
}


/* Max Mega Menu
********************************/


ul.max-mega-menu li a {
    font-family: var(--typeSecondary) !important;
    font-size: 1.15rem !important;
    letter-spacing: 1px !important;
}

.mega-current-menu-parent a,
ul.max-mega-menu li a:hover,
ul.max-mega-menu li a:focus {
	color: var(--skyblue) !important;
}

ul.max-mega-menu li ul.mega-sub-menu {
	background-color: #ffffff !important;
	box-shadow: 0 0 20px 5px rgba(0, 0, 0, .1) !important;
}

ul.max-mega-menu li ul.mega-sub-menu li a {
	font-family: var(--typePrimary) !important;
	font-size: 1rem !important;
	letter-spacing: 0 !important;
	padding: 13px 20px !important;
	color: #33373d !important;
	background-color: #ffffff !important;
}


ul.max-mega-menu li ul.mega-sub-menu li a:hover,
ul.max-mega-menu li ul.mega-sub-menu li a:focus {
	background-color: var(--dkblue) !important;
	color: var(--white) !important;
}

ul.max-mega-menu li ul.mega-sub-menu li.mega-current-menu-item > a {
	background-color: var(--blue) !important;
	color: var(--white) !important;
}

/* Gravity Forms
********************************/

.gform-theme--framework .gform-field-label>.gfield_required,
.gform_body legend,
.gform_body label {
	font-weight: 600 !important;
}

.gform_body select:focus,
.gform_body textarea:focus,
.gform_body input:focus {
    box-shadow: 0 0px 0px 2px var(--blue) !important;
    border-color: var(--midnight) !important;
}

.gform_footer input.gform_button {
	margin-top: 1em !important;
}

input.gform_button {
    font-family: var(--typePrimary) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 1px !important;
    color: var(--white) !important;
    background-color: var(--midnight) !important;
	border: 1px solid var(--midnight) !important;
    border-radius: 2px !important;
    padding: 15px 25px !important;
	width: 100% !important;
}

input.gform_button:hover,
input.gform_button:focus {
	background-color: transparent !important;
	color: var(--midnight) !important;
}

@media only screen and (max-width: 1024px) {
	
	.mega-toggle-blocks-left,
	.mega-toggle-blocks-right {
		display: none !important;
	}
	
	ul#mega-menu-primary {
        position: absolute !important;
        min-width: 100vw !important;
        z-index: 999 !important;
        background-color: #ffffff !important;
        width: 100% !important;
        right: 0% !important;
        top: 68px !important;
        left: -125px !important;
		box-shadow: 0 0 20px 5px rgba(0, 0, 0, .1) !important;
	}
	
	ul.max-mega-menu li a {
		color: #33373d !important;
		padding: 13px 20px !important;
		height: auto !important;
		background-color: #ffffff !important;
	}
	
	ul.max-mega-menu li a:hover,
	ul.max-mega-menu li a:focus {
		background-color: var(--midnight) !important;
		color: var(--white) !important;
	}

	ul.max-mega-menu li ul.mega-sub-menu li a {
		padding: 13px 20px 13px 40px !important;
	}
	
}

@media only screen and (max-width: 767px) {
	ul#mega-menu-primary {
        right: -10px !important;
        top: 65px !important;
	}
}

/* Homepage
*******************************/

a.home-learnmore {
	border-bottom: 1px solid transparent;
	display: block;
	float: right;
	font-size: 1rem;
	transition: var(--globaltrans);
	width: fit-content;
    color: var(--dkblue);
    font-style: italic;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

a.home-learnmore i {
	transition: var(--globaltrans);
}

a.home-learnmore:hover,
a.home-learnmore:focus {
	color: var(--navy);
	border-bottom-color: var(--navy);
}

a.home-learnmore:hover i,
a.home-learnmore:focus i {
	margin-left: 5px;
}


/* Block page hero
********************************/

.block-hero {
    margin-left: -100%;
    margin-right: -100%;
}

.block-hero h1 {
	font-family: var(--typeSecondary);
	text-shadow: 0 0 10px rgba(0,0,0,.65);
}

.block-hero p {
	text-shadow: 0 0 10px rgba(0,0,0,.3);
}


/* Footer
********************************/

footer .footerinfo .elementor-icon-list-item a {
	text-decoration: none !important;
}

footer .footerinfo .elementor-icon-list-item a:after {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin-left: 10px;

	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f061";
	color: transparent;
	
	transition: var(--globaltrans);
}

footer .footerinfo .elementor-icon-list-item a:hover:after,
footer .footerinfo .elementor-icon-list-item a:focus:after {
	color: var(--blueAlt);
}

footer .ccopyright .elementor-icon-list-item a {
	border-bottom: 2px solid transparent;
}

footer .ccopyright .elementor-icon-list-item a:hover,
footer .ccopyright .elementor-icon-list-item a:focus {
	border-bottom-color: var(--blueAlt);
}


/* Sidebar product filter
********************************/

.colt-filter-wrapper {
	padding: 0;
}

.colt-filter-wrapper .colt-filter {
	margin-bottom: 0;
	margin-top: 15px;
}

.colt-filter-wrapper .colt-filter button.wc-block-components-filter-reset-button {
	padding: 5px 10px;
	text-decoration: none;
}

.colt-filter-wrapper .colt-filter h3 {
	font-size: 1.25rem;
}

/* SHOP
********************************/

.sorting-tooltip {
    position: absolute;
	font-size: 1rem;
    background-color: rgba(127,158,235,.5);
    color: var(--black);
    text-align: center;
    border-radius: 4px;
    padding: 5px 10px;
    z-index: 1000;
    opacity: 0;
    transition: var(--globaltrans);
	/*john additions to prevent white band at bottom of page*/
	bottom:0;
	height:fit-content;
	/*end john additions*/
}

.sorting-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: rgba(127,158,235,.5) transparent transparent transparent;
}

/* HUSKY
*************/

/* overriding filters  */
.woof_container_productstaterestrictions legend,
.woof_container_inner_productpurpose legend,
.woof .woof_wcga_label_hide, .woof_container_inner .woof_wcga_label_hide {
	display: block !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	color: var(--midnight) !important;
	margin-bottom: 5px;
}

.woof_show_sku_search:focus,
.woof_husky_txt-input:focus,
.woof_select:focus,
.woof_meta_select:focus {
	outline: 2px solid var(--midnight) !important;
	outline-offset: 2px !important;
}

.button.woof_reset_search_form:hover,
.button.woof_reset_search_form:focus,
.button.woof_submit_search_form:hover,
.button.woof_submit_search_form:focus {
	background-color: transparent !important;
}

.woof_container_productstaterestrictions fieldset,
.woof_container_inner_productpurpose fieldset {
	padding: 0;
}

.woof_container_inner h4 {
    display: none;
}

ul.woof_list.woof_list_checkbox li:focus-within .icheckbox_square-blue {
	outline: 2px solid var(--midnight) !important;
}

.woof_container_inner select {
	border-color: #767676 !important;
}

/* Sidebar  */

.bdt-offcanvas-bar .widget {
	margin-bottom: 1em;
}

.site-content div.wpforms-container-full .wpforms-form select,
.site-content select {
    background: url(images/chevron.svg) calc(100% - 12px) 12px no-repeat !important;
    background-size: 15px 15px !important;
}

.woocommerce-ordering select {
	background: url(images/chevron.svg) calc(100% - 12px) 5px no-repeat !important;
	background-size: 15px 15px !important;
}

/* Serial Lookup
********************************/

table.dataTable.hover>tbody>tr:hover>*,
table.dataTable.display>tbody>tr:hover>* {
    box-shadow: inset 0 0 0 9999px var(--midnight) !important;
    color: var(--white);	
}

.dataTables_filter input:focus {
	outline: 2px solid var(--midnight);
	outline-offset: 2px;
}

.dataTables_filter label {
	text-transform: uppercase;
	letter-spacing: 1px;
}

button.wpda_more_button.dt-button {
	padding: 15px 25px !important;
	border-radius: 2px !important;
	transition: var(--globaltrans);
}

/* Smart Slider
********************************/

.carry-wrapper {
    outline: 1px solid white;
    outline-offset: 10px;
}

/* Accordions
********************************/

span.kt-blocks-accordion-title {
	text-transform: none;
	font-family: var(--typeSecondary);
	font-size: 1.75rem;
	line-height: 1.5;
	color: var(--navy);
}

.kt-blocks-accordion-header:not(.kt-accordion-panel-active) {
	background: transparent !important;
}

.kt-blocks-accordion-header.kt-accordion-panel-active {
	background-color: var(--navy) !important;
}

.kt-blocks-accordion-header.kt-accordion-panel-active span.kt-blocks-accordion-title {
	color: var(--white) !important;	
}

.wp-block-kadence-pane.kt-accordion-pane {
	border: 1px solid #d5d8dc;
}

.kt-accordion-wrap:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-icon-trigger:after,
.kt-accordion-wrap:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-icon-trigger:before {
	background-color: var(--navy) !important;
}

.kt-accordion-wrap:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after,
.kt-accordion-wrap:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before {
	background-color: var(--white) !important;
}	

/* manual/catalogue info blocks  */


.manuals-catalogues-block a p {
	text-decoration: underline;
	transition: var(--globaltrans);
}

.manuals-catalogues-block a:hover p,
.manuals-catalogues-block a:focus p {
	text-decoration: none;
}


/* ASL dealer locator  */

h3.asl-title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin-bottom: 5px !important;
    line-height: 1.3 !important;
}

.asl-distance span {
    background-color: rgba(0, 0, 0, .1);
    padding: 3px 5px;
    border-radius: 3px;
    display: block;
    width: fit-content;
}

.addr-loc {
    margin-top: 20px !important;
}

#asl-storelocator.asl-cont ul li {
	line-height: 1.5 !important;
	font-size: 1rem !important;
	margin-bottom: 10px !important;
}

li.asl-content a,
li.asl-content i,
.addr-loc ul li span {
    font-size: 1rem !important;
}

li.asl-content a {
	font-weight: 600 !important;
	text-decoration: underline !important;
	color: var(--navy) !important;
}

li.asl-content a:hover,
li.asl-content a:focus {
	text-decoration: none !important;
	color: var(--black) !important;
}

#asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top {
	align-items: center !important;
}

#asl-storelocator.asl-cont.asl-template-list .asl-list-cont li.sl-item .sl-item-top .sl-item-top-right {
	padding-top: 0 !important;
}

a.asl-search-btn,
button.s-direction {
    font-family: var(--typePrimary) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 1px !important;
    fill: #FFFFFF !important;
    color: #FFFFFF !important;
    background-color: var(--navy) !important;
    border: 1px solid var(--navy) !important;
    border-radius: 2px !important;
    padding: 15px 25px !important;	
}

a.asl-search-btn {
	height: 100% !important;
	flex-grow: 1 !important;
}

a.asl-search-btn:hover,
a.asl-search-btn:focus,
button.s-direction:hover,
button.s-direction:focus {
	background-color: transparent !important;
	color: var(--navy) !important;
}

.asl-addr-search input.asl-search-address {
	padding-top: 0 !important;
	font-size: 1.25rem !important;
}

.asl-sort-list select:focus,
.asl-addr-search input.asl-search-address:focus {
	outline: 2px solid var(--navy) !important;
	outline-offset: 2px !important;
	border-color: var(--blue) !important;
}

#asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .asl-search-group .form-group.asl-addr-search {
	flex-shrink: 1 !important;
}

#asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .form-group .sl-geo-btn:hover,
#asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .form-group .sl-geo-btn:focus {
	background-color: var(--navy) !important;
	color: var(--white) !important;
}

#asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .form-group .sl-geo-btn:hover svg,
#asl-storelocator.asl-cont.asl-template-list .asl-search-cont .asl-search-inner .form-group .sl-geo-btn:focus svg {
	fill: var(--white) !important;
}

/* Colt Archives
********************************/

.archive-samples img {
	transition: var(--globaltrans) !important;
}

.archive-samples a:hover img,
.archive-samples a:focus img {
	scale: 1.2 !important;
}

.archive-samples .kb-gal-image-radius:after {
    content: '';
    position: absolute;
    background-color: var(--white);
	border-radius: 50%;
    padding: 1em;
    z-index: 99999;
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-image: url(images/enlarge.svg);
    mask-image: url(images/enlarge.svg)	
}

.archive-samples .kb-gal-image-radius:before {
    content: '';
    position: absolute;
    background-color: var(--midnight);
	border: 1px solid var(--midnight);
	border-radius: 50%;
    padding: 2em;
    z-index: 99999;
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

.archive-samples a:hover .kb-gal-image-radius:after,
.archive-samples a:focus .kb-gal-image-radius:after {
	background-color: var(--midnight);
}

.archive-samples a:hover .kb-gal-image-radius:before,
.archive-samples a:focus .kb-gal-image-radius:before {
	background-color: rgba(255,255,255,.6);
	box-shadow: 0 0 10px 5px rgba(0,0,0,.2);
}


/* Blog Archives
********************************/

/* archive pagination  */

nav.elementor-pagination {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
	margin-top: 1em;
}

.woocommerce-pagination .page-numbers li {
	font-size: 1.25rem;
}

.elementor-pagination span.page-numbers.current,
.elementor-pagination a,
.woocommerce-pagination .page-numbers li .page-numbers:not(.dots) {
    padding: 10px;
    line-height: 1;
    border: 1px solid var(--navy);
	white-space: nowrap;
}

.elementor-pagination a,
.woocommerce-pagination .page-numbers li a {
	text-decoration: none !important;
}

.elementor-pagination span.page-numbers.current,
.elementor-pagination a {
	display: block;
}

.elementor-pagination a:hover,
.elementor-pagination a:focus,
.woocommerce-pagination .page-numbers li a.page-numbers:hover,
.woocommerce-pagination .page-numbers li a.page-numbers:focus {
	background-color: var(--navy);
	color: var(--white) !important;
}

.elementor-pagination span.page-numbers.current,
.woocommerce-pagination .page-numbers li .page-numbers.current {
	background-color: var(--blue) !important;
	color: var(--white) !important;
	border-color: transparent !important;
}

.page-numbers .next::after,
.page-numbers .prev::after,
.woocommerce-pagination .next::after,
.woocommerce-pagination .prev::after {
	background-color: var(--navy);
}

.woocommerce-pagination a.page-numbers.next:hover::after,
.woocommerce-pagination a.page-numbers.next:focus::after,
.woocommerce-pagination a.page-numbers.prev:hover::after,
.woocommerce-pagination a.page-numbers.prev:focus::after {
	background-color: var(--white);
}

/* Woo - My Account
********************************/

.woocommerce-account .woocommerce-MyAccount-content p a:hover,
.woocommerce-account .woocommerce-MyAccount-content p a:focus {
	text-decoration: none;
}

/* orders  */

.woocommerce-info, .woocommerce-noreviews, p.no-comments {
	background-color: rgba(0,0,0,.1) !important;
	color: var(--black) !important;
}

.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button,
.woocommerce-noreviews .button,
p.no-comments .button {
	text-decoration: none !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	border: 1px solid var(--midnight) !important;
	background-color: var(--mignight) !important;
	border-radius: 2px !important;
	letter-spacing: 1px !important;
	padding: 10px 20px !important;
}

.woocommerce-error .button:hover,
.woocommerce-info .button:hover,
.woocommerce-message .button:hover,
.woocommerce-noreviews .button:hover,
p.no-comments .button:hover,
.woocommerce-error .button:focus,
.woocommerce-info .button:focus,
.woocommerce-message .button:focus,
.woocommerce-noreviews .button:focus,
p.no-comments .button:focus {
	background-color: transparent !important;
	border-left: 1px solid var(--midnight) !important;
	color: var(--midnight) !important;
}

input.woocommerce-Input:focus {
	outline: 2px solid var(--midnight) !important;
	outline-offset: 2px;
}

/* Woo - Single products
********************************/

.colt-product-desc .elementor-widget-button:first-child a,
.colt-product-desc .woocommerce-product-details__short-description .elementor-widget-button:first-child a {
    background-color: #767676 !important;
	border: 2px solid #767676 !important;
}

.colt-product-desc .elementor-widget-button:first-child a:hover,
.colt-product-desc .elementor-widget-button:first-child a:focus,
.colt-product-desc .woocommerce-product-details__short-description .elementor-widget-button:first-child a:hover,
.colt-product-desc .woocommerce-product-details__short-description .elementor-widget-button:first-child a:focus {
	background-color: transparent !important;
	color: #767676 !important;
}

.colt-product-desc .elementor-widget-button:last-child:not(:only-child) a:hover,
.colt-product-desc .elementor-widget-button:last-child:not(:only-child) a:focus,
.colt-product-desc .woocommerce-product-details__short-description .elementor-widget-button:last-child:not(:only-child) a:hover,
.colt-product-desc .woocommerce-product-details__short-description .elementor-widget-button:last-child:not(:only-child) a:focus {
	background-color: var(--navy) !important;
	border-color: var(--navy) !important;
	color: var(--white) !important;
}

/* Become a Dealer
********************************/

/* label placement and input design  */

.sl-form-group legend,
.sl-form-group label {
    position: relative !important;
    top: 0 !important;
	margin: 0 0 5px 0 !important;
	z-index: 9999 !important;
	line-height: 1.5 !important;
	pointer-events: auto !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
}

.sl-form-group input,
.sl-form-group textarea {
    border: 1px solid #919191 !important;
    background: rgba(0, 0, 0, .05) !important;
	border-radius: 3px !important;
	margin-bottom: 0 !important;
}

.sl-form-group input:focus,
.sl-form-group textarea:focus,
.sl-form-group select:focus {
	background: transparent !important;
	border-color: var(--blue) !important;
	outline: 2px solid var(--midnight) !important;
	outline-offset: 2px !important;
}

.sl-form-group input[type="radio"]:focus {
	outline: none !important;
}

/* fieldset */

fieldset.sl-form-group.sl-group.sl-fieldset {
	padding-left: 15px !important;
	padding-right: 15px !important;
}
 
/* countries  */

.sl-field-country .btn-group {
	display: none !important;
}

select#sl-country {
    display: block !important;
    height: auto !important;
    font-size: 1rem !important;
    border: 1px solid #919191 !important;
    border-radius: 3px !important;
    
    /* Ensure custom arrow is set properly */
    background: #fff url('data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%274%27 height=%275%27 viewBox=%270 0 4 5%27%3e%3cpath fill=%27%23343a40%27 d=%27M2 0L0 2h4zm0 5L0 3h4z%27/%3e%3c/svg%3e') no-repeat right .75rem center !important;
    background-size: 10px 10px !important;
    
    /* Other properties */
    padding-right: 2rem; /* Space for the arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.asl-cont .asl-register-map {
    margin-top: 30px !important;
}

/* register button  */

button#sl-btn-save {
    font-family: var(--typePrimary);
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
	border: 1px solid;
    border-radius: 2px;
    padding: 15px 25px 15px 25px;	
}


button#sl-btn-save[disabled] {
	background-color: #C9C9C9 !important;
	border-color: #C9C9C9 !important;
	color: #4D4D4D !important;
}

button#sl-btn-save[disabled]:hover {
    cursor: not-allowed !important;
}

button#sl-btn-save:not([disabled]) {
    background-color: var(--midnight) !important;
    border-color: var(--midnight) !important;
    color: var(--white) !important;
}

button#sl-btn-save:not([disabled]):hover,
button#sl-btn-save:not([disabled]):focus {
    background-color: var(--white) !important;
    color: var(--midnight) !important;
}

button#sl-btn-save:not([disabled]):focus {
	outline: 2px solid var(--midnight) !important;
	outline-offset: 2px !important;
}
 
 
/* form errors */

.sl-form-group.has-error .help-block.with-errors {
    display: block;
}

.help-block.with-errors {
    margin-top: 10px !important;
    color: #DB0000 !important;
    font-size: 1rem !important;
}



/* required */

.sl-form-group.sl-group {
    padding: 5px !important;
	border: 1px solid transparent !important;
	border-radius: 3px;
}

.sl-form-group.sl-group.has-error label {
	color: #DB0000 !important;
	font-weight: 600 !important;
}

.sl-form-group.sl-group.has-error select,
.sl-form-group.sl-group.has-error input {
    border: 1px solid #DB0000 !important;
}

/* focus  */


.asl-cont .form-check {
	border-radius: 2px;
	width: fit-content;
	padding: 2px 2px 2px 1.25rem;
}

.asl-cont .form-check:not(.form-check-radio):focus-within {
    outline: 2px solid var(--dkblue);
    outline-offset: 1px;
}

.asl-cont .form-check.form-check-radio ul li input:focus,
.asl-cont .form-check:focus-within label {
	border: none !important;
	outline: none !important;
}

.asl-cont .form-check label {
	margin-bottom: 0 !important;
}

.asl-cont .form-check.form-check-radio li.is-focused {
    outline: 2px solid var(--dkblue);
    outline-offset: 2px;	
}

.asl-cont .form-check.form-check-radio ul li {
	border-radius: 2px;
}

.asl-cont .form-check.form-check-radio ul li {
    margin-left: -20px !important;
    padding-left: 25px !important;
}



/* Timeline
********************************/

/* kadence wrapper id */
.kadence-column1079_2d125b-2e {
    position: relative;
}

/* progress bar */
.timeline-progress {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    background-color: var(--navy);
    height: 100%;
    z-index: 1;
}

/* general styling */
.timeline-indv-wrapper {
    margin-bottom: 50px;
    padding: 0 !important;
}

.timeline-indv-wrapper h2 {
    background-color: var(--navy);
    color: var(--white);
    margin-left: -37px !important;
    outline: 1px solid var(--navy);
    outline-offset: 3px;
    border-radius: 0 50px 50px 0;
    max-width: fit-content;
    padding: 10px 30px 10px 70px;
	transition: var(--globaltrans);
}

.timeline-indv-wrapper p {
    line-height: 1.5;
    margin-bottom: 0;
    padding: 1.5em;
    border-radius: 20px;
}

/* active timeline items */
.tl-active.timeline-indv-wrapper p {
    box-shadow: 0 0 15px 5px rgba(0,0,0,.1);
}

.tl-active.timeline-indv-wrapper h2 {
    background-color: var(--blue);
    outline-color: var(--blue);
	padding-left: 100px;
}

/* responsive adjustments */
@media all and (max-width: 767px) {
	
	.timeline-alt {
		max-width: 700px;
	}
	
    .kt-row-column-wrap.kt-has-2-columns {
        flex-direction: column;
    }

    .tl-active {
        padding-left: 10px;
    }
	
	.timeline-alt > .kt-row-column-wrap {
		grid-template-columns: minmax(0, 15%) minmax(0, 85%) !important;
	}
	
	.timeline-indv-wrapper h2 {
		margin-left: -50px !important;
	}
}

@media all and (max-width: 480px) {

	.timeline-indv-wrapper h2 {
		margin-left: -32px !important;
	}	
	
}




/* Miscellaneous
********************************/

.dk-bg a:hover,
.dk-bg a:focus {
	color: var(--white) !important;
}

.page-template-template-fullwidth h1.entry-title {
	text-align: center;
}

/* Top notice bar  */

.elementor-element-5671c33 a:hover,
.elementor-element-5671c33 a:focus {
	border-bottom: 1px solid var(--white);
}

/* Drawer  */

.shoptimizer-mini-cart-wrap {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
}


/* Contact  */

.contact-colt a {
	color: var(--skyblue) !important;
}

.contact-colt a:hover,
.contact-colt a:focus {
	color: var(--white) !important;
}

/* Media Queries
********************************/

@media all and (max-width: 1024px) {
	
	
	.elementor-search-form__container {
		flex-wrap: nowrap !important;		
	}

	.elementor-search-form__container .elementor-search-form__input {
		flex-grow: 1;
	}

	header .elementor-search-form__container label {
        max-width: fit-content !important;
        margin-right: 10px;
        margin-bottom: 0 !important;
	}

}




/***********************************************

	Original Customizer 

***********************************************/

/*<----- START ACCESSIBILITY EDITS ----->*/

/*--- START HEADER ---*/

/* #42: When placeholder text is used as the label for a form field, the label must remain visible when the user enters text. */
.elementor-search-form__input {
	padding-left: 5px !important;
}
/* End #42 */

/* #16: Focus indicators must meet the minimum color contrast required by the WCAG. The combination of Purple(#96588a) and Black (#000000) only has a contrast ratio of 4.05:1. */
.elementor-location-header *:focus {
	outline: 2px #FFF dotted !important;
}
.elementor-location-header .sub-menu *:focus {
	outline: 2px #102E81 dotted !important;
}
/* End #16 */

/* #4: Navigation menus that open on hover must be able to be triggered by keyboard and screen reader users. */
.nav-btn {
	width: 100% !important;
	background: transparent;
	padding: 0;
}

/*--- END HEADER ---*/
.detail-content h2 {
	font-size: 17px;
	text-align: left;
	margin-bottom: 0px;
	margin-top: 15px;
}
/*--- START PRODUCT PAGE ---*/

/* #28: Text that functions as a heading should be marked up as such. */



/* End #28 */

/*--- END PRODUCT PAGE ---*/

/*<----- END ACCESSIBILITY EDITS ----->*/



/* Serial Number Lookup */

/* Updated Serial Number Lookup */

#sn_lookup1 th, #sn_lookup1 td {
	text-align: center !important;
}

.dataTables_wrapper .dataTables_filter {
	float: none !important;
	text-align: center !important;
	max-width: 200px;
	margin: 0 auto;
	margin-bottom: 25px;
}

.dataTables_info {
	display: none;
}


#sn_lookup1 tfoot {
	display: none;
}

/* End updated serial number lookup */

.wpDataTablesWrapper .wpDataTableFilterSection {
	padding-left: 0px !important;
}

.wpDataTableFilterSection label {
	color: #000;
}

.wpDataTableFilterSection label:before {
	content: "Enter Your "
}

.wpDataTablesFilter .wpDataTableFilterSection:not(#wdt-clear-filters-button-block):not(#wdt-pf-search-filters-button-block) {
	float: unset !important;
	width: 100% !important;
}

#wdt-pf-search-filters-button-block {
	padding: 0px !important;
	margin-top: -10px;
}

.wdt-pf-search-filters-button {
	background: #102E81 !important;
	color: #fff !important;
	padding: 10px 20px 10px 20px !important;
	font-size: 14px !important;
}

#table_1_info {
	display: none !important;
}

.dataTables_length {
	display: none !important;
}

/* End Serial Number Lookup */

/* Dealer Locator */

.asl-cont .form-control {
	min-height: 50px;
}

#post-2974 .asl-store-form * {
	color: #000;
}

#sl-frm .control-label {
	font-size: 14px;
}

.section-title {
	display: none;
}

#post-2974 .asl-cont .section-title + p {
	display: none;
}

.sl-container {
	border: 1px solid #102E81;
}

#post-2974 .sl-container {
	padding-bottom: 25px;
}

/* pagination  */

a.asl-search-btn:focus,
a.sl-geo-btn.asl-geo:focus,
button.asl-search-clr.asl-clear-btn:focus,
button.s-direction:focus,
.sl-list a:focus,
a.sl-page-link:focus {
	outline: 2px solid var(--midnight) !important;
	outline-offset: 2px !important;
}

a.sl-page-link:hover {
	outline: 1px solid var(--midnight) !important;
}

/* End Dealer Locator */

.elementor-search-form__input::placeholder {
	color: #000 !important;
}

.woof_btn_default {
	display: none !important;
}

.products li {
	min-height: 300px !important;
	background: #fff;
	padding: 25px !important;
	margin-left: 15px !important;
	margin-right: 15px !important;
}

ul.products {
	grid-row-gap: 0px !important;
}

.col-full {
	max-width: 1440px;
}

.elementor-widget-woocommerce-product-add-to-cart.elementor-widget:not(:last-child) {
	margin-bottom: 0;
}

.woocommerce-variation-price {
	display: none !important;
}

.woocommerce-variation-availability {
	display: none !important;
}



.col-full-nav {
	background: inherit !important;
}

.bdt-timeline-readmore {
	display: none;
}

/* Home page animations */

/*Slider*/
@media screen and (min-width: 1025px) {
	.grow {
		animation-duration: 2s;
		animation-name: grow-animation;
		transform: scale(1.5);
	}

	@keyframes grow-animation {
		0% { transform: scale(1.0);  
			-webkit-transform: scale(1.0);}
		100% { transform: scale(1.5);
			-webkit-transform: scale(1.5);}
	}
}

@media screen and (max-width: 1024px) {
	.grow {
		animation-duration: 2s;
		animation-name: grow-animation;
		transform: scale(1.1);
	}

	@keyframes grow-animation {
		0% { transform: scale(1.0);  
			-webkit-transform: scale(1.0);}
		100% { transform: scale(1.1);
			-webkit-transform: scale(1.1);}
	}
}

.slider .elementor-background-overlay {
	animation-duration: 2s;
  animation-name: gradient-animation;
}

@keyframes gradient-animation {
  0% {
		transform: translateY(75%);
	}
  100% {
		transform: translateY(0%);
	}
}
/*End Slider*/

/*Buttons*/
.btn-animation .elementor-button {
		animation-duration: 2s;
		animation-name: btn-grow;
}

	@keyframes btn-grow {
		0% { padding-left: 0px; padding-right: 0px; }
		100% { padding-left: 50px; padding-right:50px;}
	}
/*End Buttons*/
/* End home page animations */

.premium-gallery-caption {
	background: #102E81;
}

/* Single product page */

.pswp__caption {
	display: none;
}
.single_add_to_cart_button, .quantity {
	display: none;
}



.variations .label { 
/* display: none !important; */
}

#pa_caliber, #pa_action, #pa_barrel-length, #pa_capacity, #pa_firearm-type,  #pa_purpose, #pa_series,  #pa_upc {
	display: none;
}
.value .yith_wccl_is_custom {
	display: inline-block !important;
}

:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart {
	display: none !important;
}

.single_variation_wrap {
	display: none;
}

.variations tr:not(:first-child) {
	display: none !important;
}

.reset_variations {
	display: none !important;
}
.sku_wrapper {
	display: none !important;
}

.posted_in .detail-label {
	display: none;
}

.product_meta {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	background: transparent !important;
	border: none !important;
	font-size: 16px !important;
	font-family: Arimo;
}

.product_meta .posted_in {
	margin: 0 !important;
}

.product_meta .posted_in a:first-child {
	margin-left: 0px;
}

.select_option .yith_wccl_value {   
	min-width: 100px;
	height: 100px
}

.woocommerce-loop-product__title {
	font-size: 16px !important;
	letter-spacing: 1px !important;
	font-family: Arimo !important;
}

ul.products li.product .price .amount {
	font-family: Arimo;
	font-size: 14px;
	letter-spacing: 1px;
}

/* End single product page */

/* Product archives */

.woof_husky_txt-input::placeholder {
	font-size: 15px !important;
}

.woof_container_inner * {
	font-size: 15px;
}

.woof_container_inner_meta_select * {
	font-size: 15px !important;
}

.woof_list_radio_sd_0 .woof-sd-ie.woof-sd-ie-radio > label {
	display: none !important;
}

.archive .product__categories {
	display: none;
}

.button.woof_reset_search_form {
	background-color: #102E81 !important;
}

.button.woof_submit_search_form {
	background-color: #102E81 !important;
	margin-left: 10px;
}

.woof_submit_search_form_container {
	justify-content: start !important;
}

.woof_container_inner input[type=search] {
	padding-left: 5px;
}

.woof_container_inner h4 {
	font-size: 16px !important;
}

.woo-variation-swatches .variable-items-wrapper {
	margin: 0 auto;
}

.archive-header .col-full {
	max-width: 1920px;
}

.woo-variation-swatches .variable-items-wrapper .variable-item img {
	height: auto;
}

.mobile-filter {
	display: none;
}

.wcpf-field-item.wcpf-box-style .wcpf-heading-label .box-toggle {
	left: 0
}

.icheckbox_square-blue,
.iradio_square-bluee {
    background: url(images/blue.png) no-repeat !important;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    width: 22px;
    height: 22px;
    border: none;
    cursor: pointer;
}

.icheckbox_square-blue:hover,
.iradio_square-blue:hover {
    background-position: -24px 0 !important;
}

.icheckbox_square-blue.checked,
.iradio_square-blue.checked {
    background-position: -48px 0 !important;
}

.icheckbox_square-blue.checked:hover,
.iradio_square-blue.checked:hover {
    background-position: -96px 0 !important;
}



/* End product archives */

/* Timeline */
.bdt-timeline-skin-olivier .bdt-timeline-thumbnail img {
	object-fit: contain !important;
}
/* End timeline */

/* ASL Plugin */
.asl-cont-form .sl-form-upload input[type=file] {
    opacity: 1 !important;
    position: unset !important;
}

/* End ASL Plugin */

/* Forminator */

.forminator-label {
	font-size: 15px !important;
	font-weight: normal !important;
}

/* End Forminator */

.page-id-8 .button {
	background-color: #102E81 !important;
}