/* Author: Ron Griffo */

/* Version: Portfolio 1 */

/* Global CSS */

body { margin: 0; padding: 80px 0 0; background: #FFF; line-height: 1.8em; font-size: 16px; font-family: "Roboto", sans-serif; font-weight: 400; font-style: normal; color: #303133; min-height: 100%; }
*, *:before, *:after { box-sizing: border-box; }
.btn, button { border-radius: 0; text-transform: uppercase; -webkit-transition: all 200ms linear; -moz-transition: all 200ms linear; -o-transition: all 200ms linear; -ms-transition: all 200ms linear; transition: all 200ms linear; font-family: "Poppins", sans-serif; font-weight: 500; cursor: pointer; color: #ffffff; background: #41BBB4; font-size: 16px; padding: 16px 24px; font-weight: 600; border: 0 none; letter-spacing: 0.05em; border-radius: 3px; text-align: center; }
.btn:hover, button:hover { background: #4ad4cc; }
.btn i { margin: 0 5px 0 0; }
h1, h2, h3, h4, h5 { font-family: "Roboto", sans-serif; color: #303133; font-weight: bold; }
h1, .intro .subHead { font-size: 57px; }
h2 { font-size: 24px; }
h3 { font-size: 23px; }
h4 { font-size: 22px; }
ul h5 { margin: 10px 0; color: #444; }
ul.process li { margin: 0 0 30px; }
.featureList li { margin: 0 0 30px; }
h5 { font-size: 18px; line-height: 27px; }
a { color: #41BBB4; text-decoration: none; outline: none; }
#main { margin: 0 auto; padding: 0; overflow: hidden; }
.contentWrap { margin: 0 20px 20px 20px; color: #494949; overflow: hidden; }
.about .contentWrap, .work .contentWrap { margin: 40px; }
.contentWrap h3 { color: #494949; text-align: center; font-size: 24px; margin: 20px 0 30px; }
.inner { width: 1200px; margin: 0 auto; }
input, textarea { font-family: 'OpenSans', 'Helvetica Neue', Helvetica, Arial, sans-serif; border-radius: 3px; font-size: 16px; background: #FFF; border: 1px solid #ccc; padding: 15px 20px; width: 100%; margin: 0 0 20px; }
input:focus, textarea:focus { background: #F2F2F2; outline: none; border: 1px solid #F2F2F2; }
input:focus::-webkit-input-placeholder { color: #494949; }
input:focus:-moz-placeholder { color: #494949; }
input:focus::-moz-placeholder { color: #494949; }
input:focus:-ms-input-placeholder { color: #494949; }
.sectionTitle { color: #666; position: relative; text-transform: uppercase; margin: 50px 0 30px; line-height: normal; float: left; width: 100%; }
.sectionTitle span { background: #fff; padding: 0 12px 0 0; position: relative; z-index: 2; font-size: 23px; }
.sectionTitle:after { background: #666; content: ""; height: 1px; position: absolute; right: 0; top: 14px; width: 100%; }
.btn.secondary { font-family: 'OpenSans', sans-serif; border: 2px solid #66CC00; cursor: pointer; color: #ffffff; background: transparent; font-size: 13px; padding: 15px 40px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; border-radius: 33px; -moz-border-radius: 33px; -khtml-border-radius: 33px; -webkit-border-radius: 33px; -webkit-transition: all 200ms linear; -moz-transition: all 200ms linear; -o-transition: all 200ms linear; -ms-transition: all 200ms linear; transition: all 200ms linear; }
.btn.secondary:hover { background-color: #66CC00; color: #FFF; transform: scale(1.07); -ms-transform: scale(1.07); -webkit-transform: scale(1.07); }
#main.contentPage { font-size: 16px; line-height: 1.6em; font-family: "Open Sans", sans-serif; }
.noList { list-style: none; padding: 0; margin: 0; }
.sep { border-bottom: 2px solid #6cd800; border-right: 0; border-left: 0; width: 100px; border-top: 0; margin: 0 auto 40px; }
p.invalid { color: #e46b6b; }
#contact a:hover { color: #4ad4cc; }
.hidden { opacity: 0; }

/* Device Navigation */
.mobNav { display: none; }
.mobNav li { cursor: pointer; list-style: none; background: #2765d8 none repeat scroll 0 0; border-bottom: 1px solid #1a52b2; border-top: 1px solid #2870ed; color: #fff; display: block; width: 100%; }
.navOpen { left: 70%; width: 70%; position: absolute; z-index: 888888; top: 52px; }
#panelToggle { height: auto; }
#panelToggle.navOpen .mobNav { display: block; z-index: 9; background: #1c1c1c; height: 100%; width: 300px; position: fixed; left: 0; top: -30px; }
.navOpen, .panelOpen { left: 300px; }
.mobNav a { color: #FFF; width: 100%; display: block; padding: 20px; border-bottom: 1px solid #2d2d2d; }
.mobNav a:hover { background: #000000; color: #4ad4cc; }
.mobNav a.active { padding: 20px; }

/* Header */
header { height: 100px; top: 0; width: 100%; background: #FFFFFF; position: fixed; z-index: 5; border-bottom: 1px solid #F0F0F0; box-shadow: #0000000a 0px 0px 10px 0px; }
header .fa-bars { color: #494949; font-size: 25px; float: left; margin: 37px 0 0 35px; display: none; cursor: pointer; }
nav { float: right; margin: 35px 0 0; }
nav a { color: #494949; margin: 0 30px 0 0; text-transform: uppercase; font-family: "Poppins", sans-serif; font-weight: 500; letter-spacing: 0.08em; font-size: 16px; }
nav a.active { border-bottom: 3px solid #41BBB4; padding: 0 0 37px 0; }
nav a:hover { color: #41BBB4; }
nav a:last-child { margin-right: 0; }
.logo { width: 30px; margin: 30px 0 0; }
form .logo { margin: 0; }

/* Feature (Logo Callout) */
.feature { position: relative; width: 100%; background: #F2F2F2; float: left; height: auto; margin: 0 0 50px; text-align: center; }
.feature img { width: 11%; margin: 36px 2.29%; opacity: 0.8; }
.badge { background: #66CC00; width: 200px; margin: 0 auto; text-transform: uppercase; font-family: "Raleway", sans-serif; font-weight: bold; font-size: 18px; position: absolute; left: 0; right: 0; padding: 10px; top: -20px; }

/* How It Works */
.feature.how { margin-top: 10px; padding: 65px 0; height: 570px; background: url("../img/clean.png"); }
.feature.how .contentWrap { overflow: visible; }
.feature.how li { box-shadow: 0 8px 48px 0 rgba(0, 0, 0, 0.08); background: #FFF; text-align: center; width: 31.3%; height: 360px; float: left; position: relative; padding: 14% 10px 0; margin: 0 3% 0 0; border-bottom: 4px solid #66CC00; }
.feature.how img { width: 100%; margin: 0; opacity: 1; display: block; margin: 0 auto; margin: 0 auto 15px; position: absolute; top: 0; left: 0; }
.feature.how h3 { font-size: 20px; margin: 10px 0; }
.feature.how li:last-child { margin-right: 0; }

/* Expandable Panels */
.boxExpand .panelVisible, .panel { cursor: pointer; position: relative; background: #F2F2F2; margin: 20px 0 0; }
.boxExpand.noExpand { color: #494949; }
.boxExpand { clear: both; }
.panelVisible strong, .panel { padding: 20px 60px 20px 30px; width: 100%; display: block; margin: 0; }
.panelVisible.active strong { margin: 0; }
.panelVisible.active { background: #66CC00; color: #FFF; }
.panelVisible.active .fa { color: #FFF; }
.boxExpand .panelHidden { display: none; margin: 0; padding: 30px; background: #F2F2F2; }
.boxExpand .fa { color: #66CC00; font-size: 24px; position: absolute; right: 27px; top: 23px; }
.panelVisible.active .fa { -moz-transform: scaleY(-1); -o-transform: scaleY(-1); -webkit-transform: scaleY(-1); transform: scaleY(-1); filter: FlipV; -ms-filter: "FlipV"; }

/* Login Modal/Modals */
#loginModal .tab-link.current { background: #FFF; color: #494949; }
#loginModal .tab-link { background: #f1f1f1; color: #494949; padding: 20px; width: 50%; }
#loginModal .tabWidget li { margin: 0; text-align: center; }
#loginModal label { float: left; padding-top: 4px; }
#loginModal .tab-content { background: #F2F2F2; padding: 24px 30px 25px; }
#loginModal .tab-content.current { background: #FFF; min-height: 360px; }
#loginModal label input { float: left; width: auto; height: 340px; }
#loginModal .submit { float: right; }
#loginModal .loginDesc { text-align: center; font-size: 16px; color: #999; }
#loginModal .loginOptions { width: 100%; clear: both; text-align: center; margin: 70px 0 0; display: block; font-size: 16px; }
#loginModal .input { position: relative; }
#loginModal .input i { position: absolute; left: 0; top: 0; background: #0D57C0; color: #FFF; height: 49px; width: 50px; text-align: center; font-size: 1.125rem; padding: 15px 0 0; }
#loginModal h3 { margin: 0; }
.white-popup h3 { font-size: 24px; }
.white-popup .mfp-close { color: #fff !important; position: absolute; top: -41px; font-size: 1.813rem; right: -13px; z-index: 900000000; background: none; opacity: 1; padding: 0; height: 36px; width: 37px; border-radius: 50%; line-height: 0; }
.white-popup button { width: 100%; }
.white-popup p { line-height: 1.6em; color: #494949; }
.white-popup { z-index: 900000000000000; position: relative; background: #FFF; width: auto; max-width: 420px; margin: 20px auto; }
.white-popup input[type=text], .white-popup input[type="password"], .white-popup input[type="tel"], .white-popup textarea { font-size: 16px; width: 100%; border: 1px solid #ccc; padding: 15px 20px; margin: 0 0 20px; }
.white-popup textarea { margin: 0 0 15px; }

/* Contact Modal */
#contactModal.white-popup { padding: 10px 30px 30px; }
#contact { margin: 200px 0; text-align: center; clear: both; }
#contact p { font-size: 20px; color: #303133; font-size: 50px; font-weight: 600; text-align: center; line-height: 1.4em; }

/* Tab Widget */
.tabWidget { margin: 30px 0 0; padding: 0px; list-style: none; position: inherit; }
.tab-content { display: none; background: #F2F2F2; padding: 30px; }
.tab-link { background: #F2F2F2; color: #494949; padding: 15px; width: 160px; }
.tab-link.current { background: #0D57C0; color: #FFF; }
.tab-content.current { display: inherit; clear: both; margin: 0; float: left; width: 100%; }
.tabWidget li { cursor: pointer; float: left; margin: 0 1px 0 0; }
.tab-content h3, .tab-content h4 { margin-top: 0; }
.tab-content p strong { display: block; }

/* Hero */
.hero { width: 100%; height: 500px; padding: 130px 15px; background-repeat: no-repeat; background-attachment: fixed; background-position: center 80px; position: relative; }
.hero.project .inner { text-align: center; top: 50%; transform: translateY(-50%); position: absolute; left: 0; right: 0; text-shadow: 1px 1px 12px #444; margin: 0 auto; }
.hero.project h1 { font-size: 80px; position: relative; display: block; padding: 0 0 15px; margin: 0 0 25px; }
.hero.project h1:after { content: ""; background: #41bbb5; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; width: 100px; margin: 0 auto; border-radius: 82px; }
.hero.project p { color: #FFF; }
.hero.project { background-blend-mode: overlay; background-attachment: fixed; background-repeat: no-repeat; top: 0; background-size: cover; animation: zoom 30s forwards; -webkit-animation: zoom 30s forwards;}
.hero.project.kiosk { background-image: url(../img/LS-work.jpg); background-position: center -140px; }
.hero.project.viva { background-image: url(../img/viva-work.jpg); background-position: center -140px; }
.hero.project.reporting { background-image: url(../img/reporting-work.jpg); background-position: center -200px; }
.hero.project.select { background-image: url(../img/work-select.jpg); background-position: center -400px; }
.hero.project.onboarding { background-image: url(../img/onboarding-work.jpg); background-position: center -100px; }
.hero.project.brandkit { background-image: url(../img/brandkit-work.jpg); background-position: center -800px; }
.hero.project.marketplace { background-image: url(../img/marketplace-work.jpg); background-position: center -1400px; }
.hero.project.marketplacehp { background-image: url(../img/qfmhp.jpg); background-position: center; }
.hero.project.qfai { background-image: url(../img/qfaihp.jpg); background-position: center center; }
.hero.project.qfhp { background-image: url(../img/qfhp.jpg); background-position: center center; }
.hero.project.dashboard { background-image: url(../img/dash-work.jpg); background-position: center 0px; }
.hero.project.lssite { background-image: url(../img/LS-work-2.jpg); background-position: center -200px; }
.hero.project { height: 650px; background: #444; }
.hero form { width: 700px; position: relative; margin: 0 auto; height: 55px; }
.hero h1 { margin: 0; display: block; font-size: 50px; line-height: 1.2em; /*width: 650px;*/ color: #FFF; }
.hero p { margin: 20px 0 20px; font-size: 20px; }
.hero input { width: 100%; height: 100%; }
.hero.intro { background: none; height: auto; padding-bottom: 60px; }
.hero.intro h1 { color: #303133; }
.hero.intro p { color: #777777; }
.hero.intro i { color: #41BBB4; }
.hero .inner { text-align: left; padding: 0 5px; }
.hero ul { padding: 0 20px; }
.hero .btn { margin: 10px 0 0; display: inline-block; }
.hero form button { border-radius: 0; position: absolute; right: 0; top: 0; height: 100%; font-size: 18px; width: 55px; padding: 0; }
.hero .btn.secondary:first-of-type { margin: 0 15px 10px 0; }
a.btn.learn.secondary.animateTo:hover { background: #70e000; transform: none; -ms-transform: none; -webkit-transform: none; }
a.btn.learn.secondary.animateTo { background: #66CC00; }
a.btn.contact.secondary.open-popup-link { border: 2px solid #FFFFFF; }
a.btn.contact.secondary.open-popup-link:hover { background: none; border: 2px solid #66CC00; transform: none; -ms-transform: none; -webkit-transform: none; }

/* Work */
#main.work .inner { width: 800px; }
.workItem { margin: 40px 0 80px; width: 100%; box-shadow: 40px 45px 0px -5px #f1f1f1; border-radius: 20px; border: 1px solid #f1f1f1; }
.workItem.opp { box-shadow: -40px 45px 0px -5px #f1f1f1; }

/* Split Col */
.split { padding: 0; overflow: hidden; }
.split .half { color: #666; width: 48%; height: auto; float: left; margin: 0 4% 0 0; list-style: none; }
.split .half h3 { margin-top: 0; }
.split li:last-child { margin-right: 0; }
.split li ul { padding: 0; list-style: none; }
.split li ul li { margin: 0 0 20px; width: 100%; padding-bottom: 30px; border-bottom: 3px solid #66CC00; float: left; }
.split img { float: left; margin: 0 15px 0 0; }
.split h4 { font-size: 16px; background: none; color: #666; margin: 0 0 5px; padding: 0; line-height: normal; }
.split p { margin: 5px 0 0; font-weight: normal; line-height: normal; }
.split .half iframe { height: 508px !important; }
.split div:last-child { margin-right: 0; }
.split h4 { display: block; font-size: 20px; }

/* Icon Modules */
.iconModule li { float: left; width: 33.3%; padding: 20px; text-align: center; margin: 0 0 30px; }
.iconModule li img { width: 80px; display: block; margin: 0 auto 20px; }
.iconModule h4 { margin: 0 0 15px; }

/* About */
#main.about { padding: 100px 0 0 0; }
img.bio { width: 100%; border-radius: 50%; clear: both; display: block; margin: 0 auto 40px; text-align: center; }
.aboutMe { width: 75%; float: left; padding: 0 0 0 8%; }
.sideBar { width: 25%; height: 100vh; margin: 0; float: left; }
.sideBar .btn { display: block; }
p.quote { font-family: 'Roboto'; font-weight: 500; font-size: 20px; font-style: italic; line-height: 1.4em; border-left: 3px solid #41BBB4; padding: 0 0 0 30px; margin: 0 0 60px 0; }

/* Footer */
footer { background: #1c1c1c; color: #595959; float: left; width: 100%; clear: both; bottom: 0; position: relative; height: 100px; padding: 35px 0; color: #c4c4c4; }
footer a { color: #c4c4c4; }
footer a:hover { color: #41BBB4; }
footer ul { list-style: none; margin: 0 5% 0 0; padding: 0; float: left; line-height: 1.8em; }
footer ul.copyright li:first-child { font-size: 14px; }
ul.noList.social { float: right; }
footer .social li { float: left; font-size: 18px; margin: 0 30px 10px 0; float: left; }
footer .social li:last-child { margin-right: 0; }
footer .social a:hover { color: #eee; }
footer .logo { margin: 0; }
.help { width: 100%; background: #222222; text-align: center; padding: 50px 15px 60px; }
.help h3 { color: #FFF; font-size: 27px; font-weight: normal; margin: 0 0 45px; line-height: 1.4em; }

/* Masonry Portfolio */
.row { display: flex; flex-wrap: wrap; padding: 0 4px; }
figure.portItem { padding: 0; margin: 0; position: relative; background: #444; margin-top: 40px; }
figure figcaption { opacity: 0; position: absolute; left: 0; top: 0; width: 100%; }
figure:hover figcaption { opacity: .9; top: 50%; transform: translateY(-50%); position: absolute; text-align: center; font-family: 'Roboto'; color: #FFF; }
figure:hover img { opacity: .3; }
figure { font-size: 16px; }
figure strong { display: block; margin: 0 0 10px; font-size: 24px; }
.column { flex: 25%; max-width: 33.3%; padding: 0 20px; }
.column img { vertical-align: middle; width: 100%; cursor: pointer; transition: 0.3s linear; }
.column img:hover { background-color: rgba(255, 255, 255, 0.5); }

/* Media Queries */
@media screen and (max-width:800px) {
	.column { flex: 50%; max-width: 50%; }
}
@keyframes zoom {
	0% { background-size: 100%; }
	100% { background-size: 120%; }
}
@media (max-width:1200px) {
	.hero form { width: 90%; }
	.inner, .contentWrap { width: 100%; }
	.contentWrap, .about .contentWrap, .work .contentWrap { padding: 0; width: 100%; margin: 0; }
	.hero.project h1 { font-size: 40px; padding: 0 0 20px 0; margin: 0 0 20px 0; }
	.hero.project { height: 400px; }
	header .inner { height: 100%; }
	header nav { margin-right: 30px; }
	header .logo { margin-left: 35px; }
	.hero { background-attachment: scroll; background-position: center center; }
	#main.about .inner, #main.work .inner { padding: 60px 30px; }
	footer { padding: 35px; }
}
@media (min-width:1024px) {
	#panelToggle.navOpen .mobNav { display: none; }
	#panelToggle.navOpen { left: 0; width: 100%; }
}
@media (max-width:800px) {
	header nav { display: none; }
	header .fa-bars { display: block; }
	.navOpen .hero { background-size: cover; }
	.workItem, #main.work .inner { width: 100%; }
}
@media (max-width:767px) {
	.split .half, .split .half iframe { width: 100% !important; }
	footer ul.noList { width: 100%; margin: 0 4% 30px 0; text-align: center; }
	footer ul.noList.social { width: 182px; margin: 0 auto; float: none; }
	footer ul.noList.social li a { float: none; margin: 0; }
	footer .social li:last-child a { margin: 0; }
	.feature img { width: 27%; }
	ul.copyright { width: 100%; text-align: center; margin: 0 0 30px; }
	.iconModule li { width: 50%; }
	.hero h1 { width: 100%; }
	.feature.how { height: auto; }
	.feature.how li { width: 100%; height: auto; float: left; padding: 44% 10px 40px; margin: 0 0 30px 0; }
	.sideBar, .sideBar .btn { width: 100%; }
	.sideBar { height: auto; margin: 0 0 40px; }
	img.bio { margin: 0 auto 40px; width: 250px; display: block; }
	.aboutMe { width: 100%; padding: 0; }
	p.quote { margin: 0 0 40px; }
	footer { padding: 35px; height: auto; }
	footer .social li { float: none; display: inline; margin: 0 30px 10px 0; }
}
@media (max-width:680px) {
	#featured li { width: 100%; margin: 0 5% 30px 0; }
	.iconModule li { width: 100%; }
	#loginModal .tabWidget li { font-size: 0.813rem; }
	#loginModal { font-size: 0.813rem; }
	#loginModal  .mfp-close { top: -37px; right: 3px; background: none !important; height: 36px; width: 14px; color: #FFF; opacity: 1; }
	#main.about { padding: 0; }
	.column { width: 100%; flex: 100%; max-width: 100%; }
	form { width: 100%: }
}
}
@media (max-width:480px) {
.hero { height: auto; padding: 50px 15px 60px; }
.hero h1 { font-size: 34px; }
.hero .btn.secondary { width: 100%; padding: 15px 30px; }
}