@charset "UTF-8";
/* CSS Document
Client: Future Systems In
Company: Informatics, Inc
Author: Jeff S
Date: April 2019

*/

/* Variables */
:root {
  --primary: #54439e;
  --secondary: #f0683e;
  --tertiary: #33bcee;
  --dark: #333;
  --bkg: #fff;
  --condensed: 'Montserrat', sans-serif;
  --body: 'Montserrat', sans-serif;
  --shadow: 15px 15px 25px rgba(0,0,0,.2);
}

/* TYPOGRAPHY */
body {
font-family: var(--body); font-weight: 400; font-size: 15px; letter-spacing: -.5px; line-height: 1.5; color: #555; background: var(--bkg); width: 100hw; overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
-moz-font-feature-settings: "liga" on;
color: rgba(0,0,0,.65);
}
h1, h2, h3, h4, h5, .h3-like {font-family: var(--condensed); font-weight: 800; color: var(--primary);}
h1 {font-size: 38px; line-height: 38px;}
h2 {font-size: 28px; letter-spacing: -.5px; position: relative; padding-top: 25px; margin-top: 0;}
h2:before {position: absolute; left: 0; top: 0; width: 50px; height: 4px; background: var(--secondary); content: "";}
h3 {font-size: 21px; font-weight: 700;}
h4 {font-size: 19px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin: 25px 0;}
.preheader {text-transform: uppercase; font-family: var(--body); letter-spacing: 2px; color: var(--secondary); margin: 0 0 5px 0; font-weight: 700; font-size: 12px; display: inline-block; position: relative;}
.preheader:after {width: 70px; height: 2px; background: var(--secondary); margin: -1px 0 0 15px; display: block; content: ""; position: absolute; left: 100%; top: 50%;}
.preheader + h2 {margin: 0 0 15px 0;}

h2[style="text-align: center;"]::before, .cta h2:before, .hgroup h2:before {left: 50%; margin-left: -25px; /* Half of length */}
.hgroup {text-align: center; margin-bottom: 35px;}
h2 + p.lead {margin-bottom: 25px;}
p, ul, ol {margin-bottom: 1.75em;}
strong {color: #333;}
.lead {font-size: 24px; line-height: 32px; font-weight: 300; letter-spacing: -.5px;}
img {max-width: 100%; height: auto;}
.img-right, .img-left {margin: 0 0 25px 0; box-shadow: 10px 10px 25px rgba(0,0,0,.2);}
.content li {margin-bottom: 10px;}
hr {border-color: #ccc; margin: 30px 0; position: relative;}

.fun-list ul, .download-list ul, .link-list ul, .video-list ul {list-style: none; padding: 0; color: #222; font-size: 17px; border-left: none !important;}
.fun-list ul li {position: relative; padding: 0 0 0 25px;}
.fun-list ul li:before {content: "\f00c";font-family: FontAwesome; color: var(--secondary);margin: 0 10px 0 0; position: absolute; left: 0; top: 0;}

.download-list ul, .link-list ul, .video-list ul {margin: 15px 0;}
.download-list ul li, .link-list ul li, .video-list ul li  {margin: 0; position: relative;}
.download-list ul li a, .link-list ul li a, .video-list ul li a {display: block; padding: 10px 10px 10px 30px; border-top: 1px dotted #ccc; position: relative; position: relative; border-left: none;}
.download-list ul a:before {content: "\f15c";font-family: FontAwesome; color: var(--secondary); position: absolute; left: 5px; top: 10px;}
.link-list ul a:before {content:"\f08e"; font-family: FontAwesome; color: var(--secondary); position: absolute; left: 5px; top: 10px;}
.video-list ul a:before {content:"\f03d"; font-family: FontAwesome; color: var(--secondary); position: absolute; left: 5px; top: 10px;}
.link-list ul li a:hover {padding: 10px 10px 10px 30px;}
.img-circle {position: relative; z-index: 5;}
.img-circle img {border-radius: 50%; z-index: 10;}
.img-circle:after {position: absolute; left: 15px; bottom: 15px; width: 75px; height: 75px; content: ""; background: var(--secondary); border-radius: 50%; opacity: .7;}
.img-circle:before {position: absolute; right: 15px; top: 15px; width: 50px; height: 50px; content: ""; background: var(--primary); border-radius: 50%; opacity: .6; z-index: -1;}

/* LINKS */
a {color: var(--primary);}
a:hover {color: var(--secondary);}
a:visited {opacity: .8;}
a.btn-theme, .btn-theme > a {
color: #fff !important; text-decoration: none !important; text-transform: uppercase; font-weight: 800; padding: 15px 20px; display: inline-block; border-radius: 25px; box-shadow: 10px 10px 20px rgba(0,0,0,.2); position: relative; top: 0; left: 0;
background: #f59f5e; /* Old browsers */
background: -moz-linear-gradient(top, #f59f5e 0%, #ef5e38 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #f59f5e 0%,#ef5e38 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #f59f5e 0%,#ef5e38 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f59f5e', endColorstr='#ef5e38',GradientType=0 ); /* IE6-9 */
}
a.btn-theme:hover, .btn-theme > a:hover {text-decoration: none; color: #fff; top: 3px; left: 3px; box-shadow: 2px 2px 20px rgba(0,0,0,.4);}

.btn-text > a, span.btn-text {text-transform: uppercase; font-weight: 900; color: var(--secondary); padding: 5px; letter-spacing: 1px; display: inline-block; font-size: 14px;}
.btn-text > a:after, span.btn-text:after {content: "\f061";font-family: FontAwesome; margin: 0 0 0 5px;}
.btn-text > a:hover:after, .blog-item:hover span.btn-text:after {margin-left: 10px;}
.btn-text > a:hover {background: none; text-decoration: none;}

/* Animate */
#menu a, .btn-theme, button, .ftr-links a, .ccm-page a {
-webkit-transition: all .25s linear;
-moz-transition: all .25s linear;
-o-transition: all .25s linear;
transition: all .25s linear;
}
#menu a, .cta-links i, a.btn-theme, .btn-theme > a {
-webkit-transition: all .1s linear;
-moz-transition: all .1s linear;
-o-transition: all .1s linear;
transition: all .1s linear;
}

.ease, .icon-bar, #menu, .btn-theme:after, .btn-theme a:after, #site-header, .btn-text a:after, .btn-text:after, .grid .person-item img, .team-member *, #nav-main ul {
  -webkit-transition: all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition:         all 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
 }
  
/* --------------
/* GLOBAL */
:root {--spacer: 20px;}
.container {padding: 0; width: 100%; max-width: 1200px; margin: 0 auto; position: relative;}
.skinny-container {max-width: 900px;}

#header.home-hero {margin-bottom: 25px;}
#header.home-hero .text h1 {font-size: 46px; margin: 0 0 15px 0;}
#header.home-hero .text .btn-theme {font-size: 18px;}
#header.home-hero:after {position: absolute; left: 0; bottom: 0; width: 100%; height: 100px; background: url(../img/hero-curve.png) center center no-repeat; content: ""; background-size: over;}

.content section {padding: var(--spacer);}
.two-col-img {background: var(--primary);}
.two-col-img img {margin: -50px 0 15px 0; box-shadow: 10px 10px 20px rgba(0,0,0,.2);}
.two-col-img .text, .two-col-img .text h2 {color: #fff;}
.two-col-img .fun-list ul li {color: #fff;}
.two-col-img .text p a, .two-col-img .text li a {color: var(--secondary); text-decoration: underline;}
.two-col-img .text p a:hover, .two-col-img .text li a:hover {text-decoration: none;}
.two-col-img .text p strong {color: #fff;}
.quotes {background: url(../img/quote.png) right 80px no-repeat;}
.quotes .quote-slide {padding: 25px;}
.quotes .quote-slide p strong {color: var(--primary);}
.quotes .quote-slide img {border-radius: 50%; width: 300px; height: 300px; object-fit: cover;}
.feature-fact h3 {font-size: 46px; font-weight: 800;}

.circle-img-group {position: relative;}
.circle-img-group .small {width: 200px; height: 200px; position: absolute; right: 0; bottom: 0; z-index: 5; overflow: hidden;}
.circle-img-group .small img, .circle-img-group .large img {border-radius: 50%; width: 100%; height: 100%; object-fit: cover;}

.purple-two {background: url(../img/bkg-hero-1.jpg) var(--primary); background-attachment: fixed; background-size: cover; color: #fff; overflow: hidden;}
.purple-two h2 {color: #fff;}
.purple-two .feature-fact { padding: 0 25px; border-left: 1px dotted rgba(255,255,255,.25); margin: 25px 0;}
.purple-two .feature-fact h3 {color: #fff; margin: 0 0 10px 0; text-shadow: 4px 4px 0 rgba(0,0,0,.25); font-size: 56px;}
.purple-two .feature-fact h3 .suffix {font-size: 50%; text-transform: uppercase; display: block; margin: -5px 0 0 0;}
.purple-two .feature-fact p {margin: 0; font-size: 21px; font-weight: 300;}
.purple-two strong {color: #fff;}
.content .cta {background: url(../img/bkg-cta.jpg) center center no-repeat var(--primary); background-size: cover; background-attachment: fixed; color: #fff; text-align: center; padding: 50px;}
.cta p.lead {margin-bottom: 50px;}
.cta h2 {color: #fff;}
.cta a.phone {color: #fff; font-size: 24px; display: block; font-weight: 300; margin: 0 0 20px 0;}
.cta a.phone i {color: var(--secondary);}
.cta span {margin: 0 25px 0 20px; position: relative; background: var(--primary); z-index: 5; opacity: .5; display: none;}
.cta span:before {position: absolute; left: 8px; top: -23px; height: 20px; width: 1px; background: #fff; opacity: .4; content: ""; z-index: -6;}
.cta span:after {position: absolute; left: 8px; bottom: -26px; height: 20px; width: 1px; background: #fff; opacity: .4; content: ""; z-index: -6;}

#header {background: var(--primary);
background: rgb(47,33,131); /* Old browsers */
background: -moz-linear-gradient(top, rgba(47,33,131,1) 0%, rgba(86,60,146,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(47,33,131,1) 0%,rgba(86,60,146,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(47,33,131,1) 0%,rgba(86,60,146,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
padding: 100px 25px 25px 25px; text-align: center; position: relative; overflow: hidden;}
#header img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; mix-blend-mode: overlay;}
#header h1 {color: #fff; margin: 0 0 10px 0;}
#header p {color: #fff; font-weight: 300;}
#header p strong {color: #fff;}
.content .breadcrumb {list-style: none; padding: 0; margin: 0; background: none;}
.content .breadcrumb a {font-size: 14px; color: #fff;}
.content .breadcrumb .nav-selected {color: #ccc; opacity: .8;}

/* Contact */
.fsi-form {margin-bottom: 25px;}
.fsi-form label {font-size: 14px; color: #555;}
.fsi-form label em {color: #999; font-style: normal;}
.fsi-form .row + .row {margin-top: 0;}
.fsi-form .form-control {border-radius: 0; background: #f9f9f9;}

/* Blog */
.box {background: #f4f4f4; padding: 15px; border-top: 5px solid var(--secondary);}
.box h3 {font-size: 21px; margin: 10px 0 15px 0;}
.link-list h5 {color: #999; margin: 50px 0 25px 0; text-transform: uppercase; font-size: 18px;}
.ccm-block-page-list-pages .blog-item:first-of-type {margin-top: 0; }
.blog-item {display: block; overflow: hidden; border-top: 1px dotted #ccc; padding: 25px 0 0 0; margin: 35px 0 0 0 ;}
.blog-item h2 {font-size: 32px;}
.blog-item time {display: block; color: #999; font-weight: 800; text-transform: uppercase; margin: 0 0 10px 0;}
.blog-item .blurb {color: #444;}
.blog-item h3 {font-size: 28px; margin: 10px 0;}
.blog-item:hover {text-decoration: none;}
.blog-item:hover h3, .blog-item:hover h2 {text-decoration: underline;}

/* Team Member */
.team-member {margin: 0 0 25px 0; position: relative; z-index: 5;}
.team-member figure {width: 100%; position: relative; background: #f4f4f4; overflow: hidden;}
.team-member figure img {width: 100%; max-width: none;}
.team-member figure img:last-of-type {position: absolute; left: 0; top: 0; opacity: 0; transition-delay: none;}
.team-member .text {text-align: center; padding: 15px; position: relative; top: 0; border-bottom: 2px solid #fff; background: #fff; background: #f4f4f4;}
.team-member .text h4 {margin: 0; color: var(--primary); font-size: 16px;}
.team-member .text p {margin: 5px 0 0 0; line-height: 18px; font-size: 14px; letter-spacing: .5px;}
.team-member:hover img:last-of-type {transform: scale(1.1,1.1);opacity: 1;}
.team-member:hover .text {border-bottom-color: var(--secondary);}


/* --------------
/* TABLETS */
@media (min-width: 768px) {
:root {--spacer: 50px;}
h1 {font-size: 52px; line-height: .9;}
h2 {font-size: 32px;}

#header.home-hero {height: 75vh; min-height: 500px;}
#header.home-hero .text {height: 100%; display: flex; flex-direction: column; justify-content: center;}
#header.home-hero .text h1 {font-size: 86px; margin-bottom: 25px;}
#header.home-hero .text p.lead {font-size: 28px; line-height: 36px; max-width: 650px; margin: 0 auto 25px auto;}

.two-col-img img {margin-top: -100px;}
.quotes .quote-slide img {margin: 0 0 50px 0;}
.cta span {display: inline-block;}
.cta a.phone {display: inline-block; margin: 0;}

#header {padding: 175px 50px 100px 50px;}
#header h1 {color: #fff;}
#header p {color: #fff; max-width: 750px; line-height: 1.25; margin: 10px auto;}

.grid {display: flex; flex-wrap: wrap; justify-content: space-between;}
.grid .person-item {width: 31%; margin: 1%; background: var(--primary); overflow: hidden;}
.grid .person-item .text {padding: 15px; text-align: center; background: var(--primary); position: relative; z-index: 5;}
.grid .person-item .text h3 {margin: 0 0 5px 0; color: #fff; font-size: 18px;}
.grid .person-item .text p {margin: 0; color: #fff; font-size: 12px; font-style: italic; opacity: .7;}
.grid .person-item:hover img {transform: scale(1.1,1.1);}

.purple-two .col {width: 30%; float: left;}
.purple-two .col:last-of-type {width: 65%; float: right; display: flex; flex-wrap: wrap;}
.purple-two .feature-fact {width: 50%;}

.blog-item h3 {margin: 0 0 10px 0;}
}


/* --------------
/* SMALL DESKTOPS */
@media (min-width: 992px) {
h1 {font-size: 54px;}
h2 {font-size: 36px;}

#hero {background-size: 100% 100%;}
#hero {overflow: hidden;}
#hero .text {width: 50%; float: left; text-align: left; padding-top: 40px;}
#hero .text  p.lead {max-width: none;}
#hero figure {width: 50%; float: right;}

.circle-img-group .large {padding-right: 120px; position: relative; top: -25px;}
.circle-img-group .small {width: 250px; height: 250px;}

.content .two-col-img {padding: 0; position: relative; overflow: hidden;}
.content .hero-cols {padding: 15px 125px 50px 125px;}
.content .hero-cols .col-sm-3 {padding: 0 20px;}

.content .two-col-img img {margin: 0; position: absolute; left: 0; top: 0; width: 50%; height: 100%; object-fit: cover; box-shadow: none;}
.content .two-col-img .text {width: 50%; float: right; padding: var(--spacer) 10% var(--spacer) var(--spacer);}
.content .two-col-img .text-inner {max-width: 520px; float: left;}

.content .two-col-img:nth-of-type(odd) img {left: auto; right: 0;}
.content .two-col-img:nth-of-type(odd) .text {float: left;}
.content .two-col-img:nth-of-type(odd) .text-inner {float: right;}

.quotes .quote-slide p {font-size: 18px;}
.quotes .quote-slide p.lead {font-size: 32px; line-height: 40px; padding: 25px 12% 0 0;}

#header {padding: 250px 50px 125px 50px;}
#header:before {position: absolute; left: var(--spacer); right: var(--spacer); top: 150px; height: 1px; background: #fff; content: ""; opacity: .2; z-index: 5;}
#header h1 {color: #fff; font-size: 62px; margin-bottom: 25px;}
#header p {color: #fff; font-size: 28px;}

.text-left {padding-right: 35px; position: relative;}
.text-left:after {position: absolute; right: 25px; top: 0; bottom: -50px; content: ""; width: 1px; border-right: 1px dotted #ccc;}

.grid .person-item {width: 23%;}


.quotes {background-position: 75% 80px;}
.quotes .quote-slide img {margin: 0 0 25px 0;}

/* Landing Page */
.marketing-landing #header {padding: 200px 50px 50px 50px;}
.marketing-landing #header h1 {font-size: 48px;}
.marketing-landing #header p.lead {font-size: 24px; max-width: none;}
.marketing-landing .fsi-form {background: #f4f4f4; padding: 25px; border: 1px solid #ccc; border-top: 5px solid var(--secondary);}
.marketing-landing h2 {margin-top: 0;}

.form-depth {background: #fff; padding: 25px; margin-top: -125px; box-shadow: 10px 10px 20px rgba(0,0,0,.1); border-top: 5px solid var(--secondary);}
.form-depth .btn-theme {display: block; text-align: center;}
}


/* LARGE DESKTOPS */
@media (min-width: 1200px) {
:root {--spacer: 75px;}
.grid .person-item {width: 18%;}
aside.col-sm-3 {padding-left: 35px;}

#header.home-hero:after {background-size: 100% 100px;}

}

/* MEGA DESKTOPS */
@media (min-width: 1400px) {
.two-col-img .text {padding: 100px var(--spacer);}
#header:before {left: auto; right: auto; width: 1200px; left: 50%; margin-left: -600px;}
}

/* TALL AND WIDE DESKTOPS */
@media (min-height: 900px) and (min-width: 1200px) {

}

/* ----------------------*/
/* -- MENU AND HEADER -- */
/* ----------------------*/
/* ONLY MOBILE */
@media (max-width: 992px) {
#site-header.scroll {background: var(--primary);}
#btn-menu {position: relative; z-index: 200; border: 0; padding: 5px 0 0 0; background: none; color: #333; display: flex; flex-direction: column; justify-content: center; font-size: 12px; float: right; color: #fff;}
#btn-menu .icon-bar {display: block; height: 4px; background: var(--secondary); width: 100%; margin: 0 0 5px 0; float: right;}
#btn-menu .icon-bar:nth-of-type(2) {width: 75%;}
#btn-menu:hover .icon-bar:nth-of-type(2) {width: 100%;}
#btn-menu.open .icon-bar {color: #fff;}

#menu {background: var(--primary); padding: 75px 25px 25px 25px; position: fixed; top: 15px; bottom: 0; left: 0; width: 100vw; visibility: hidden; opacity: 0; z-index: 100; overflow-y: scroll;}
#menu.open {opacity: 1; top: 0; visibility: visible;}
#menu #nav-mini ul {display: flex; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.25); padding-top: 25px; margin: 25px 0;}
#menu #nav-mini li {width: 48%; margin: 1%;}
#menu #nav-mini li a {background: rgba(0,0,0,.2); padding: 10px 10px; display: block; text-align: center;}
#hdr-tools {margin-top: 25px;border-top: 1px solid rgba(255,255,255,.25); padding-top: 25px; margin-top: 25px;}
#hdr-tools > * {display: block; text-align: center;}
}

/* HEADER */
#site-header {padding: var(--spacer); position: relative; position: fixed; top: 0; left: 0; width: 100%; z-index: 150;}
#logo {display: none;}
#logo-sm {position: relative; z-index: 150; max-width: 55px; display: inline-block;}
#menu ul {list-style: none; padding: 0; margin: 0;}
#menu li {margin: 0;}
#menu ul a {display: block; color: #fff; font-size: 18px; padding: 10px;}
#menu ul a:hover {color: var(--secondary); text-decoration: none; background: none;}
#menu ul > li.nav-path-selected > a {color: var(--secondary); opacity: 1;}
#menu ul ul {margin: 5px 0 5px 10px; border-left: 1px solid rgba(255,255,255,.25);}
#menu ul ul a {font-size: 15px; padding: 5px 5px 5px 15px; opacity: .8;}
#menu ul ul a:hover {opacity: 1;}
#menu #nav-mini a {font-size: 13px; display: inline-block; padding: 5px;}
#menu #nav-mini a:hover {color: #fff;}
#hdr-tools .phone {color: #fff; font-size: 24px; font-weight: 300; margin: 0 0 15px 0;}
#hdr-tools .phone i {color: var(--secondary); position: relative; top: 3px;}

/* FOOTER */
.copy {background: #222; background-size: cover; color: rgba(255,255,255,.5); padding: 25px; text-align: center; margin: 0; font-size: 13px;}
.copy a {color: rgba(255,255,255,.5);}
.social {display: block; margin: 35px 0 15px 0;}
.social a {display: inline-block; width: 45px; height: 45px; font-size: 22px; background: var(--secondary); color: #fff; text-align: center; margin: 0 5px 0 0; opacity: .9; line-height: 45px; text-align: center; padding: 0; border-radius: 50%;}
.social a i {color: #fff; margin: 0}
.social a:hover {background: var(--primary); opacity: 1; transform: scale(1.1,1.1);}
.footer ul, .link-list ul {list-style: none; padding: 0 0 0 5px; border-left: 1px solid #eee;}
.footer ul a, .link-list ul a {display: block; padding: 2px 10px;}
.footer ul a:hover, .link-list ul a:hover {padding: 2px 5px 2px 15px;}
.footer p strong {width: 60px; display: inline-block;}
.ftr-enews input {margin: 0 0 15px 0; height: 50px;}

@media (min-width: 768px) {
/* Header & Nav */
#site-header.scroll {padding: 15px var(--spacer); background: rgba(71,55,143,.9);}
#menu {padding: 100px;}
.footer .grid {display: flex; justify-content: flex-start; flex-wrap: wrap;}
.footer .grid .col {padding: 15px; flex: 1;}

}

@media (min-width: 992px) {
#site-header {padding: 75px var(--spacer);}
#site-header.scroll {box-shadow: 0 10px 15px rgba(0,0,0,.2);}
#site-header.scroll #logo {opacity: 0;}
#site-header.scroll #logo-sm {opacity: 1; transition-delay: .2s;}
#btn-menu {display: none;}
#logo-sm {opacity: 0;}
#logo {display: inline-block; position: absolute; left: 0; top: -45px; width: 100px;}
#site-header.scroll #logo {height: 92px; overflow: hidden; top: -25px;}
#menu {padding: 0; float: right; display: flex;}
#menu ul {display: flex;}
#menu #nav-main {padding-right: 10px; margin-right: 10px; position: relative;}
#menu #nav-main:after {width: 1px; height: 30px; background: #fff; right: 0; top: 10px; position: absolute; content: ""; opacity: .5;}
#menu #nav-main a {font-size: 12px; letter-spacing: 0; text-transform: uppercase; font-weight: 700; opacity: 1; padding: 17px 10px;}
#menu #nav-mini {position: absolute; right: 0; top: -45px;}
#menu #hdr-tools {float: right; }

#menu #nav-main li {position: relative;}
#menu #nav-main ul {position: absolute; right: 50%; margin-right: -125px; top: 105%; width: 250px; padding: 15px; border: 0; display: block; background: #fff; box-shadow: 5px 5px 10px rgba(0,0,0,.1); border-top: 5px solid var(--secondary); opacity: 0; visibility: hidden;}
#menu #nav-main ul a {text-transform: none; font-weight: 400; padding: 10px; font-size: 14px; color: #555;}
#menu #nav-main ul a:hover {background: #fff; padding: 10px 5px 10px 15px;}
#menu #nav-main li:hover ul {opacity: 1; visibility: visible; top: 90%;}
#menu #nav-main li:hover > a {color: var(--secondary);}

#hdr-tools .phone {font-size: 19px; margin: 0 10px 0 0; padding: 10px 0; display: inline-block; float: left;}
#hdr-tools .btn-theme {font-size: 12px;}
#menu #nav-mini a {color: rgba(255,255,255,.75);}
#menu #nav-mini a:before {width: 5px; height: 5px; border-radius: 50%; background: var(--secondary); float: left; display: block; content: ""; position: relative; top: 7px; margin-right: 5px;}
.footer .grid {display: flex; flex-wrap: no-wrap; margin: 0 auto;}
.footer .grid .col {padding: 15px;}
.footer h3 {margin: 0 0 25px 0;}
}

@media (min-width: 1300px) {
#logo {width: 125px; top: -55px;}
#site-header.scroll #logo {height: 99px; overflow: hidden; top: -28px;}
#menu #nav-mini a {}
#menu #nav-main:after {top: 12px;}
#menu #nav-main a {font-size:  14px; padding: 17px 12px;}
#hdr-tools .btn-theme {font-size: 14px;}
#hdr-tools .phone {font-size: 24px; margin: 0 12px;}

}

.ccm-block-share-this-page ul.list-inline li {
	    padding: 8px 15px;
    background: #ccc;
}
@media (max-width: 375px){
 .g-recaptcha {transform:scale(0.69);-webkit-transform:scale(0.69);transform-origin:0 0;-webkit-transform-origin:0 0;}
}

[name="formidable_form"] {
    height: auto !important;
}
.formidable_row.step {
    position: relative !important;
}

/* Container and Form Styling */
.formidable .step{
  margin: 0 auto;
  background-color: #ffffff;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
/* Progress Bar Styling */
#formidable_steps {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin-bottom: 20px;
  overflow: hidden;
  flex-wrap: wrap; /* Allows wrapping to prevent overflow */
}

#formidable_steps li {
  list-style: none;
  flex: 1;
  text-align: center;
  font-weight: 600;
  color: #333;
  font-size: 13px;
  padding: 10px;
  border-radius: 5px;
  white-space: nowrap; /* Prevents wrapping */
}

#formidable_steps li.active {
  background-color: #007bff;
  color: #fff;
}

#formidable_steps li:not(.active) {
  background-color: #f3f3f3;
  color: #555;
}

/* Input Fields Styling */
.formidable .formidable_row {
  background-color: #f9f9f9; /* Lighter background only for form fields section */
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 15px;
}

.formidable input[type="text"],
.formidable input[type="email"],
.formidable input[type="tel"],
.formidable .form-control {
  width: 100%;
  padding: 10px;
  margin: 5px 0;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 14px;
  color: #333;
  background-color: #ffffff;
}

.formidable .firstname,
.formidable .lastname{
  margin: 5px 15px !important;
    width: 95% !important;
} 

.formidable label {
  font-weight: bold;
  font-size: 14px;
  color: #333;
  margin-left: 5px;
}

.formidable input::placeholder {
  color: #999;
}

/* Button Styling */
.formidable input[type="submit"],
.formidable .next {
  background-color: #28a745;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 15px;
}

.formidable input[type="submit"]:hover,
.formidable .next:hover {
  background-color: #218838;
}

/* Previous Button */
.formidable .previous {
  background-color: #6c757d;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 15px;
}

.formidable .previous:hover {
  background-color: #5a6268;
}

/* Error Message Styling */
.text-danger.error {
  color: #dc3545;
  font-size: 12px;
  margin-top: 5px;
}

/* Responsive Adjustments */
@media (max-width: 600px) {
  .formidable {
      padding: 15px;
  }

  #formidable_steps li {
      font-size: 11px;
      padding: 8px;
  }
}

/* Container for steps */
.formidable .has-steps .steps ul {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin: 0 auto;
  list-style: none;
  width: 100%;
  max-width: 600px; /* Adjust this to fit your specific container width */
  box-sizing: border-box;
}

/* Step item styling */
.formidable .has-steps .steps ul li {
  flex: 1;
  text-align: center;
  font-size: 12px; /* Smaller font size to fit */
  font-weight: bold;
  color: #333;
  padding: 5px;
  line-height: 1.2;
  overflow-wrap: break-word;
  white-space: normal;
}

/* Step number styling */
.formidable .has-steps .steps ul li a {
  display: inline-block;
  color: #333;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.2;
  white-space: break-spaces; /* Ensures text breaks within the box */
}

/* Active step style */
.formidable .has-steps .steps ul li.active a {
  color: #007bff;
  font-weight: bold;
}

/* Number and text styling to ensure consistent spacing */
.formidable .has-steps .steps ul li a span {
  display: block;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 4px;
}

.formidable .has-steps .steps ul > li.current{
  background-color: var(--secondary) !important;
  border-radius: 5px !important;
}

.formidable .has-steps .steps ul > li.current a{
  color: white !important;
}
.formidable .captcha-input{
  margin-left: 17px;
}
.formidable .mt-2{
  margin-left: 5px;
}