/* ------ Color Variables ------- */
:root { 
  --colorPrimary: 0,179,239;
  --colorSecondary: 1,85,165;
  --colorTertiary: 76,36,147;
  --colorAncillary: 214,88,4;
  --colorBlack: 68,68,68;
  --colorDkGray: 52,58,64;
  --colorLtGray: 239,244,249;
  --colorLtBlue: 244,249,254;
  --alpha: .6;
  --primaryFont: 'Montserrat', sans-serif;
  --secondaryFont: 'Open Sans', sans-serif;
}

.bg-primary     { background-color: rgb(var(--colorPrimary))!important; }
.bg-secondary   { background-color: rgb(var(--colorSecondary))!important; }
.bg-tertiary    { background-color: rgb(var(--colorTertiary))!important; }
.bg-ancillary   { background-color: rgb(var(--colorAncillary))!important; }
.bg-black       { background-color: rgb(var(--colorBlack))!important; }
.bg-dkgray      { background-color: rgb(var(--colorDkGray))!important; }
.bg-ltgray      { background-color: rgb(var(--colorLtGray))!important; }
.bg-ltblue      { background-color: rgb(var(--colorLtBlue))!important; }
.bg-transparnt  { background-color: rgba(0,0,0,0); }
.bg-repeat      { background: url('./img/repeating-bg.png') repeat top rgba(255,255,255,.3); background-blend-mode: screen; }

.text-primary   { color: rgb(var(--colorPrimary))!important; }
.text-secondary { color: rgb(var(--colorSecondary))!important; }
.text-tertiary  { color: rgb(var(--colorTertiary))!important; }
.text-ancillary { color: rgb(var(--colorAncillary))!important; }
.text-black     { color: rgb(var(--colorBlack))!important; }
.text-dkgray    { color: rgb(var(--colorDkGray))!important; }
.text-ltgray    { color: rgb(var(--colorLtGray))!important; }
.text-ltblue    { color: rgb(var(--colorLtBlue))!important; }
.text-muted     { color: inherit!important; opacity: .5; }

.fill-primary, .bg-primary .section-transition      { fill: rgb(var(--colorPrimary))!important; }
.fill-secondary, .bg-secondary .section-transition  { fill: rgb(var(--colorSecondary))!important; }
.fill-tertiary, .bg-tertiary .section-transition    { fill: rgb(var(--colorTertiary))!important; }
.fill-ancillary, .bg-ancillary .section-transition  { fill: rgb(var(--colorAncillary))!important; }
.fill-ltgray, .bg-ltgray .section-transition        { fill: rgb(var(--colorLtBlue))!important; }
.fill-ltblue, .bg-ltblue .section-transition        { fill: rgb(var(--colorLtBlue))!important; }
.fill-white, .bg-white .section-transition          { fill: #FFF!important; }

.font-primary     { font-family: var(--primaryFont)!important; }
.font-secondary   { font-family: var(--secondaryFont)!important; }

/* ------ Basic Styling ------- */
* 				      { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; /* outline: 1px solid red;*/ }
html, body  	  { background: #FFF; margin: 0; padding: 0; position: relative; }
body       		  { background: #FFF; color: rgb(var(--colorDkGray)); font-family: var(--secondaryFont); font-weight: 400; font-size: 16px; line-height: 1.5; min-height: 100vh; counter-reset: section; }                

.hide-text      { text-indent: 100%; white-space: nowrap; overflow: hidden; }
.caps,
.uppercase      { text-transform: uppercase; }
.captialize     { text-transform: capitalize; }
.lowercase      { text-transform: lowercase; }

a    				    { color: rgb(var(--colorPrimary)); cursor: pointer; text-decoration: none !important; }
a:hover,
a:active 		    { color: rgb(var(--colorSecondary)); cursor: pointer; text-decoration: none !important; }

textarea:focus,
input:focus     { outline: none; }

h1, h2, h3,
h4, h5, h6      { color: rgb(var(--colorPrimary)); font-family: var(--primaryFont); font-style: normal; font-weight: 900; line-height: 1.2; text-align: center; }
#single-post-content h2,
#single-post-content h3,
#single-post-content h4,
#single-post-content h5,
#single-post-content h6  { color: rgb(var(--colorPrimary)); text-align: left; }
h1              { font-size: 25px; }
h2              { font-size: 23px; }
h3              { font-size: 20px; }
h4              { font-size: 18px; }
h5              { font-size: 16px; }
h6              { font-size: 16px; }
.h1-style       { font-size: 25px !important; }
.h2-style       { font-size: 23px !important; }
.h3-style       { font-size: 20px !important; }
.h4-style       { font-size: 18px !important; }
.h5-style       { font-size: 16px !important; }
.h6-style       { font-size: 15px !important; }
p               { font-size: 15px; margin-bottom: 1.250rem; }
.hp-lead        { font-weight: 600; }

h1.smaller      { font-size: 23px; }
h2.huge         { font-size: 40px }

.normal          { font-weight: 400; }
.bold, b, strong { font-weight: 700; }
.bolder          { font-weight: 900; }

.sup             { vertical-align: top; }

.min-vh-100      { min-height: 100vh; }
.lh-1            { line-height: .8 }

/* ------ Bootstrap Overrides ------- */
.close          { color: #000; font-size: 2.5rem; font-weight: 700; }
.close:active,
.close:focus    { outline: none; }

.shadow-none    { box-shadow: none!important; }
.shadow-sm-blue { box-shadow: 5px 5px 0 rgba(32,13,152,.17)!important; }
.shadow-blue    { box-shadow: 10px 10px 0 rgba(32,13,152,.17)!important; }
.shadow-black   { box-shadow: 10px 10px 0 rgba(0,0,0,.16)!important; }

.border-lg      { border: 2px solid rgb(var(--colorPrimary)); }
.border-primary { border: 2px solid; border-color:  rgb(var(--colorPrimary))!important; }
.border-secondary { border: 2px solid; border-color:  rgb(var(--colorSecondary))!important; }
.border-tertiary  { border: 2px solid; border-color: rgb(var(--colorTertiary))!important; }
.border-white   { border: 2px solid #FFF; }
.border-top     { border-top: 2px solid #FFF!important; }
.rounded        { border-radius: 27px!important; }
.rounded-sm     { border-radius: 10px!important; }
.rounded-bottom { border-top-left-radius: 0!important; border-top-right-radius: 0!important; border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; }
.rounded-top    { border-top-left-radius: inherit; border-top-right-radius: inherit; border-bottom-left-radius: 0!important; border-bottom-right-radius: 0!important; }
.rounded-left   { border-top-left-radius: inherit; border-top-right-radius: 0!important; border-bottom-left-radius: inherit; border-bottom-right-radius: 0!important; }
.rounded-right  { border-top-left-radius: 0!important; border-top-right-radius: inherit; border-bottom-left-radius: 0!important; border-bottom-right-radius: inherit; }

.flex-fill      { flex:1 1 auto; }

.btn            { font-size: 20px; }
.btn-huge       { font-size: 22px; line-height: 1.25; }
.btn-lg         { font-size: 12px; height: 73px; }
.btn-icon-wrapper { margin-right: 10px; width: 70px; }
.btn-white      { background: #FFF; }
button:focus    { outline: 0; }
#downarrow      { width: 15px; }

a { cursor: pointer; text-decoration: none; transition: all 0.3s ease; }
a:hover { text-decoration: none; }
a.hover-primary:hover, button.hover-primary:hover { color: rgb(var(--colorPrimary))!important; }
a.hover-secondary:hover, button.hover-secondary:hover { color: rgb(var(--colorSecondary))!important; }
a.hover-tertiary:hover, button.hover-tertiary:hover { color: rgb(var(--colorTertiary))!important; }
a svg g { transition: all 0.3s ease; }
a:hover svg g { opacity: 1; transition: all 0.3s ease; }

a.bg-secondary:focus, a.bg-secondary:hover, button.bg-secondary:focus, button.bg-secondary:hover { background-color: rgb(var(--colorSecondary))!important; }
a.text-secondary:focus, a.text-secondary:hover { color: rgb(var(--colorSecondary))!important; }

.hover-up { transition: .3s ease all; }
.hover-up:hover { -webkit-transform: translateY(-20px); transform: translateY(-20px); transition: .3s ease all; }
#saving-steps .hover-up, #additional-features .hover-up, .icon-row .hover-up { min-height: 130px; }

ul.two-column { column-count: 2; -moz-column-count: 2; -webkit-column-count: 2; column-gap: 40px; -moz-column-gap: 40px; -webkit-column-gap: 40px; }
ul.three-column { column-count: 3; -moz-column-count: 3; -webkit-column-count: 3; column-gap: 40px; -moz-column-gap: 40px; -webkit-column-gap: 40px; }
ul.four-column { column-count: 4; -moz-column-count: 4; -webkit-column-count: 4; column-gap: 40px; -moz-column-gap: 40px; -webkit-column-gap: 40px; }
ul.five-column { column-count: 5; -moz-column-count: 5; -webkit-column-count: 5; column-gap: 40px; -moz-column-gap: 40px; -webkit-column-gap: 40px; }

/* ------- Icon Styling ------- */
.svg-wrapper { width: 60px; }
#partners svg { max-height: 100px; }

/* ------- Header / Navigation ------- */
#header { transition: all .5s ease; top: 0; }
#header.hide-nav { opacity: 0; top: -90px; }
#logo { max-width: 200px; width: 100%; }
.bg-on-scroll { background: rgba(0,0,0,0); }
.navbar { box-shadow: 0px 3px 5px rgba(0,0,0,0.1); }
.navbar-collapse { font-size: 24px; text-align: right; }
.navbar-expand-lg .navbar-nav .nav-link { color: rgb(var(--colorPrimary )); font-weight: bold; }
.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover { color: rgb(var(--colorSecondary )); }
.navbar-dark .navbar-nav .active>.nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show>.nav-link { color: rgb(var(--colorSecondary )); }
.navbar-dark .navbar-toggler { border: none; outline: none; position: absolute; right: -5px; top: 10px; }
.navbar-toggler-icon { height: 18px; width: 25px; }
.navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.307' height='22.863'%3E%3Cdefs%3E%3Cstyle%3E .menu-1%7Bfill:none; stroke:%2300b0ef; stroke-linecap:round; stroke-width:5px%7D %3C/style%3E%3C/defs%3E%3Cg id='Group_3' data-name='Group 3' transform='translate(2.5 2.5)'%3E%3Cpath id='Line_1' data-name='Line 1' class='menu-1' d='M0 0h25.307'/%3E%3Cpath id='Line_2' data-name='Line 2' class='menu-1' transform='translate(0 8.932)' d='M0 0h25.307'/%3E%3Cpath id='Line_3' data-name='Line 3' class='menu-1' transform='translate(0 17.863)' d='M0 0h25.307'/%3E%3C/g%3E%3C/svg%3E"); }
.dropdown-menu { background: none; border: none; text-align: right; }
.dropdown-item { color: #FFF; padding-right: 0; }

.nav-link img { transition: all .3s ease; }
.nav-link.color-transparent img { opacity: 0; transition: all .3s ease; }

#hero { background: url('./img/hp-bg-mobile.jpg') no-repeat center; background-size: cover; min-height: 100vh; }
#hero-short { padding: 5% 0; }
.scroll-more { bottom: 85px; }

/* ------- Backgrounds ------- */
.bg-featured { background-size: cover; background-position: center; }
.section-transition { left: 0; position: absolute; top: 0; }

/* ------- Content Styling ------- */
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(var(--colorPrimary),.15); }
.mark-wrapper { width: 30px; }

/* ------- Form Styling ------ */
input.form-control { border: none; border-bottom: 2px solid rgba(var(--colorPrimary)); border-radius: 0; }
.btn-submit {
  background: rgb(var(--colorSecondary ));
  color: #FFF;
  display: inline-block;
  font-family: var(--primaryFont);
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.75em 3em;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: .25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

/* ------- Footer Styling ------- */
#footer .logo-footer { max-width: 260px; }
#footer p { color: rgba(255,255,255,var(--alpha)); font-size: 13px; }

.menu-footer-menu-container ul { list-style: none; padding-left: 0; }
.menu-footer-menu-container ul li a { color: #FFF; display: block; font-size: 20px; font-weight: bold; margin-bottom: 10px; }
.menu-footer-menu-container ul li ul { list-style: none; padding-left: 0; margin-bottom: 10px; }
.menu-footer-menu-container ul li li a { color: rgba(255,255,255,.6); font-size: 15px; font-weight: normal; margin-bottom: 5px; }
.menu-footer-menu-container .menu-item-search { display: none; }

#footer .social-links svg { width: 24px; }

#footer-sticky h4 { font-size: 15px; }
#callModal .modal-content { background: url(././img/bg-modal.jpg) no-repeat scroll top center rgb(0,0,0,0); background-size: cover; }
#callModal .xmark-1, #callModal .xmark-2 { stroke: rgb(var(--colorSecondary)); stroke-width: 3px; }
#formModal .modal-content { background: url(././img/bg-modal-form.jpg) no-repeat scroll top center rgb(0,0,0,0); background-size: cover; }
#formModal .xmark-1, #formModal .xmark-2 { stroke: rgb(var(--colorSecondary)); stroke-width: 3px; }
@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
  #callModal.modal, #formModal.modal {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.6);
  }
}

/* ------- Small devices ------- */
@media (min-width: 576px) {}

/* ------- Medium devices ------- */
@media (min-width: 768px) {
  #logo { max-width: 300px; }
  .hp-headline { font-size: 60px; }
  .hp-lead { font-size: 23px; padding: 0 1rem; }
}

/* ------- Large devices ------- */
@media (min-width: 992px) {
  body            { line-height: 1.75; }
  h1              { font-size: 55px; }
  h2              { font-size: 37px; }
  h3              { font-size: 30px; }
  h4              { font-size: 27px; }
  h5              { font-size: 24px; }
  h6              { font-size: 22px; }
  .h1-style       { font-size: 55px !important; }
  .h2-style       { font-size: 50px !important; }
  .h3-style       { font-size: 30px !important; }
  .h4-style       { font-size: 27px !important; }
  .h5-style       { font-size: 24px !important; }
  .h6-style       { font-size: 22px !important; }
  p               { font-size: 20px; margin-bottom: 1.250rem; }
  p.content       { font-size: 16px; margin-bottom: 1.20rem; }
  .small          { font-size: 15px; }
  
  strong.large    { font-size: 20px; }
  .btn-huge { font-size: 30px; }

  #hero { background-position: top; }

  .navbar-expand-lg .navbar-nav .nav-link { font-size: 20px; padding: 1rem 0; }
  .navbar-expand-lg .navbar-nav .nav-item { padding-left: 16px; padding-right: 16px; }
  .navbar-expand-lg .navbar-nav .nav-item:first-of-type { padding-left: 0; }
  .navbar-expand-lg .navbar-nav .nav-item:last-of-type { padding-right: 0; }
  .dropdown-item { color: rgb(var(--colorSecondary)); padding-right: inherit; }
  .dropdown-item.active, .dropdown-item:active { background-color: rgb(var(--colorPrimary)); }
  .navbar-expand-lg .navbar-nav .dropdown-menu { left: -70px; margin-top:0; padding: 30px 0 20px; }
  .navbar-expand-lg .navbar-nav .search-icon { width: 20px; }
  .dropdown-toggle::after { display: none; }
  
  .dropdown-menu { background: #FFF; border-top-left-radius: 0!important; border-top-right-radius: 0!important; border-bottom-left-radius: 27px; border-bottom-right-radius: 27px; display: none; text-align: left; }
  .dropdown-menu:before { border-bottom: 20px solid #FFF; border-left: 20px solid transparent; border-right: 20px solid transparent; content: ''; height: 0; left: 97px; position: absolute; top: -20px; width: 0; }
  .dropdown:hover>.dropdown-menu { display: block; }
  .dropdown-item { color: rgb(var(--colorSecondary)); }
  .navbar-expand-lg .navbar-nav .nav-item ul .nav-item { padding-bottom: 10px; padding-left: 46px; padding-right: 46px; padding-top: 10px; font-size: 20px; }

  #footer p.about-copy { font-size: 15px; }
  .menu-footer-menu-container ul { list-style: none; padding-left: 0; }
  .menu-footer-menu-container ul li a { color: #FFF; display: block; font-size: 30px; font-weight: bold; margin-bottom: 20px; }
  .menu-footer-menu-container ul li ul { list-style: none; padding-left: 0; margin-bottom: 50px; }
  .menu-footer-menu-container ul li li a { color: rgba(255,255,255,.6); font-size: 20px; font-weight: normal; margin-bottom: 10px; }
  #footer .copyright { font-size: 13px; }
  #footer p.social-links svg { width: initial; }

  .modal-dialog { max-width: 778px; margin: 1.75rem auto; }
}

/* ------ Extra large ------- */
@media (min-width: 1200px) {
  #hero { background: url('./img/hp-bg3.jpg') no-repeat 30% top; background-size: cover; min-height: 100vh; }
  h1              { font-size: 45px; }
  h2              { font-size: 35px; }
  h3              { font-size: 30px; }
  h4              { font-size: 27px; }
  h5              { font-size: 24px; }
  h6              { font-size: 22px; }
  .h1-style       { font-size: 50px !important; }
  .h2-style       { font-size: 46px !important; }
  .h3-style       { font-size: 30px !important; }
  .h4-style       { font-size: 27px !important; }
  .h5-style       { font-size: 24px !important; }
  .h6-style       { font-size: 22px !important; }

  .navbar-expand-lg .navbar-nav .nav-link { font-size: 16px; }
  .navbar-expand-lg .navbar-nav .nav-item { padding-left: 16px; padding-right: 16px; }

  .hp-headline { font-size: 47px; }
  .hp-lead { font-size: 20px; padding: 0 1rem; }
  
  #footer-sticky h4 { font-size: 23px; }
  #footer-sticky .svg-wrapper { height: 28px; width: 28px; }
  #footer-sticky .svg-wrapper svg.icon-phone { height: 28px; width: 28px; vertical-align: sub; }
}
/* ------ Extra large ------- */
@media (min-width: 1700px) {
  #hero { background-position: left top; }
  .d-xxl-none     { display: none; }
  .d-xxl-block    { display: block!important; }
  h1              { font-size: 55px; }
  h2              { font-size: 35px; }
  h3              { font-size: 30px; }
  h4              { font-size: 27px; }
  h5              { font-size: 24px; }
  h6              { font-size: 22px; }
  .h1-style       { font-size: 55px !important; }
  .h2-style       { font-size: 50px !important; }
  .h3-style       { font-size: 30px !important; }
  .h4-style       { font-size: 27px !important; }
  .h5-style       { font-size: 24px !important; }
  .h6-style       { font-size: 22px !important; }

  .btn-huge       { font-size: 35px; }

  .container { max-width: 1555px; }
  .container-wide { max-width: 1640px; }
  .container-narrow { max-width: 1240px; }
  .container-standard { max-width: 1170px; }

  .hp-headline { font-size: 60px; }
  .hp-lead { font-size: 23px; padding: 0 1rem; }
}