/* 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{font-family: "Poppins", sans-serif; line-height: 1.5; height: 100%; width: 100%; color: #222;}
body{display: flex; min-height: 100vh; flex-direction: column; padding-top: 122px;}
::-moz-selection{background: #EA101B; color: #fff; text-shadow: none} ::selection{background: #EA101B; color: #fff; text-shadow: none}

.main{flex: 1; padding: 50px 0;}
.wrap{max-width: 1440px; margin: 0 auto; padding: 0 20px;}

.flex-row{display: flex; flex-wrap: wrap; gap: 20px 50px;}
.flex-row .flex-col{flex: 1;}
.flex-row .form-col{max-width: 35%;}

input[type="text"], select{display: block; width: 100%; padding: 10px; font-family: "Poppins", sans-serif; font-size: 12px; border: 1px #ddd solid;}

/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6{font-weight: 700; text-transform: uppercase; line-height: 1;}
a{text-decoration: none; color: inherit; cursor: pointer; transition: all .2s ease-in-out;} a:hover{color: inherit;}

.btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #EA101B; padding: 15px 35px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #fff; border-radius: 6px;}
.btn:hover{background: #C20C15;}

.grey-btn{background: #eee; color: #666;}
.grey-btn:hover{background: #ddd;}
.red-btn:hover {color: #fff !important;}
.contact-icons{display: flex; flex-direction: column; gap: 15px 0;}
.contact-icons a{display: inline-flex; align-items: center; width: fit-content; gap: 8px; font-weight: 500; text-transform: uppercase;}
.contact-icons a:hover{opacity: .75;}
.contact-icons i{display: flex; align-items: center; justify-content: center; background: #EA101B; width: 25px; height: 25px; font-size: 10px; color: #fff; border-radius: 50px;}

/* HEADER */

.header{position: fixed; top: 0; background: #fff; width: 100%; height: 122px; padding: 15px 0; transition: top 0.2s ease-in-out; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1); z-index: 9999;}
.header.nav-up{top: -122px;}
.header .wrap{display: flex; align-items: center; flex-wrap: wrap; gap: 25px;}
.header .header-right{flex: 1;}
.header .contact-icons{flex-direction: row; justify-content: flex-end; gap: 25px; width: 100%;}

/* NAVIGATION */

nav.primary{position: relative; width: 100%; z-index: 999;}
nav.primary ul{display: flex; justify-content: flex-end; gap: 0 30px; width: 100%; margin: 0; padding: 0;}
nav.primary ul li{display: inline-block; position: relative; height: 100%; transition: 0.3s;}
nav.primary ul li a{display: block; padding: 12px 0 6px; letter-spacing: 1px; text-transform: uppercase; text-align: center; transition: 0.2s ease-in;}
nav.primary ul li a:before{content: ''; position: absolute; top: 100%; height: 3px; left: 0px; right: 100%; background: #EA101B; -webkit-animation: underlineOut 0.2s; animation: underlineOut 0.2s;}
nav.primary ul li:hover > a:before{-webkit-animation: underlineIn 0.4s; animation: underlineIn 0.4s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;}

/* HOME */

.hero{position: relative; background: #000 url(/siteart/hero.jpg) center center no-repeat; background-size: cover; padding: 60px 0;}
.hero .wrap{display: flex; align-items: center; flex-wrap: wrap; gap: 0 25px; position: relative; z-index: 9;}
.hero .hero-overlay{position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5);}
.hero .hero-left{flex: 1; color: #fff;}
.hero .hero-left h1{font-size: 56px;}
.hero .hero-left p{display: block; max-width: 600px; margin: 15px 0 30px; font-size: 18px;}
.hero .hero-right{width: 350px;}

.hero .hero-search{background: rgba(255, 255, 255, 0.5); padding: 20px 25px; border-radius: 6px;}
.hero .hero-search h2{margin-bottom: 15px; font-size: 20px; color: #fff;}
.hero .hero-search form{display: flex; flex-wrap: wrap; gap: 10px;}
.hero .hero-search button{display: block; background: #EA101B; width: 100%; padding: 10px; font-family: "Poppins", sans-serif; font-size: 14px; text-transform: uppercase; font-weight: 600; color: #fff; border: none; border-radius: 6px; cursor: pointer; transition: all .2s ease-in-out;}
.hero .hero-search button:hover{background: #C20C15;}

.welcome-section .flex-col:first-child{max-width: 35%;}
.welcome-section h2{font-size: 32px;}
.welcome-section h2 span{display: block; margin: 5px 0; font-weight: 500; font-size: 28px;}
.welcome-section p{display: block; margin: 15px 0 30px;}

.category-icons{padding: 60px 0; border-top: 1px #eee solid;}
.category-icons .wrap{display: flex; flex-wrap: wrap;}
.category-icons a{display: block; position: relative; flex: 1; padding: 15px; font-weight: 500; text-transform: uppercase; text-align: center; color: #444; transition: all .2s ease-in-out;}
.category-icons a:hover{color: #000; transform: scale(1.1); z-index: 9;}
.category-icons a img{display: block; margin: 10px auto;}
.category-icons a span{display: block;}

.contact-section{background: #000 url(/siteart/bg-contact.jpg) center center no-repeat; background-size: cover; color: #fff;}
.contact-section img{display: block; width: 100%;}
.contact-section h2{margin-bottom: 25px; font-weight: 400;}
.contact-section h2 span{display: block; margin: 5px 0; font-size: 32px; font-weight: 700;}
.contact-section .flex-row{align-items: center;}
.contact-section .flex-col:first-child{padding-left: calc(50% - 720px);}
.contact-wrap div {
    flex-basis: 100%;
    display: flex;
    gap: 30px;
    align-items: center;
}
.contact-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 0;
}
/* SUB-PAGES */

.title-container{padding-bottom: 25px; border-bottom: 1px #ddd solid;}
.title-container h1{font-size: 28px;}

.title-breadcrumbs{display: flex; justify-content: flex-end; position: relative; top: -20px; line-height: 1;}
.title-breadcrumbs ul{display: inline-block; background: #fff; padding: 10px 15px 12px; font-size: 12px; border: 1px #ddd solid; border-radius: 4px;}
.title-breadcrumbs ul li{display: inline-block; margin: 0; vertical-align: middle;}
.title-breadcrumbs ul li:last-child{font-weight: 400; opacity: .75;}
.title-breadcrumbs ul li.separator{padding: 0 6px; opacity: .5;}

.map-frame{display: block; width: 100%; height: 350px; margin: 25px 0;}

/* FORM */

.form{padding: 25px; border-radius: 6px; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);}
.form h3{margin-bottom: 20px; text-transform: uppercase;}
.form input[type="text"], .form select, .form textarea{background: #fafafa; width: 100%; padding: 12px; font-family: inherit; border: 1px #eee solid; border-radius: 5px;}
.form textarea{height: 120px;}
.form input[type="checkbox"], .form input[type="radio"]{position: relative; margin: 0 10px 0 0;}
.form input[type="submit"]{display: block; background: #EA101B; margin: 15px auto; padding: 12px 36px; font-family: "Poppins", sans-serif; font-size: 14px; text-transform: uppercase; font-weight: 600; color: #fff; border: none; border-radius: 6px; cursor: pointer; transition: all .2s ease-in-out;}
.form input[type="submit"]:hover{background: #C20C15;}

.form .form-row{display: block; margin-bottom: 10px;}
.form .form-row label{display: block; margin-bottom: 5px;}
.form .form-row label span{padding-left: 5px; color: red;}

.CaptchaPanel{margin: 0 !important; padding: 0 !important; line-height: normal !important;}
.CaptchaImage{margin: auto;}
.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;}
.CaptchaAnswerPanel input{width: 250px; max-width: 100%; padding: 5px; margin: 5px 0;}
.CaptchaWhatsThisPanel{line-height: 0; margin: 0; padding: 8px 0 !important;}
.CaptchaWhatsThisPanel a{text-decoration: underline; font-size: 12px; color: #000;} .CaptchaWhatsThisPanel a:hover{text-decoration: none;}

/* FOOTER */

.scrolling-wrap{display: flex; flex-wrap: wrap; position: relative; width: 100%; border-top: 5px #000 solid; border-bottom: 5px #000 solid;}
.scrolling-wrap .scroll-banner{height: 90px; width: 350px;}
.scrolling-wrap .scroll-banner strong{display: block; font-size: 18px; text-transform: uppercase;}
.scrolling-wrap .scroll-banner a{display: flex; align-items: center; position: relative; top: -5px; width: 100%; height: calc(100% + 10px); background: #EA101B; padding: 20px 50px 20px 20px; color: #fff;}
.scrolling-wrap .scroll-banner a:hover{background: #C20C15;}
.scrolling-wrap .scroll-banner a:after{position: absolute; right: 20px; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f101";}
.scrolling-wrap iframe{display: block; flex: 1; width: 100%; height: 90px;}

.footer{background: #000; padding: 100px 0; color: #fff;}
.footer strong{display: block; margin-bottom: 10px; font-size: 18px; text-transform: uppercase;}
.footer ul li{display: block; margin: 4px 0;}
.footer ul li a{display: inline-block;}
.footer ul li a:hover{opacity: .75;}

/* ANIMATIONS */

@-webkit-keyframes underlineIn{
	0%{left: 0; right: 100%;}
	100%{left: 0; right: 0;}
}
@keyframes underlineIn{
	0%{left: 0; right: 100%;}
	100%{left: 0; right: 0;}
}

/* RESPONSIVE */

#menu-button{display: none; position: relative; width: 100%; margin-top: 10px; z-index: 1000;}
#menu-button a{display: flex; align-items: center; justify-content: center; gap: 8px; background: #EA101B; padding: 12px 20px; font-size: 12px; font-weight: 700; text-align: center; color: #fff; border-radius: 6px;}
#menu-button a i{font-size: 15px;}

nav.mobile{display: none; 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: 15px; border-bottom: 4px #EA101B solid;}
nav.mobile .mobile-title{font-weight: 700; text-transform: uppercase;}
nav.mobile .menu-toggle{font-size: 18px; font-weight: 900; line-height: 1; color: #fff; padding: 5px;}
nav.mobile .menu-toggle:hover{opacity: .5;}
nav.mobile .nav-footer{margin-top: 25px; font-size: 12px; text-align: center; 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 a{display: flex; align-items: center; position: relative; font-size: 14px; padding: 15px; text-transform: uppercase; letter-spacing: 1px; color: #fff;}
nav.mobile ul li a:hover{background: #444;}

@media screen and (max-width: 1500px){
	.contact-section .flex-col:first-child{padding-left: 20px;}
}
@media screen and (max-width: 980px){
	nav.primary ul{gap: 0 20px;}
	nav.primary ul li a{font-size: 15px;}
	
	.hero .hero-left h1{font-size: 36px;}
	.hero .hero-left p{font-size: 16px;}
}
@media screen and (max-width: 768px){
	nav.primary{display: none;}
	nav.mobile{display: block;}
	#menu-button{display: flex; justify-content: flex-end;}

	.main{padding: 35px 0;}
	.flex-row{gap: 20px;}
	.flex-row .flex-col{flex: none; width: 100%; max-width: 100%;}
	.contact-icons{font-size: 14px;}

	.hero{background: #000 url(/siteart/hero.jpg) top center no-repeat; background-size: cover; padding: 0;}
	.hero .wrap{padding: 0;}
	.hero .hero-left{flex: none; width: 100%; padding: 35px 20px;}
	.hero .hero-left h1{font-size: 32px;}
	.hero .hero-right{width: 100%;}
	.hero .hero-search{background: #eee; padding: 35px 20px; border-radius: 0;}
	.hero .hero-search h2{color: #222;}
	.hero .hero-search input[type="text"], .hero .hero-search select{width: calc(50% - 10px);}

	.welcome-section .flex-col:first-child{max-width: 100%; order: 2;}
	.welcome-section h2, .welcome-section h2 span{font-size: 20px;}
	.category-icons{padding: 35px 0;}
	.category-icons a{flex: none; width: 50%;}
	.contact-section{padding: 35px 20px;}
	.contact-section h2 span{font-size: 24px;}
	.contact-section .flex-row{gap: 0;}
	.contact-section .flex-col:first-child{padding: 0;}

	.title-container{padding-bottom: 35px; text-align: center;}
	.title-container h1{font-size: 24px;}
	.title-breadcrumbs{justify-content: center;}

	.form .form-row .label-field label{display: block; width: 100%;}
	.form input[type="submit"]{max-width: 100%;}

	.scrolling-wrap .scroll-banner{width: 100%;}
	.footer{padding: 50px 0;}
	
	.contact-wrap div {flex-wrap:wrap;gap:15px;}
}
@media screen and (max-width: 480px){
	.header .contact-icons{gap: 10px;}
	.header .contact-icons span{display: none;}

	.btn{display: flex;}
	
	.category-icons a{font-size: 14px;}
}