
/* RESET */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{background: transparent; border: 0; margin: 0; padding: 0;} ol, ul{list-style: none;} img{max-width: 100%; height: auto; image-rendering: -webkit-optimize-contrast;}


/* FRAMEWORK */

*{box-sizing: border-box;}
html, body{font-family: 'Montserrat', sans-serif; font-size: 16px; -webkit-text-size-adjust: none} 
html {scroll-behavior: smooth;}
body {overflow-x: hidden; line-height: 1.8; letter-spacing: .015em;}
::-moz-selection{background: #c0242f; color: #fff; text-shadow: none} ::selection{background: #c0242f; color: #fff; text-shadow: none;}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
button,
input { /* 1 */
  overflow: visible;
}
button,
select { /* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

.pad60 {padding: 60px 10%!important;}
.pad30 {padding: 30px!important;}
.red {color: #c0242f;}
.center {text-align: center;}

.content-width{margin: 0 auto; width: 95%; max-width: 1400px;}

.column12, .column11, .column10, .column9, .column8, .column7, .column6, .column5, .column4, .column3, .column2, .column1{float: left; padding: 0 25px 0 0;} .column12{width: 100%; padding: 0;} .column11{width: 91.6666%;} .column10{width: 83.3333%;} .column9{width: 75%;} .column8{width: 66.6666%; box-sizing: border-box;} .column7{width: 58.3333%; position: relative; box-sizing: border-box;} .column6{width: 50%; box-sizing: border-box;} .column5{width: 41.6666%; box-sizing: border-box;} .column4{width: 33.3333%; box-sizing: border-box;} .column3{width: 25%; box-sizing: border-box;} .column2{width: 16.6666%; box-sizing: border-box;} .column1{width: 8.3333%;} .last{padding: 0;} .cf{zoom: 1;} .cf:before, .cf:after{content: ""; display: table;} .cf:after{clear: both;} .clear{clear: both;} *{box-sizing: border-box;}


/* TYPOGRAPHY */

a{text-decoration: none; color: inherit; transition: all .2s ease-in-out;} a:hover{color: inherit;}
a#cta-btn, #form input[type="submit"] {cursor: pointer; display: inline-block; text-align: center; color: #000; font-family: 'Montserrat', sans-serif; margin: 15px auto; box-sizing: border-box; font-weight: 600;  position: relative; padding: 10px 10%; text-transform: uppercase; border: 1px solid #000; background: transparent;}
a#cta-btn2  {cursor: pointer; display: inline-block; text-align: center;  color: #fff; font-family: 'Montserrat', sans-serif; margin: 15px auto; box-sizing: border-box; font-weight: 600;  position: relative; padding: 10px 10%; text-transform: uppercase; border: 1px solid #fff;}
a#cta-btn3 {float: left; width: calc(33.33% - 15px); display: flex; justify-content: center; align-content: center; cursor: pointer; text-align: center; color: #000; font-family: 'Montserrat', sans-serif; margin: 10px auto; box-sizing: border-box; font-weight: 600;  position: relative; padding: 15px 2%; text-transform: uppercase; border: 1px solid #000; background: transparent; display: flex; align-items: center;}
a#cta-btn:hover, a#cta-btn2:hover, #form input[type="submit"]:hover, a#cta-btn3:hover, .filter-search form input[type="submit"]:hover, a#cta-btn4:hover {border: 1px solid transparent; transition: all .2s ease-in-out; background: #222; color: #fff; box-shadow: 5px 5px 5px rgb(0 0 0 / 40%);}
a#cta-btn:hover i, a#cta-btn2:hover i, a#cta-btn3:hover i {color: #c0242f;}

/* HEADER */
.translate-bar {width: 100%; background: #fff; display: flex; justify-content: flex-end; align-items: center; padding: 10px 3%;}
.translate-bar a {display: flex; align-items: center; font-weight: 500;}
.translate-bar a:hover {opacity: .8; transition: .2s ease-in-out all;}

.header, .inv-header {width: 100%; text-align: center; position: relative;}
.header .column7:before, .inv-header .column7:before {
	content: "";
    position: absolute;
    left: -65px;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 141px 65px 0px 0;
    border-color: transparent #000 transparent transparent;
    display: inline-block;
    vertical-align: middle;
}
#menu-button, .mobile-display {display: none;}
img.main-logo {width: 100%; max-width: 333px; height: auto; box-sizing: border-box; margin: 18px 15% 0 15%; display: block;}
a.display-phone {display: none;}

.header.clone {position: fixed; top: -305px; left: 0; right: 0; z-index: 999; transition: 0.4s top cubic-bezier(.3,.73,.3,.74);}
body.down .header.clone {top: 0; background: rgba(242,242,242,.85);}
body.down .header.clone img.main-logo {display: block; padding: .5em 0; max-width: 200px; margin-top: 0;}


/* ALL OTHER STYLES */

.flex-wrapper {display: flex; flex-direction: row!important; flex-wrap: wrap; justify-content: space-between;}

/* Fixed Search Button */
aside.quicksearch {z-index: 10; position: fixed; top: 17vh; left: 0;}
aside.quicksearch a {
	display: block;
	padding: 10px 20px;
	background: #510000;
	font-size: 14px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
    transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1),-webkit-transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
    transform: translate3d(-25%, 0, 0);	
	}
aside.quicksearch .fas {padding: 5px 5px 5px 25px; font-size: 20px;}
aside.quicksearch a:hover {transform: translate3d(0, 0, 0);}

/* hero/cat slider */
.cathero{background-color: black;}
.catslide {position:relative;}
.catslide img {width: 100%;}
.cattitler {
	position: absolute;
    left: 0;
	right: 0;
	top: 0;
	width: 100%;
    z-index: 2;
    display: inline-block;
    margin: 0 auto;
	box-sizing: border-box;
	margin-top: 11%;
}
.titleblock h2 {color: #fff; font-weight: 400; font-size: 50px; text-shadow: 0px 0px 7px #000; max-width: 500px; line-height: 55px; font-weight: 700;}
.titleblock h2 span {text-transform: uppercase; display: block; font-weight: 500;}
.titleblock a {background: rgba(192,36,47,.9); color: #fff; text-align: center; padding: 12px 60px; font-weight: 700; margin-top: 15px; display: inline-block;}

/* toggle tabs */
.tab {float: left; background: #222; width: 30%; height: 100%;}
.tab button {
  display: block;
  background: inherit;
  color: #fff;
  padding: 3em 12%;
  border-radius: 0;
  line-height: 28px;
  font-size: 1.25em;
  width: 100%;
  border: none;
  outline: none;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.3s;
  font-weight: 600;
  position: relative;
}
.tab button.active:before {
    content: '';
    position: absolute;
	z-index: 7;
    border: 15px solid transparent;
    border-top: 0;
    border-bottom-color: #555;
    right: -22px;
	top: 45%;
	transform: rotate(90deg);
}
.tab button span {display: block; color: #c0c0c0;}
.tab button:hover {background: #000;}
.tab button.active {background: #555;}
.tabcontent {float: left; padding: 5.25% 6em; width: 70%;}
.tabcontent h1 span {display: block; color: #c0c0c0; line-height: 24px; font-size: 22px;}

.page-title {color: #fff; padding: 6em 0; text-align: center; background: #000 url('/siteart/page-hero1.jpg'); background-size: cover; background-position: bottom;}
.page-title h1 {text-transform: uppercase; margin-bottom: 15px!important; font-size: 45px; letter-spacing: 3px; /*text-shadow: 0px 0px 7px #000;*/ line-height: 1.3;}
.page-title p {max-width: 80%; margin: 0 auto; font-weight: 500; text-shadow: 0px 0px 7px #000; line-height: 1.6;}

.cat-banner h2, .tabcontent h2 {margin-bottom: 15px!important; line-height: 1.4;}
.tabcontent p, .page-title p {margin-bottom: 15px!important;}
.cat-banner h2, .tabcontent h1 {line-height: 36px; font-size: 28px;}
.cat-banner {background: #c0242f; display: flex; align-items: center; flex-wrap: wrap;}
.cat-banner img {width: 100%; max-width: 75px; height: auto; display: block; margin-top: 100px;}
.cat-banner .column6 {padding: 40px 5%;}

/* form + captcha */
#form {background: rgba(255,255,255,.8); padding: 25px; border: 1px transparent solid; animation: fadeInUp; animation-duration: 1s; margin: 0!important; /*box-shadow: 0px 0px 30px 0px rgba(0,0,0,.1);*/}
#form form {width: 100%; display: flex; align-items: center; flex-wrap: wrap;}
#form h2 {margin-bottom: .5em!important; line-height: 1.4; font-size: 22px;}
#form h3 {text-transform: uppercase; margin: 2em 0 1em;}
#form .form-row {display: block; /*margin: 0 0 5px;*/ text-align: left!important;}
#form .form-row label{font-weight: 600; line-height: 1;}
#form input[type="text"], #form input[type="email"], #form select, #form textarea, #form input[type="date"], #form input[type="phone"] {width: 100%; margin: 5px 0 20px; padding: 5px 10px; border: 1px solid #dedede; background: #ededed;}
#form textarea {height: 90px;}
#form .checkbox {margin-top: 15px;}
#form input:focus, #form select:focus, #form textarea:focus, #form canvas:focus {box-shadow: 0px 0px 0px 5px rgba(192,36,47,.15); outline: none;}

.CaptchaPanel{line-height: normal !important;}
.CaptchaAnswerPanel input{width: 250px; max-width: 100%; padding: 5px; margin: 5px 0; background: #ededed; border: 1px solid #ccc;}
.CaptchaMessagePanel{padding: 0 !important; margin: 0 !important; font-weight: normal !important; font-size: 12px; line-height: 14px;}
.CaptchaImage {width: auto!important; padding: 0!important;}
.CaptchaAnswerPanel{margin: 0; padding: 2px 0px 2px 0px !important;}
.CaptchaWhatsThisPanel{line-height: 0; margin: 0; padding: 8px 0 8px 0 !important;}
.CaptchaWhatsThisPanel a{font-size: 12px; color: #000;} .CaptchaWhatsThisPanel a:hover{text-decoration: none;}

/* 	INV SEARCH  */
.filter-search form label{display: block; font-weight: 700; font-size: 16px; margin: 5px 0;}
.filter-search form select, .filter-search form input[type="text"]{display: block; width: 100%; padding: 10px; font-family: 'Montserrat', sans-serif; border: 1px #ddd solid;}
.filter-search form input[type="submit"], a#cta-btn4 {display: inline-block; width: 100%; font-family: 'Montserrat', sans-serif; font-weight: 700; text-align: center; color: #c0242f; border: 1px solid #c0242f; cursor: pointer; max-width: 275px;    margin: 10px auto;  position: relative; padding: 10px; text-transform: uppercase; background: transparent;}
.filter-search .detailed-row {clear: both;}

/* NOUI SLIDER */
.noUi-target{position: relative; direction: ltr}
.noUi-origin{position: absolute; right: 0; top: 0; left: 0; bottom: 0; border-radius: 2px}
.noUi-marker, .noUi-pips, .noUi-tooltip, .noUi-value{position: absolute}
.noUi-horizontal{height: 12px; z-index: 0}
.noUi-horizontal .noUi-handle{width: 25px; height: 21px; left: -13px; top: -6px}
.noUi-horizontal .noUi-handle-upper{top: -5px}
.noUi-background{background: #ccc;}
.noUi-connect{background: #c0242f !important; border: 1px #ccc solid;}
.noUi-target{width: calc(100% - 15px); margin: 15px auto;}
.noUi-handle{position: relative; background: #fff !important; border: 1px solid #ccc; border-radius: 3px;  z-index: 1;}
.noUi-handle:after, .noUi-handle:before{content: ""; display: block; position: absolute; height: 12px; width: 1px; background: #E8E7E6; left: 10px; top: 3px}
.noUi-handle:after{left: 12px}
.noUi-pips-horizontal{padding: 5px 0; height: 10px; top: 100%; left: 0; width: 100%}
.noUi-marker-horizontal.noUi-marker{margin-left: -1px; width: 1px; height: 5px; background: #777;}
.example-val{font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700;}
.example-val span{font-weight: 400;}
#slider-price-value-lower:before, #slider-price-value-upper:before{content: '$'; padding-right: 2px}

.privacy-wrapper {width: 100%; padding: 30px;}
.privacy-wrapper h2 {font-size: 16px; padding-bottom: 10px;}
ul.content-list {width: 100%; display: flex; justify-content: flex-start; flex-wrap: wrap; margin: 0 1.5em 2em;}
ul.content-list li {list-style: inside; width: 100%;}

/* FOOTER */

/* scrolling inv banner */
.scrolling-wrap {width: 100%; height: 90px; overflow: hidden; background: #000; position: relative; padding: 5px 0;} 
.scrolling {width: 100%; height: 90px;}
.scrolling-wrap h2 {background: #000; color: #c0c0c0; position: absolute; z-index: 2; line-height: 24px; padding: 21px 10%; text-align: center; text-transform: uppercase;}
.scrolling-wrap h2 span {display: block; font-size: 20px; font-weight: 400;}

.footer {background:#c0c0c0; display: flex; flex-direction: row; flex-wrap: wrap; align-content: space-between; padding: 4em 2em; justify-content: center;}
.footer h3 {margin-bottom: 10px; text-transform: uppercase; font-family: 'Montserrat', sans-serif;}
.footer a {color: #000!important; display: block; margin: 3px auto; font-size: 14px; font-weight: 500;}
.footer a:hover {text-decoration: underline; color: #222!important; transition: .2s ease-in;}
img#footer-logo {width: 100%; height: auto; display: block; max-width: 250px; margin-bottom: 30px!important;}
.footer .column2 {margin-top: 75px;}
.ftr-info {display: flex; justify-content: flex-start; margin: 15px 0; align-items: baseline; font-size: 18px;}
.ftr-info i {margin: 0 15px 0 0;}
.ftr-info a {margin: 0;}


/* MEDIA QUERIES (RESPONSIVE) */
@media screen and (max-width: 1500px) {
	.header .column5, .inv-header .column5 {width: 60%!important; float: left;}
	.header .column7, .inv-header .column7 {width: 40%!important; float: left;}
	
	.titleblock {margin-left: 10%;}
	.titleblock h1 {font-size: 36px; line-height: 40px;}	
	
	a#cta-btn3 {width: calc(50% - 15px);}
}
@media screen and (max-width: 1000px){
	.mobile-display, img#mobile-logo {display: block;}
	
	.header, .inv-header {background: #fff;}
	img.main-logo {max-width: 250px;}
	
	.header .column7:before, .inv-header .column7:before {border-width: 114px 65px 0px 0;}
	
	.cattitler {position: relative; margin-top: 0;}
	.titleblock {margin-left: 0;}
	.titleblock.content-width {width: 100%;}
	.titleblock h1 {display: none; max-width: none;}
	.titleblock a {display: block; width: 100%; margin: 0 auto; background: rgba(192,36,47,1); box-sizing: border-box; padding: 15px 5%;}
	
	.tab, .tabcontent {float: none; width: 100%; clear: both;}
	.tabcontent {padding: 5em 4em;}
	.tab button {float: left; width: 33.33%; padding: 30px 6%; font-size: 16px; line-height: 22px; min-height: 150px;}
	.tab button.active:before {right: 45%; top: inherit; bottom: -15px; transform: rotate(180deg);}
	
	aside.quicksearch {top: 14vh;}
	
	.cat-banner .column10 {width: 83.3333%!important;}
	.cat-banner .column2 {width: 16.6666%!important;}
	
	.scrolling-wrap h2, #form h2 {font-size: 20px;}
	.scrolling-wrap h2 span {font-size: 16px;}
	
	.column1, .column2, .column3, .column4, .column5, .column6, .column7, .column8, .column9, .column10, .column11, .column12 {margin: 0 auto!important; width: 100%!important; float: none; padding: 0;}
	.flex-wrapper ul {column-count: 2;}

	.footer {padding: 4em 10%;}
	.ftr-info {justify-content: center; margin: 20px 0;}
	.footer .column2 {margin-top: 30px!important; text-align: center;}
}

@media screen and (max-width: 767px) {		
	.pad30 {padding: 15px!important;}
	.pad60 {padding: 40px 20px!important;}
	
	.header .column5, .inv-header .column5 {width: 75%!important;}
	.header .column7, .inv-header .column7 {width: 25%!important;}
	img.main-logo {max-width: 200px; margin: 15px 15% 0 15%;}
	body.down .header.clone img.main-logo {max-width: 160px; padding: .45em 0;}
	.header .column7:before, .inv-header .column7:before {border-width: 92px 65px 0px 0;}
	
	aside.quicksearch {display: none;}
	a.display-phone {display: block; color: #fff!important; padding: 12px; background: #510000; clear: both; font-weight: 600; letter-spacing: 1px;}
	a.display-phone:hover {background: #222;}
	a.display-phone:hover i {color: #fff!important;}
	.clone a.display-phone {display: none;}
	
	a#cta-btn3 {width: calc(100% - 15px); float: none;}
	
	
	.cat-banner .column6 {padding: 40px!important;}
	
	.page-title h1 {font-size: 36px; margin-bottom: 5px!important;}
}

@media screen and (max-width: 600px) {
	.tab button {float: none; width: 100%; min-height: inherit;}
	.tab button.active:before {right: 48%;}
	
	.cat-banner .column10 {float: none; width: 100%!important;}
	.cat-banner .column2 {display: none;}
}

@media screen and (max-width: 450px) {
	.flex-wrapper p a {max-width: none;}
	img.main-logo {margin: 12px 5% 0 30px; max-width: 175px;}
	.header .column7:before, .inv-header .column7:before {border-width: 80px 65px 0px 0;}
}

@media screen and (max-width: 350px) {
	.header .column7:before, .inv-header .column7:before {display: none;}
}