/* 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 */

html, body{font-family: 'Nunito Sans', sans-serif; font-size: 16px; -webkit-text-size-adjust: none}
body {overflow-x: hidden;}
::-moz-selection{background: #2B17AE; color: #fff; text-shadow: none} ::selection{background: #2B17AE; color: #fff; text-shadow: none}

.main{padding: 50px 0; min-height: 50vh;}
.container{max-width: 1400px; margin: 0 auto; padding: 0 20px;}

.column12, .column11, .column10, .column9, .column8, .column7, .column6, .column5, .column4, .column3, .column2, .column1{float: left; padding: 0 25px 0 0;} .column12{width: 100%;} .column11{width: 91.6666%;} .column10{width: 83.3333%;} .column9{width: 75%;} .column8{width: 66.6666%;} .column7{width: 58.3333%;} .column6{width: 50%;} .column5{width: 41.6666%;} .column4{width: 33.3333%;} .column3{width: 25%;} .column2{width: 16.6666%;} .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 */

h1{letter-spacing: 1px; text-transform: uppercase; color: #2B17AE;}
h2{font-style: italic; text-transform: uppercase; padding: 5px 0; border-bottom: 5px #2B17AE solid;}
h3{text-transform: uppercase;}
a{text-decoration: none; color: inherit; transition: all .2s ease-in-out;} a:hover{color: inherit;}

.blue{color: #2B17AE;}

/* HEADER */

.header {position: relative; z-index: 999; display: flex; justify-content: space-between; align-items: center;}
.header .logo{width: 28%; padding: 15px 50px 0; text-align: center;}
.header .logo img {width: 100%; max-width: 222px; height: auto;}
.header .hdr-right {width: 72%;}
.header .contact{padding: 15px 20px; font-weight: 700; text-align: right; overflow-wrap: break-word; border-bottom: 1px #ddd solid;}
.header .contact span{display: inline-block; white-space: nowrap; padding: 2px 10px;}

/* NAVIGATION */
#cssmenu{width: 100%;; background: #2B17AE; position: relative; padding: 0 20px; font-size: 0; text-align: right; z-index: 999;}
#cssmenu ul li{display: inline-block; position: relative;}
#cssmenu ul li a{display: block; font-size: 16px; font-weight: 700; text-decoration: none; text-transform: uppercase; color: #fff; padding: 25px 13px;}
#cssmenu ul li:hover > a{background: #1D0A9B;}
#cssmenu ul li:hover > ul{left: auto;}
#cssmenu ul ul{display: block; position: absolute; left: -9999px; text-align: left; border-bottom: 1px #aaa solid;}
#cssmenu ul ul li{border: 1px #aaa solid; border-bottom: none;}
#cssmenu ul ul li a{background: #222; width: 250px; font-size: 11px; text-decoration: none; color: #ddd; padding: 15px 20px;}
#cssmenu ul ul li a:hover, #cssmenu ul ul li:hover > a{background: #444; color: #fff;}
#cssmenu ul ul ul{margin-left: 100%; top: -1px;}
#cssmenu #menu-button{display: none;}

/* Finance Buttons */
.finance-btns {width: 95%; display: flex; justify-content: flex-end; max-width: 1500px; margin: 0 auto; padding-bottom: 1em;}
.finance-btns a {margin: 0 10px;}
.finance-btns button {cursor: pointer; border: none; background: #2B17AE; color: #fff; font-weight: 600; padding: .5em 1em; text-transform: uppercase; border-radius: 0; font-size: 14px; box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.5);}
.finance-btns a:hover button {background: #1D0A9B; transition: .3s ease-in-out all;}

/* HOME */

/*=== POPUP ===*/
.popup {
	display: none;
	position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    background: rgb(51 51 51 / 33%);
    backdrop-filter: blur(2px);
}
.popup.show {
	display: block;
}
.popup .popup-container {
	max-width: 550px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	padding: 0;
	align-content: center;
	height: 100%;
	text-align: center;
}
.popup .popup-container .popup-header {
	text-align: right;
}

button.primary-blue {
    padding: 15px;
    background: transparent;
    color: white;
    border: black;
    font-size: 16px;
    position: absolute;
	cursor: pointer;
}
.popup img{
	max-height: 100%;
}

.cycle-slideshow{position: relative;}
img.cycle-img {width: 100%; height: auto;}
.cycle-slideshow .cta{position: absolute; bottom: 15px; left: 0; right: 0; z-index: 9999;}
.cycle-slideshow .cta .container{display: flex; flex-wrap: wrap;}
.cycle-slideshow .cta a{display: block; width: calc(33.3333% - 10px); background: #2B17AE; margin: 5px; padding: 10px 10px 10px 0; font-size: 16px; text-align: center; text-transform: uppercase; font-weight: 700; font-style: italic; color: #fff; box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.5);}
.cycle-slideshow .cta a:hover{background: #1D0A9B;}
.cycle-slideshow .cta a img{vertical-align: middle; padding-right: 10px;}

.search{background: #f5f5f5; padding: 50px 1em;}
.search form{margin: 25px 0;}
.search form label{display: block; font-weight: 700;}
.search form select, .search form input[type="text"]{display: block; width: 100%; padding: 10px; font-family: 'Nunito Sans', sans-serif; border: 1px #ddd solid;}
.search form input[type="submit"]{display: block; width: 100%; background: #2B17AE; padding: 10px; font-family: 'Nunito Sans', sans-serif; font-weight: 700; text-align: center; color: #fff; border: 1px #ddd solid; cursor: pointer;}
.search .row{margin-bottom: 15px;}

.about{display: flex; align-items: center; background: #000 url("../siteart/welcome2.jpg") top right -1100px no-repeat; min-height: 395px; color: #fff;}
.about .welcome{max-width: calc(100% - 850px); vertical-align: middle; padding: 25px;}
.about .welcome h1{color: #fff;}
img#award {max-width: 150px; display: block;}

.brochurepage img.brand-logo { width: 300px; max-width: max(80vw, 100%); max-height: 200px; object-fit: contain; object-position: 0% 50%; margin: 20px 0; }
.brochurepage .gallery { margin-top: 50px; align-items: stretch; }
.brochurepage .gallery a { margin: 10px 20px; }
.brochurepage .gallery a img { max-width: 100%; max-height: 100%; object-fit: contain!important; object-position: center; }
.brochurepage .gallery a.brochure-models { flex-direction: column; align-items: center; justify-content: space-evenly; height: unset; }
.brochurepage .gallery a.brochure-models img { min-height: 80px; }
.brochurepage .gallery a.brochure-models img.model-cutout { height: 180px; margin-bottom: 12px; }
.brochurepage .gallery a.brochure-models img.model-txt { height: 80px; }
.brochurepage .gallery a.brochure-models span { height: 80px; display: flex; justify-content: center; align-items: center; text-align: center; font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 18px; }
.brochurepage .gallery a:hover img { opacity: .6; }
.brochurepage .gallery a:hover span { opacity: .6; }

.team{font-weight: 700; text-align: center;}
.team div{margin-bottom: 15px;}

.gallery{display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
.gallery a{display: flex; justify-content: center; align-items: center; width: 225px; height: 150px; margin: 5px 0; padding: 5px; overflow: hidden;}
.gallery img{flex-shrink: 0; min-width: 100%; min-height: 100%;} .gallery img:hover{opacity: .6;}

/* 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: #2B17AE !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: 'Nunito Sans', 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}

/* FORM */

#form{background: #fafafa; padding: 25px; border: 1px #ddd solid;}
#form h2 {display: block; margin: 1em 0;}
#form .form-row{display: block; margin: 0 0 5px;}
#form .form-row .label-left{float: left; width: 300px; padding-right: 25px;}
#form .form-row .input-right{float: left; width: calc(100% - 300px);}
#form .form-row .input-right label{margin-right: 15px; cursor: pointer;}
#form input[type="text"], #form input[type="email"], #form select, #form textarea{width: 100%; margin: 5px 0 20px; padding: 10px 5px; font-family: 'Nunito Sans', sans-serif; border: 1px solid #ccc;}
#form input[type="submit"]{display: block; width: 100%; max-width: 250px; background: #2B17AE; margin: 5px auto; padding: 10px 0; font-family: 'Nunito Sans', sans-serif; font-size: 14px; color: #fff; border: none; transition: all .2s ease-in-out; cursor: pointer;} #form input[type="submit"]:hover{background: #333;}
#form textarea{height: 90px;}

.CaptchaPanel{margin: 0 !important; padding: 0 !important; line-height: normal !important;}
.CaptchaAnswerPanel input{width: 250px; max-width: 100%; padding: 5px; margin: 5px 0;}
.CaptchaMessagePanel{padding: 0 !important; margin: 0 !important; font-weight: normal !important; font-size: 12px; line-height: 14px;}
.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;}

/* FOOTER */

.manus{padding: 15px; text-align: center; border-top: 1px #ddd solid;}
.manus ul li{display: inline; padding: 0 10px;}
.manus ul li img{max-height: 75px;}

.footer{background: #222; padding: 50px 0; line-height: 160%; color: #fff;}
.footer h3{margin-bottom: 15px;}
.footer a:hover{color: #ccc;}
.footer .divfooter{font-size: 12px; text-align: right; line-height: 135%; color: #aaa;}
.footer .last {text-align: right;}

/* RESPONSIVE */

@media screen and (max-width: 1520px){
	#cssmenu ul li a{font-size: 13px; padding: 25px 10px;}
}
@media screen and (max-width: 1400px){
	.about{background: #000 url("../siteart/welcome2.jpg") top right -1350px no-repeat;}
	.about .welcome{max-width: calc(100% - 600px);}
    
    .header .logo{width: 25%; padding: 15px 50px 0; text-align: center;}
.header .logo img {width: 100%; max-width: 222px; height: auto;}
.header .hdr-right {width: 75%;}
    
}


@media screen and (max-width: 1250px){

.header .logo{width: 22%; padding: 15px 50px 0; text-align: center;}
.header .hdr-right {width: 78%;}
    
}





@media screen and (min-width: 1120px){
	.show1120 { display: none!important; }
}
@media screen and (max-width: 1120px){
	.header {flex-wrap: wrap;}
	.header .logo{float: none; width: 100%; padding: 15px; text-align: center;}
	.header .hdr-right {width: 100%;}
	.header .contact{text-align: center;}
	
	#cssmenu{width: 100%; padding: 0; text-align: left;}
	#cssmenu ul{width: 100%; display: none;}
	#cssmenu ul li{width: 100%; border-top: 1px solid #ccc;}
	#cssmenu ul li a{font-size: 12px; padding: 20px; width: 100%;}
	#cssmenu ul ul{display: none; position: relative; left: 0; right: auto; width: 100%; margin: 0;}
	#cssmenu ul ul li{width: 100%; border: none; border-top: 1px solid #aaa;}
	#cssmenu ul ul li a{background: #333; font-size: 12px; color: #fff; padding: 20px; width: 100%;}
	#cssmenu ul ul ul{display: none; position: relative; top: 0; left: 0; right: auto; width: 100%; margin: 0;}
	#cssmenu ul ul ul li a{padding: 20px 40px; background: #555;}
	#cssmenu > ul > li.has-sub > a::after, #cssmenu ul ul li.has-sub > a::after{display: none;}
	#cssmenu #menu-button{display: block; padding: 20px; color: #fff; cursor: pointer; font-size: 12px; font-weight: 700; text-transform: uppercase;}
	#cssmenu #menu-button::after{position: absolute; top: 19px; right: 20px; font-family: FontAwesome; font-size: 16px; content: '\f0c9';}
	#cssmenu .submenu-button{position: absolute; z-index: 10; right: 0; top: 0; display: block; height: 55px; width: 100%; cursor: pointer;}
	#cssmenu .submenu-button::after{position: absolute; top: 19px; right: 20px; font-family: FontAwesome; font-size: 16px; content: '\f067'; color: #fff;}
	#cssmenu .submenu-button.submenu-opened:after{content: '\f068';}
}
@media screen and (max-width: 1024px){
	.cycle-slideshow .cta{position: relative; bottom: 0;}
	.cycle-slideshow .cta a{width: calc(50% - 10px); text-align: left; padding: 10px;}
	
	.about{background: #000; min-height: inherit;}
	.about .welcome{max-width: 100%;}
	img#award {padding: 10px 0;}
}
@media screen and (max-width: 768px){
	.hide-768{display: none;}
	.column3, .column4, .column6, .column8{float: none; width: 100%; padding: 0; margin-bottom: 15px;}
	img#award {margin: 0 auto;}

	.cycle-slideshow .cta a{width: 100%; margin: 5px 0; font-size: 14px;}
	.cycle-slideshow .cta a img{max-height: 30px; padding-right: 5px;}
	.search{padding: 25px 1em;}
	
    #form .form-row .label-left, #form .form-row .input-right{float: none; width: 100%; padding: 0;}
    #form input[type="text"], #form input[type="email"], #form select, #form textarea{margin: 5px 0 10px;}
	
	.footer{padding: 25px 0;}
	.footer, .footer .divfooter, .footer .last {text-align: center;}
}
@media screen and (max-width: 560px) {
	.finance-btns {flex-wrap: wrap; flex-direction: column; justify-content: center;}
	.finance-btns button {width: 100%;}
	.finance-btns a {width: 100%; margin: 0 auto 10px;}
	
}
@media screen and (max-width: 500px) {
	.popup h1 {font-size: 40px; line-height: 43px;}
	
}