/* GENERAL */
html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100% }
body { font-family: 'Red Hat Display', sans-serif; font-size: 16px; line-height: 1.5; text-align: center; }
body, nav a, .latest a, .careers h2 a { color: #403d39; }
h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; }
h1, h2, h3, h4, h5, h6 { line-height: 1.3; }
body, header ul, footer ul { padding: 0; margin: 0; }
img, iframe { max-width: 100%; }
.fullwidth { width: 100%; }
a img, iframe { border: none; }
a, a:hover, form input[type=submit], .btn, form input[type=submit]:hover, .btn:hover, .partners img, .discover h2, .latest h3 { transition: ease-in-out .3s; }
a, .top a:hover, nav a:hover, .red, .discover a:hover h2, .latest a:hover h3, .careers h2 a:hover, footer a:hover { text-decoration: none; color: #ec0204; }
a:hover { text-decoration: underline; }
.discover a:hover, .latest a:hover { text-decoration: none; }
hr { border-width: 1px; border-color: #eee; border-style: none none solid; margin: 40px 0; }
.imgLeft, .imgRight { max-width: 45%; }
.imgLeft { float: left; margin: 10px 4% 2% 0; }
.imgCenter { display: block; margin: 0 auto; }
.imgRight { float: right; margin: 10px 0 2% 4%; }
.clear { clear: both; }
.nowrap { white-space: nowrap; }
.hide { display: none !important; }
.center, section h1, .choose h2, .choose p, .discover .grid h2, .discover .grid p { text-align: center; }
.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }
.flex { display: flex; flex-wrap: wrap; }
.flex > * { flex: 1 }
.grid { display: grid; grid-gap: 10px; }
.mid { align-self: center; align-items: center; }
.grid.half { grid-template-columns: repeat(2,1fr); }
.grid.third { grid-template-columns: repeat(3,1fr); }
.grid.fourth { grid-template-columns: repeat(4,1fr); }
.grid .span2 { grid-column: span 2; }
.bg-dark { background-color: #2f373f; }
.bg-dark, .top a, footer .bg-dark a, .hero, .discover a, .bg-about, .bg-contact { color: #fff; }
.upper { text-transform: uppercase; }
.bgimg { position: relative }
.bgimg > img:first-of-type { position: absolute; width: 100%; height: 100%; left: 0; right: 0; top: 0; bottom: 0; object-fit: cover; z-index: 0 }
/* HEADER & NAVIGATION */
.top, footer { font-size: 14px; }
.top li, nav li { display: inline-block; }
.top li, .top p { padding: 0 5px 10px; }
.top svg { position: relative; top: 8px; }
.top p { margin: 0; }
.top .grid{grid-template-columns:1fr 220px}
header .grid > div:first-of-type, .discover h1 { text-align: left; }
header .grid > div:last-of-type, .top p, footer .grid.half > div:last-of-type { text-align: right; }
header img, .subfoot { padding: 20px 10px; }
nav a { display: block; padding: 5px 10px; }
/* BANNERS */
.hero, .cover, .discover .grid div { background-size: cover; background-position: center; }
.hero { height: 300px; background-image: url(/images/hero-main.jpg); position: relative; }
.hero .wrap { top: 50%; transform: translateY(-50%); }
.hero p { max-width: 600px; font-weight: bold; text-align: center; margin: 0 auto;padding:0 10px }
.hero p, .hero strong, .fs30 { font-size: 30px; }
.hero strong { display: block; margin: 20px 10px 40px; }
.hero:before { content: ""; width: 100%; height: 100%; background-color: rgba(0,0,0,.5); position: absolute; top: 0; left: 0; }
/* HOMEPAGE */
.partners img { max-height: 80px;width:auto; vertical-align: middle; margin: 40px; filter: grayscale(100%); }
.partners img:hover { filter: grayscale(0); }
.partners .carousel{height:160px;overflow:hidden}
.discover>img { object-position: top; }
.discover .intro { padding: 50px 10px; }
.discover h2, .latest h3 { margin-top: 20px; }
.discover p { max-width: 550px; }
.discover .grid { margin-bottom: 50px; }
.discover .grid img{object-fit:contain;object-position:bottom}
.discover .grid div { background-size: contain; background-position: center bottom; background-repeat: no-repeat; }
.discover a { display: block; min-height: 310px; background-image: linear-gradient(#2f373f 40%,transparent); padding: 20px 40px;z-index:10;position:relative }
.latest, .choose { padding-top: 10px; }
.latest .grid, .spotlight { margin: 50px 0; }
.latest h3, .latest p { padding: 0 10px; }
.spotlight { background-color: #eee; background-image: url(/images/bg-spotlight.jpg); }
.spotlight h2 { margin-top: 0; }
.spotlight p { padding-right: 20px; }
.choose { height: 650px; }
.choose p { max-width: 700px; margin: 20px auto 40px; padding: 0 10px; }
.choose .btn { min-width: 210px; }
/* OTHER */
section, .spotlight { padding: 40px 10px; }
section h1, .fs24, .discover h2 { font-size: 24px; }
section h2, section h3, section h4 { margin-top: 40px; }
section h2 { font-size: 20px; }
section h3, .hero, .careers h2, .fs18, footer strong { font-size: 18px; }
section h4 { font-size: 16px; }
section ul, footer ul, .nolist { list-style: none; padding: 0; }
section ul, section ol { padding-left: 30px; }
section li { position: relative; margin: 10px 0; }
section li:before { content: "❯"; font-size: 30px; font-weight: bold; color: #ec0204; position: absolute; top: -10px; left: -30px; }
.nolist li:before { content: none; }
.bg-about, .bg-about .grid > div:last-of-type { background-color: #464646; }
.bg-about, .bg-contact { margin-top: 50px; }
.bg-about h2, .bg-contact h2 { margin-top: 20px; }
.bg-about { background-image: url(/images/bg-about.jpg); }
.bg-about .grid > div:last-of-type { padding: 50px 0 50px 50px; }
section .bg-about li:before { color: #fff; }
.bg-contact { background-image: linear-gradient(to right,#2f373f 50%,#464646 50%); padding: 0 10px; }
.bg-contact .grid > div:first-of-type { padding: 50px 50px 50px 0; }
.bg-contact .grid > div:last-of-type { padding: 50px 0 50px 50px; }
.bg-contact ul { padding-left: 110px; }
.bg-contact li { margin: 50px 0; position: relative; }
.bg-contact li strong { display: block; font-size: 18px; }
.bg-contact svg { position: absolute; top: -15px; left: -120px; }
.margtop { margin-top: 40px; }
/* FORMS */
form { margin: 20px 0; }
form .grid { grid-gap: 10px; }
form label, form input[type=file] { display: block; }
form label { text-align: left; }
form input[type=text], form input[type=email], form input[type=tel], form input[type=file], form input[type=submit], form select, form input[type=file], form textarea { font-family: 'Red Hat Display', sans-serif; font-size: 16px; }
form input[type=text], form input[type=email], form input[type=tel], form select, form input[type=file], form textarea { background-color: #f5f5f5; margin-bottom: 5px; padding: 0 15px; border: none; }
form input[type=text], form input[type=email], form input[type=tel], form input[type=file], form textarea { width: calc(100% - 30px); }
form input[type=text], form input[type=email], form input[type=tel], form select { height: 50px; }
form select { width: 100%; }
form input[type=file] { padding: 13px 15px; }
form textarea { height: 200px; padding: 15px; }
form input[type=submit], .btn { display: inline-block; min-width: 160px; text-align: center; background-color: #ec0204; color: #fff; padding: 10px 20px; margin: 10px 0; border-radius: 5px; border: none; }
form input[type=submit] { min-width: 250px; padding: 13px 20px; margin: 0; }
form input[type=submit]:hover, .btn:hover { cursor: pointer; text-decoration: none; background-color: #c60203; color: #fff; }
.bg-contact #contact { margin-top: 40px; }
#careers input[type=submit] { margin-top: 5px; }
/* FOOTER */
footer .bg-dark { min-height: 400px; border-top: 2px solid #c60203; padding: 40px 10px 0; }
footer .bg-dark p { max-width: 200px; }
footer ul { margin-bottom: 30px; }
footer li a { display: inline-block; margin: 6px 0; }

@media(max-width:999px) {
    .discover .grid div { background-size: cover; }
    .bg-contact .grid > div { padding: 20px 10px !important; }
}

@media(max-width:767px) {
    .bg-about { background-image: none; }
    .bg-about .grid, .bg-contact .grid { grid-template-columns: repeat(1,1fr); }
    .bg-about .grid > div:last-of-type { padding: 10px 10px 20px; }
    .bg-contact { background-image: none; padding: 0; }
    .bg-contact .grid > div:first-of-type { background-color: #2f373f; }
    .bg-contact .grid > div:last-of-type { background-color: #464646; }
    footer .grid.fourth { grid-template-columns: repeat(2,1fr); }
}

@media(max-width:600px) {
    .top .grid, header .grid.half, footer .grid.half, .discover .grid, .latest .grid, .spotlight .grid { grid-template-columns: 1fr; }
    .top li{display:block}
    header .grid, footer .grid { grid-gap: 0; }
    nav a { padding: 10px; }
    .top .grid div > *, header .grid div > *, header li, footer .grid.half div > * { text-align: center !important; }
    header img, footer img { display: block; margin: 0 auto; }
    .discover strong { text-shadow: 1px 1px 3px #fff; }
}

@media(max-width:500px) {
    .choose p { font-size: 24px; }
    .grid { grid-template-columns: repeat(1,1fr) !important; }
    footer .grid.fourth p, footer .grid.fourth li { max-width: unset; text-align: center; }
    footer .bg-dark { padding: 20px 10px; }
}
