/* 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; list-style: none;} img{max-width: 100%; image-rendering: -webkit-optimize-contrast;}
.cf{zoom: 1;} .cf:before, .cf:after{content: ""; display: table;} .cf:after{clear: both;} .clear{clear: both;} *, *:before, *:after{box-sizing: border-box;}

html, body{background: #333; font-family: Arial, sans-serif; font-size: 18px; line-height: 1.5; height: 100%; width: 100%;}
::-moz-selection{background: #FFCC00; color: #fff; text-shadow: none} ::selection{background: #FFCC00; color: #fff; text-shadow: none}

.main{background: #fff; padding: 50px 0;}
.wrap{max-width: 1240px; margin: 0 auto; padding: 0 20px;}

.flex-row{display: flex; flex-wrap: wrap;}
.flex-row .col{padding-right: 35px;}
.flex-row .col:last-child{padding-right: 0;}
.flex-row .col-6{width: 50%;}

.blue-bg{background: #3C628F;}

/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6{font-weight: 700;}
h1{font-size: 20px;}
a{text-decoration: none; color: inherit; cursor: pointer; transition: all .2s ease-in-out;} a:hover{color: inherit;}

.btn{display: block; background: #FFCC00; padding: 14px; font-size: 16px; text-transform: uppercase; color: #000;}
.btn:hover{background: #000; color: #fff;}

.btn-container{display: flex; flex-wrap: wrap; width: 100%; max-width: 800px; margin: auto;}
.btn-container .btn{flex: 1; margin: 1px;}

.center{text-align: center;}

/* HEADER */

.header{background: #3C628F; padding: 15px 0; text-align: center; color: #fff;}
.header .phone{margin-top: 5px; font-size: 22px;}
.rightalign{text-align: right;}
/* NAVIGATION */

.navigation{background: #FFCC00;}

nav.primary{display: inline-block; text-align: center; position: relative; width: 100%; z-index: 999;}
nav.primary ul{display: flex; justify-content: center; width: 100%; margin: 0; padding: 0;}
nav.primary ul li{display: inline-block; position: relative; height: 100%; transition: 0.3s;}
nav.primary ul li i{margin-left: 10px;}
nav.primary ul li a{display: block; padding: 12px 25px; font-family: 'Open Sans', sans-serif; font-size: 17px; font-weight: 700; text-transform: uppercase; text-align: center; transition: 0.2s ease-in;}
nav.primary ul li:hover > a{background: #000; color: #fff;}

nav.primary .primary-sub-menu li{border-bottom: 1px #555 solid;}
nav.primary .primary-sub-menu li a{display: block; background: #333; padding: 12px 14px; font-size: 12px; text-align: left;}
nav.primary .primary-sub-menu li:hover > a{background: #555;}

nav.primary ul ul{display: none; position: absolute; width: 250px; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1); z-index: 5;}
nav.primary ul li:hover > ul{display: block; position: absolute; z-index: 100;}
nav.primary ul ul li{display: block; position: relative; float: none; margin: 0; font-size: 12px; color: #fff;}

nav.primary ul li.has-sub-menu a:after{display: inline-block; margin-left: 10px; font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107";}
nav.primary ul li.has-sub-menu a:hover:after{color: #fff;}
nav.primary ul li.has-sub-menu ul a:after{content: "";}

/* BODY */

.product-gallery{display: flex; flex-wrap: wrap;}
.product-gallery .product{display: block; width: 33.3333%; padding: 5px; text-align: center;}
.product-gallery .product:hover{opacity: .75;}
.product-gallery .product img{display: block;}
.product-gallery .product strong{display: block; background: #3C628F; padding: 10px; font-weight: 700; color: #fff;}

.video-gallery{display: flex; flex-wrap: wrap;}
.video-gallery .video{display: block; width: 33.3333%; padding: 15px;}
.video-gallery .video iframe{display: block; width: 100%; height: 200px; margin-bottom: 10px;}

.popup-gallery{display: flex; flex-wrap: wrap; margin: 25px 0;}
.popup-gallery a{display: block; width: 25%; padding: 5px;}

/* FOOTER */

.footer{background: #333; padding: 12px 0; text-align: center; color: #7A7A7A;}

/* RESPONSIVE */

nav.mobile, #menu-button{display: none;}

@media screen and (max-width: 1024px){
	.main{padding: 30px 0;}
}
@media screen and (max-width: 768px){
	.flex-row .col{width: 100%; margin-bottom: 15px; padding: 0;}
	.header .logo{max-width: 250px; margin: auto;}

	#menu-button{display: block; position: relative; width: 100%; font-size: 18px; font-weight: 700; z-index: 1000;}
	#menu-button a{display: block; padding: 12px 20px; text-align: center;}
	#menu-button a:hover{background: #333; color: #fff;}

	nav.primary{display: none;}
	nav.mobile{display: block; position: fixed; top: 0; left: -250px; width: 250px; height: 100%; background: #333; color: #fff; z-index: 999999; overflow: auto; box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.1);}
	nav.mobile .mobile-top{display: flex; align-items: center; justify-content: space-between; position: relative; padding: 10px 15px; border-bottom: 4px #FFCC00 solid;}
	nav.mobile .mobile-title{font-size: 14px; font-weight: 700; text-transform: uppercase;}
	nav.mobile .menu-toggle{font-family: Arial, sans-serif; font-size: 18px; font-weight: 900; line-height: 1; color: #fff; padding: 5px;}
	nav.mobile .menu-toggle:hover{opacity: .5;}

	nav.mobile ul{list-style: none; font-weight: 400; margin: 0; padding: 0;}
	nav.mobile ul li{position: relative; border-bottom: 1px solid #444;}
	nav.mobile ul li i{position: absolute; right: 15px;}
	nav.mobile ul li a.active-mobile i{transform: rotate(180deg);}
	nav.mobile ul li a{display: flex; align-items: center; position: relative; font-size: 12px; padding: 15px; font-weight: 700; text-transform: uppercase; color: #fff;}
	nav.mobile ul li a:hover{background: #FFCC00; color: #000;}

	nav.mobile ul ul li a{background: #444;}
	nav.mobile ul ul ul li a{background: #555;}
	
	nav.mobile .nav-footer{margin-top: 15px; font-size: 12px; text-align: center; opacity: .5;}
	
	.product-gallery .product{width: 50%;}
	.video-gallery .video{width: 50%;}
	.popup-gallery a{width: 33.3333%;}
}
@media screen and (max-width: 480px){
	.product-gallery .product{width: 100%; padding: 10px 0;}
	.video-gallery .video{width: 100%; padding: 10px 0;}
	.popup-gallery a{width: 50%;}
}