/* 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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video
{ margin: 0; padding: 0; font: 100%; font: inherit; vertical-align: baseline; box-sizing: border-box; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
table {	border-collapse: collapse; border-spacing: 0; }
img { max-width: 100%; height: auto;  }

/* Montserrat */
body { font-family: "Montserrat", arial, helvetica, sans-serif; font-size: 15px; color: #555; background: #474E5D; padding-top: 60px; }
h1,h2,h3,h4,h5,h6 { font-weight: normal; line-height: 1.2; margin: 0 0 10px 0; }
h1 { font-size: 2.6em; }
h2 { font-size: 2em; }
h3,h4,h5,h6 { font-size: 1.5em; }
p { font-weight: 300; line-height: 1.5; margin: 0 0 1em 0; }
ul { font-weight: 300; line-height: 1.5; list-style: square; margin: 0 0 1em 1em; }
ol { font-weight: 300; line-height: 1.5; list-style: decimal; margin: 0 0 1em 1.5em; }
blockquote { font-weight: 400; line-height: 1.5; margin: 0 0 25px 0; }
hr { border: 0; border-top: 1px solid #CCC; margin: 3rem 0; }
b,strong { font-weight: bold; }
i,em { font-style: italic; }
small { font-size: 0.85em; }
a:link { color: #474E5D; text-decoration: none; }
a:visited { color: #474E5D; text-decoration: none; }
a:hover { color: #F28120; text-decoration: underline; }
a:active { color: #F28120; text-decoration: underline; }
a:focus { color: #F28120; text-decoration: underline; }

.center { text-align: center; }

/* LAYOUT */
.bg-video { position: absolute; top: 0; bottom: 0; width: 100%; height: 100%; overflow: hidden; z-index: -1; }
.bg-video video { width: 100%; pointer-events: none; }

.row { clear: both; }
.row-nav { position: fixed; top: 0; right: 0; left: 0; width: 100%; height: 60px; padding: 15px 0; background: rgba(71,78,93,1); z-index: 999999; transition: 0.25s; clear: both; }
.row-nav-home { background: rgba(71,78,93,0.0); }
.row-nav-home.shrink { height: 60px; padding: 15px 0; background-color: rgba(71,78,93,1); }
.row-hero { padding: 0; background-color: rgba(255,255,255,0); background-image: none; }
.row-header { background: #F28120; }
.row-section { background: #FFF; }
.row-section-intro { background: #EEE; border-bottom: 1px solid #CCC; }
.row-section-alt { background: #FCFCFC; background: #FFF; border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; }
.row-section-testimonials { position: relative; color: #FFF; background: grey url(assets/images/grey_wash_wall.png); }
.row-section-newsletter { color: #FFF; background: #F28120 url(assets/images/bg-hero-alt.png); }
.row-section-contact { background: #F28120 url(assets/images/bg-hero-alt.png); }
.row-footer { background: #474E5D;  }

.nav { max-width: 1360px; padding: 0 5%; height: auto; margin: 0 auto; }
.hero { max-width: 1360px; padding: 10% 5%; margin: 0 auto; overflow: hidden; clear: both; }
.header { max-width: 1360px; padding: 60px 5%; margin: 0 auto; overflow: hidden; clear: both; }
.section { max-width: 1360px; padding: 60px 5%; margin: 0 auto; overflow: hidden; clear: both; }
.section-narrow { max-width: 960px; }
.footer { max-width: 1360px; padding: 60px 5%; margin: 0 auto; overflow: hidden; clear: both; }


/* NAVIGATION */

.logo { display: block; float: left; width: 88px; height: 30px; } 
.logo img { display: block; }

.menu-toggle { display: none; }
input.menu-checkbox { display: none; }
.menuToggle { display: none; }
.menu { font-size: 0.8rem; font-weight: 600; list-style: none; text-align: right; line-height: 30px; margin: 0; }
.menu li { display: inline-block; padding: 0 0 0 1em; }
.menu a { display: block; text-decoration: none; text-transform: uppercase; color: #F5F5F5; transition: 0.5s; }
.menu a:hover { color: #F28120; }
.menu a.icon { display: inline-block; width: 24px; height: 24px; text-align: center; line-height: 24px; padding: 0; border: 0; margin-right: 0 1em 0 0; }
.menu a.icon:hover { border: 0; }
.menu a.menu-demo { color: #FFF; padding: 0 0.75em; background: #1894fa;}
.icon .fa { margin: 0; }
.icon-facebook { background: #3B5998; }
.icon-twitter { background: #1DA1F2; }
.icon-linkedin { background: #0077B5; }

/* HERO */
.hero-heading { font-size: 2.4em; font-weight: 700; color: #FFF; text-transform: none; margin: 0; }
.hero-summary { max-width: 640px; font-size: 1.2em; font-weight: 400; color: #FFF; margin: 1em 0 0 0; }
.subhero-heading { font-size: 2em; font-weight: 300; color: #FFF; margin: 1em 0 0 0; }
.hero-summary a { margin: 0 15px 10px 15px; }

.header-heading { color: #FFF; text-align: center; margin: 0; }

.subhero { max-width: 960px; text-align: center; margin: 0 auto; }
.subhero img { display: block; margin: 0 auto; }
.subhero-heading { font-size: 2em; font-weight: 300; color: #FFF; text-align: center; margin: 0 0 1em 0; }
.subhero-heading span { color: #F28120; }


/* SECTION */
.section-heading { font-size: 2.0em; font-weight: normal; text-align: center; text-transform: uppercase; margin: 0 0 2rem 0; }
.section-heading span { color: #F28120; }
.section-heading-small { font-size: 1.5em; text-align: left; margin: 0 0 1em 0; }
.section-sub-heading { font-size: 1.5em; margin: 0 0 15px 0; }
.section-cta { text-align: center; margin: 2em 0 0 0; }

.intro-heading { font-size: 1.5em; font-weight: 300; color: #F28120; margin: 0; }
.intro-text { text-align: center; text-transform: uppercase; margin: 0; }

/* GRIDS */
.grid2 { display: grid; grid-column-gap: 5%; grid-row-gap: 2em; grid-template-columns: 1fr 1fr; }
.grid3 { display: grid; grid-column-gap: 5%; grid-row-gap: 2em; grid-template-columns: 1fr 1fr 1fr; }
.grid4 { display: grid; grid-column-gap: 5%; grid-row-gap: 2em; grid-template-columns: 1fr 1fr 1fr 1fr; }

.grid2.modules .grid-item:nth-of-type(3) {
    order: 4;
  }

.grid-icon { text-align: center; margin: 0 0 0.5em 0; }
.grid-icon-small img { width: 64px; }
.grid-thumb img { max-width: 240px; }
.grid-heading { font-size: 1.25em; font-weight: normal; color: #000; text-transform: uppercase; margin: 0 0 0.25em; }
.grid-heading span { color: #F28120; }
.grid-subheading { font-size: 1em; font-weight: normal; color: #F28120; text-align: center; margin: 0 0 1em 0; }
.grid-summary { font-size: 0.925em; color: #555;  text-align: center; margin: 0; }

/* OLD TESTIMONIALS */
.cycle-slideshow { width: 100% }
.cycle-slideshow div { width: 85%; height: auto; margin: 0 7.5%; }
.cycle-button { display: block; width: 40px; height: 40px; line-height: 40px; font-size: 40px; font-weight: bold; text-align: center; cursor: pointer; background: #F28120; }
#prev { position: absolute; top: 50%; left: 0; }
#next { position: absolute; top: 50%; right: 0; }
.quote-text { font-size: 1em; }
.quote-author { font-style: normal; font-weight: 600; text-align: center; margin: 0; }

/* NEW TESTIMONIALS */
.quote { max-width: 960px; margin: 0 auto 3em auto; }
.quote-logo img { width: auto; max-height: 80px; }
.quote-text { font-size: 1rem; }
.quote-author { font-size: 0.9rem; }
.quote-author::before { content: "-  "; }

/* CLIENT LOGOS */
.clients-list { list-style: none; text-align: center; margin: 0; }
.clients-list li { display: inline-block;  padding: 0 1em 1em 1em; }
.clients-list img { width: auto; height: 60px; }

/* CONTACT PHONES */
.phones-list {  display: grid; grid-gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); list-style: none; margin-left: 0 }
.phones-list li { margin: 0; }
.phone-country  { display: block; font-weight: bold; color: #F28120; }
.phone-number {  }

/* BOTTOM */
.social-icons a { display: inline-block; font-size: 30px; color: #474E5D; color: #FFF; }
.social-icons img { height: 45px; opacity: 0.8; }
.social-icons img:hover { opacity: 1; }
.legal { font-size: 0.8em; color: #FFF;  margin: 0 0 0.75em 0; }
.legal a { color: #EEE; text-decoration: none; }
.legal a:hover { color: #F28120; }
.legal a .fa { font-size: 10px; }

/* LINK BUTTONS */
a.link { display: inline-block; font-weight: bold; color: #FFF; text-decoration: none; text-transform: uppercase; margin: 0 0 0.5rem 0; transition: 0.25s; }
.link-pri { background: #1894fa; border: 1px solid #1894fa; }
.link-pri:hover { background: #F28120; border: 1px solid #F28120; }
.link-sec {}
.link-ghost { background: transparent; border: 1px solid #FFF; }
.link-ghost:hover { background: #F28120; border: 1px solid #F28120; }
.link-s { font-size: 10px; padding: 10px 15px; }
.link-m { font-size: 11px; padding: 10px 25px; }
.link-l { font-size: 12px; padding: 15px 30px; }

/* FORMS */
form { }
form p { }
label { display: block; font-weight: 400; cursor: pointer; }
select { display: block; width: 100%; height: 40px; font-size: 16px; border: 1px solid #999; }
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"] { width: 100%; font-size: 16px; height: 40px; text-indent: 5px; border: 1px solid #999;  }
textarea { display: block; width: 100%; height: 160px; font-size: 16px; border: 1px solid #999; }
.offscreen { position: absolute; left: -999em; }
button { height: 48px; font-family: "Montserrat", "Lato", arial, helvetica, sans-serif; font-size: 12px; font-weight: 700; color: #FFF; text-transform: uppercase;
padding: 0 4em; background: #474E5D; margin: 0 0 10px 0; border: 0; border: 2px solid #474E5D; cursor: pointer; transition: 0.5s; }
button:hover { background: #F28120; border: 2px solid #F28120; }

#cdemo { display: none; }

.newsletter { width: auto; max-width: 960px; margin: 0 auto; text-align: center; }
.newsletter label { font-weight: normal; color: #FFF; padding: 0; margin: 0; }
.newsletter label small { font-size: 14px; font-weight: normal; text-transform: none; line-height: 1; }
input[type='email'].nl-email, input[type='text'].nl-name { max-width: 400px; height: 48px; border: 0; margin: 0 10px 10px 0; }
.newsletter button { background: rgb(71,78,93,1); margin: 0 0 10px 0; border: 2px solid rgb(71,78,93,1); }
.newsletter button:hover { background: transparent; border: 2px solid #FFF; }

/* style aweful dotmailer stock code */
.dotmailer { color: #FFF; }
.dotmailer table { width: 100%; max-width: 480px; margin: 0 auto; }
.dotmailer td { padding: 0 0 10px 0; }
.dotmailer td:nth-of-type(odd) { width: 120px; }
.dotmailer input[type=submit] {  display: inline-block; height: 50px; line-height: 50px; font-family: "Lato", arial, helvetica, sans-serif; font-size: 15px; font-weight: 400; color: #FFF; text-transform: uppercase;
padding: 0 1.5em; background: #F28120; border: 2px solid #F28120; background: #4F4A4E; border: 2px solid #4F4A4E; border-radius: 3px; margin: 0 0 10px 0; cursor: pointer; transition: 0.5s; }
.dotmailer input[type=submit]:hover { background: #00A9E7; }

/* rows */
/* .row { padding: 2rem; } */
/* .row-top { padding: 1rem; background: #FFF; } */
/* .row-nav { padding: 0 1rem; background: #FFF; } */
/* .row-search { display: none; padding: 0 1rem 1rem 1rem; } */
/* .row-hero { padding: 4rem 2rem 4rem 2rem; background-color: #F7F7F7; background-repeat: no-repeat; background-position: top center; background-size: cover; } */
/* .row-header { padding: 4rem 2rem 4rem 2rem; background-color: #EFEEEA; background-image: url(/assets/ugc/images/banner_hardware.png); background-repeat: no-repeat; background-position: top center; background-size: cover; } */
/* .row-section { padding: 4rem 2rem; background: #FFFFFF; } */
/* .row-section-light { background: #F0F0F0; border-top: 1px solid #DDEEEE; border-bottom: 1px solid #DDEEEE; }
.row-section-lightest { background: #F7F7F7; }
.row-section-feature { background: #40B649; background: #00AD56; }
.row-section-dark { background-color: #333; }
.row-section-newsletter { color: #FFF; background: #41B64A; background: #318738; }
.row-footer { padding: 4rem 2rem; background: #28281a; } */
.row-consent { padding: 1rem 2rem; z-index: 999; }


.row-consent { position: fixed; right: 0; bottom: 0; left: 0; width: 100%; background: #222; background: rgba(25,25,25,0.8); border-top: 1px solid #FFF; }
.row-consent { animation-name: cookies; animation-duration: 1s; animation-delay: 0.5s; animation-fill-mode: backwards; }
@keyframes cookies {
  from {bottom: -300px;}
  to {bottom: 0;}
}
.consent { max-width: 1256px; margin: 0 auto; overflow: hidden; clear: both; }
.consent-icon { float: left; width: 36px; }
.consent-icon svg { fill: white; }
.consent-form { margin-left: 48px; }
.consent-form input[type='checkbox'] { width: 1rem; height: 1rem; }
.consent-message { font-size: 0.85rem; color: #FFF; margin: 0 0 0.5rem 0; }
.consent-list { font-size: 0.85rem; color: #FFF; line-height: 1; list-style: none; margin: 0; }
.consent-list li { display: inline-block; margin: 0 0.5rem 0.5rem 0; }
.consent-list a { color: #FFF; }

form#consent { max-width: 100%; }
form#consent h4 { font-size: 1.1em; color: #555; margin-top: 10px; }
form#consent ul { list-style: none; margin: 10px 0; }
form#consent ul li { font-size: 1em; color: #555; }

fieldset { border: 0; }

button { height: 48px; font-size: 1rem; font-weight: 700; color: #FFF; padding: 0 2rem; background: #f18120; border: 0; border-radius: 4px; cursor: pointer; }
button[disabled] { opacity: 0.5; }
button:hover,button:focus { color: #FFF; background: #efb530; border: 0 }
button.select-all { background: #19892b; }
button.select-all:hover,button.select-all:focus { color: #FFF; background: #40B649; }
.btn-s { height: 28px; font-size: 0.8rem;  }


/* MISC */
.video { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; margin: 0 0 1.5em 0; }
.video iframe, .video object, .video embed, .video video { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  }
.map { position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; overflow: hidden; margin: 0 0 1.5em 0; }
.map iframe, .map object, .map embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  }


@media screen and (max-width: 1024px) {
.row-nav-home { background-color: rgba(71,78,93,1); }
.row-hero { background: #F28120 url(/assets/images/bg-hero-alt.png); }
.bg-video { display: none; }

.menu-toggle { display: block; float: right; width: 30px; height: 30px; font-size: 24px; font-weight: 500; color: #FFF; line-height: 30px; text-decoration: none; text-transform: uppercase; margin: 0; cursor: pointer; }
@keyframes m1 { 0% {right: -400px; } 100% {right: 0px; } }
input.menu-checkbox { display: none; }
input.menu-checkbox:checked + .menu-toggle + .menu { display: block; animation-name: m1; animation-duration: 0.25s; }

a.menuToggle { display: block; float: right; height: 30px; font-size: 16x; color: #FFF; line-height: 30px; text-decoration: none; text-transform: uppercase; margin: 0; cursor: pointer; }
.menu { display: none; }
.menu { position: absolute; top: 50px; right: 0; left: 0; width: 100%; text-align: left; line-height: 40px; padding: 1em 0; background: rgba(71,78,93,1); margin: 0; clear: both; }
.menu li { display: block; padding: 0 5%; }
.menu a { display: block; }
.menu a:hover {  }
.menu a.icon { margin-right: 1em; }

.grid2 { display: grid; grid-column-gap: 5%; grid-row-gap: 2em; grid-template-columns: 1fr 1fr; }
.grid3 { display: grid; grid-column-gap: 5%; grid-row-gap: 2em; grid-template-columns: 1fr 1fr; }
.grid4 { display: grid; grid-column-gap: 5%; grid-row-gap: 2em; grid-template-columns: 1fr 1fr; }


}


@media screen and (max-width: 640px) {
.hero-heading { font-size: 1.8em; }
.subhero-heading { font-size: 1.6em; }
.section-heading { font-size: 1.5em; }
.clients-list img { height: 40px; }
a.link { display: block; text-align: center; }

.grid2 { display: grid; grid-column-gap: 0; grid-row-gap: 1em; grid-template-columns: 1fr; }
.grid3 { display: grid; grid-column-gap: 0; grid-row-gap: 2em; grid-template-columns: 1fr; }
.grid4 { display: grid; grid-column-gap: 0; grid-row-gap: 2em; grid-template-columns: 1fr; }

}