/*
 Description:    Custom Styles for HealthMarketUS
 Author:         Chris Ruby
 Version:        1.0.0
*/


/* ------ Color Variables ------- */
:root { 
  --colorBlack: 33,33,33;
  --colorPrimary: 43,45,66;
  --colorSecondary: 10,114,205;
  --colorTertiary: 254,144,21;
  --alpha: .3;
  --primaryFont: 'Montserrat', 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-black     { background-color: rgb(var(--colorBlack))!important; }
.bg-gray      { background-color: #DEDEDE; }
.bg-ltgray    { background-color: #F5F5F5; }
.bg-dkgray    { background-color: #6C757D; }
.bg-ltblue    { background-color: rgba(var(--colorPrimary),0.2)!important; }
.bg-mutedblue { background-color: #275798cf; }

.text-primary   { color: rgb(var(--colorPrimary))!important; }
.text-secondary { color: rgb(var(--colorSecondary))!important; }
.text-tertiary  { color: rgb(var(--colorTertiary))!important; }
.text-black     { color: rgb(var(--colorBlack))!important; }
.text-gray      { color: #CBCBCB; }
.text-muted     { color: #777!important; }


/* ------ Basic Styling ------- */
* 				      { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transition: all .5s ease; /*outline: 1px solid red;*/ }
html, body  	  { background: #FFF; margin: 0; padding: 0; position: relative; }
body       		  { background: #FFF; color: rgb(var(--colorBlack)); font-family: var(--primaryFont); 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; }
.sentence-case,
.capitalize     { text-transform: capitalize; }
.lowercase      { text-transform: lowercase; }

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

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

h1, h2, h3,
h4, h5, h6      { font-style: normal; font-weight: 600; line-height: 1.2; text-align: center; }
h1              { font-size: 1.8rem; font-weight: 700; }
h2              { font-size: 1.8rem; }
h3              { font-size: 1.3rem; }
h4              { font-size: 1.1rem; }
h5              { font-size: 1.125rem; }
h6              { font-size: 1rem; }
p               { font-size: 1rem; margin-bottom: 1.250rem; }
p.large         { font-size: 1.4rem; line-height: 1.5; }
p.small         { font-size: .9rem; line-height: 1.5; }
p.xsmall        { font-size: 0.75rem; line-height: 1.3; }
sup.xsmall      { font-size: 50%; top: -0.8em; }
h1.intro-heading  { font-size: 11vw; line-height: 1.1; font-weight: 800; }
h2.intro-heading  { font-size: 20px; line-height: 1.1; }
p.intro-heading   { font-size: 5.2vw; font-weight: bold; line-height: 1.4; text-transform: capitalize; }
.call-to-action   { font-size: 30px; line-height: 1.1; }

ol li, ul li    { font-size: 1.125rem; margin-bottom: 0.250rem; }
ol.small li, ul.small li  { font-size: 1rem; margin-bottom: 0.250rem; }

.normal         { font-weight: 400; }
.bold,
b, strong       { font-weight: 600; }
.bolder         { font-weight: 900; }
.sup            { vertical-align: top; }
h2.larger       { font-size: 2.4rem; }

.close          { color: #000; font-size: 2.5rem; font-weight: 500; }
.close:active,
.close:focus    { outline: none; }

.drop-shadow    { filter: drop-shadow(4px 4px 3.9px rgba(0,0,0,0.8)); }
.shadow-none    { box-shadow: none!important; }
.shadow         { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important; }
.shadow-sm      { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important; }
.shadow-lg      { box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important; }
.shadow-xl      { box-shadow: 0 0 30px rgba(0, 0, 0, .18)!important; }
.text-shadow    { text-shadow: 1px 1px 13px #000; }
.text-shadow.text-primary    { text-shadow: 1px 0px 2px #FFF, 0px -1px 2px #FFF, -1px 0px 2px #FFF, 0px 1px 2px #FFF; }
.h4-callout     { box-shadow: 3px 4px 4px rgba(0,0,0,0.2); }

.box-shadow       { box-shadow: 0px 1px 18px 5px rgba(0,0,0,0.2); z-index: 1; }
.box-shadow-inset { box-shadow: inset 0px 1px 18px 5px rgba(0,0,0,0.2); z-index: 1; }

.border-lg      { border: 2px solid rgb(var(--colorPrimary)); }
.border-top     { border-top: 3px solid #dee2e6!important; }
.rounded        { border-radius: 10px!important; }

.container-thin { max-width: 900px; }

.ln1            { line-height: 1; }
.ln11           { line-height: 1.1; }
.ln12           { line-height: 1.2; }
.ln13           { line-height: 1.3; }
.ln14           { line-height: 1.4; }
.ln15           { line-height: 1.5; }
.ln16           { line-height: 1.6; }
.ln17           { line-height: 1.7; }
.ln18           { line-height: 1.8; }
.ln19           { line-height: 1.9; }
.ln2            { line-height: 2; }

.object-fit     { border-radius: 20px; height: 100%; object-fit: cover; object-position: center center; max-width: 100%; box-shadow: 3px 3px 10px rgba(0,0,0,0.3); }
.section-border { border-bottom: 2px solid rgb(var(--colorPrimary)); border-top: 2px solid rgb(var(--colorPrimary));}

.checkmark li   { list-style-image: url(../_img/checkmark.svg) !important; }

/* -------- Gradient Styling ------- */
.bg-gradient-dkblue {
    background: #274f72;
    background: -moz-radial-gradient(center,ellipse cover,#007399 0%,#003449 100%);
    background: -webkit-gradient(radial,center center,0px,center center,100%,color-stop(0%,#007399),color-stop(100%,#003449));
    background: -webkit-radial-gradient(center,ellipse cover,#007399 0%,#003449 100%);
    background: -o-radial-gradient(center,ellipse cover,#007399 0%,#003449 100%);
    background: -ms-radial-gradient(center,ellipse cover,#007399 0%,#003449 100%);
    background: radial-gradient(ellipse at center,#007399 0%,#003449 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#007399',endColorstr='#003449',GradientType=1);
}
.bg-gradient-ltblue {
    background: #1976D2;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…BoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-radial-gradient(center, ellipse cover, #1976D2 0%, #0D47A1 100%);
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#1976D2), color-stop(100%,#0D47A1));
    background: -webkit-radial-gradient(center, ellipse cover, #1976D2 0%,#0D47A1 100%);
    background: -o-radial-gradient(center, ellipse cover, #1976D2 0%,#0D47A1 100%);
    background: -ms-radial-gradient(center, ellipse cover, #1976D2 0%,#0D47A1 100%);
    background: radial-gradient(ellipse at center, #1976D2 0%,#0D47A1 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1976D2', endColorstr='#0D47A1',GradientType=1 );
}
.bg-gradient-shp {
  background-image: radial-gradient(at center center,#1459c6 0,#6298ee 100%);
  background-repeat: no-repeat;
  background-position: center, center 3%;
  background-size: cover;
  box-shadow: rgba(0, 0, 0, 0.75) 0px 50px 100px -50px inset, rgba(0, 0, 0, 0.75) 0px -50px 100px -50px inset;
  display: table;
  width: 100%;
}
.bg-gradient h2 { font-size: 2.250rem; font-weight: 400; padding-bottom: 4px; text-shadow: 0 0px 6px rgba(0, 0, 0, 0.3); }

.bg-gradient-hmus {
  background: rgb(38,87,152);
  background: -moz-linear-gradient(180deg, rgba(158,196,234,1) 0%, rgba(102,156,217,1) 35%, rgba(51,116,202,1) 70%, rgba(38,87,152,1) 100%);
  background: -webkit-linear-gradient(180deg, rgba(158,196,234,1) 0%, rgba(102,156,217,1) 35%, rgba(51,116,202,1) 70%, rgba(38,87,152,1) 100%);
  background: linear-gradient(180deg, rgba(158,196,234,1) 0%, rgba(102,156,217,1) 35%, rgba(51,116,202,1) 70%, rgba(38,87,152,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#9ec4ea",endColorstr="#265798",GradientType=1);
}

/* -------- Button Styling -------- */
.btn {
  background: #32DD7C;
  border: none;
  border-radius: 100px;
  color: #FFF;
  cursor: pointer;
  padding: 15px 40px;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  outline: none;
  position: relative;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.btn,
.btn:hover,
.btn:active {
  color: rgb(255, 255, 255) !important;
  position: relative;
  text-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px;
  top: -8px;
  outline-color: initial !important;
  outline-style: initial !important;
  outline-width: 0px !important;
  transition-duration: 0.2s, 0.15s;
  transition-timing-function: ease-in-out, ease-in-out;
  transition-delay: 0s, 0s;
  transition-property: all, transform;
}

.btn,.btn:active:not(:hover) { box-shadow: rgb(29, 171, 105) 0px 8px, rgba(0, 0, 0, 0.25) 0px 3px 10px -10px inset, rgba(29, 171, 105, 0.5) 0px 0px 0px 2px inset; }
.btn:hover { box-shadow: rgb(29, 171, 105) 0px 0px, rgba(0, 0, 0, 0.25) 0px 3px 10px -10px inset, rgba(29, 171, 105, 0.5) 0px 0px 0px 2px inset; top: 0px; }
.btn:hover:active { box-shadow: rgb(29, 171, 105) 0px 0px, rgba(0, 0, 0, 0.25) 0px 3px 10px 0px inset, rgba(29, 171, 105, 0.5) 0px 0px 0px 2px inset; top: 0px; transform: scale(0.97); }

.btn-2 {
  font-size: 22px;
  max-width: 700px;
  width: 100%;
}

.btn-xl { padding: 25px 20px; font-size: 1.5em !important; max-width: 270px; width: 100%; }
.btn-lg { padding: 25px 20px; font-size: 1.35em !important; max-width: 270px; width: 100%; }

.btn-landing { 
  background: #ED1C24;
  border: 2px solid #FFF;
  border-radius: 8px;
  box-shadow: none;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0;
  max-width: 280px;
  padding: 10px 20px;
  text-shadow: none;
  width: 100%;
}

.btn-landing:hover,
.btn-landing:active { background: rgb(var(--colorSecondary)); box-shadow: none; top: 0; }

.btn-compare {
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 25px auto 0;
  padding: 15px 40px;
  background: #2e9cf3;
  border: none;
  border-radius: 100px;
  box-shadow: 0 20px 40px -20px rgba(63,81,181,.5);
  font-family: nexa bold,helvetica neue,sans-serif;
  font-size: calc(20px + 1vw);
  font-weight: 900;
  text-align: center;
  letter-spacing: 1px;
  white-space: nowrap;
  color: #fff;
  -ms-transform: scale(1,1) translate(-50%,50%);
  -webkit-transform: scale(1,1) translate(-50%,50%);
  transform: scale(1,1) translate(-50%,50%);
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  z-index: 1;
}

.btn-compare:hover {
  color: #FFFFFF; 
  -ms-transform: scale(1.1,1.1) translate(-45.455%,45.455%);
  -webkit-transform: scale(1.1,1.1) translate(-45.455%,45.455%);
  transform: scale(1.1,1.1) translate(-45.455%,45.455%);
  box-shadow: 0 20px 50px -5px rgba(68,80,151,0.4);
}

.btn-steps {
  background: transparent;
  border: 2px solid #2e9cf3;
  border-radius: 100px;
  color: #2e9cf3;
  display: inline-block;
  font-family: nexa bold,helvetica neue,sans-serif;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 1px;
  padding: 10px 28px 10px;
  text-align: center;
  -ms-transform: scale(1,1);
  -webkit-transform: scale(1,1);
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  transform: scale(1,1);
  white-space: nowrap;
}

.btn-steps:hover {
  background: rgba(46,156,243,1);
  box-shadow: 0 20px 45px -5px rgba(68,80,151,0.35);
  color: #fff;
  -ms-transform: scale(1.1,1.1);
  -webkit-transform: scale(1.1,1.1);
  transform: scale(1.1,1.1);
}

.btn.btn-link {
  background: none;
  border: none;
  box-shadow: none;
  color: rgb(var(--colorblack))!important;
  font-size: 1.3rem;
  letter-spacing: normal;
  padding: 0;
  text-shadow: none;
  text-transform: inherit;
  top: 0;
  width: 100%;
}

.btn.btn-link:hover { 
  color: rgb(var(--colorPrimary))!important;
  transform: none;
  text-decoration: none;
}

.call-btn {
  background-color: #42BBEA;
  /* background: rgb(45,57,139);
  background: -moz-linear-gradient(90deg, rgba(45,57,139,1) 0%, rgba(0,172,237,1) 100%);
  background: -webkit-linear-gradient(90deg, rgba(45,57,139,1) 0%, rgba(0,172,237,1) 100%);
  background: linear-gradient(90deg, rgba(45,57,139,1) 0%, rgba(0,172,237,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#2d398b",endColorstr="#00aced",GradientType=1); */
  background-color: #42BBEA;
  border: none;
  border-radius: 50px;
  color: #FFF;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 7px 15px;
}
#footer-cta .call-btn { 
  background: #32DD7C;
  width: 100%;
}

/* ------- Nav Styling ------ */
header.top-accent-bar { border-top: 5px solid rgb(var(--colorTertiary)); }
#header { transition: all .5s ease; }
#header p, #header button {  margin-bottom: 0; position: relative; top: 0; }
#header.shrink { top: -30px; }
#header.shrink p { top: -40px; position: relative; }
/* #header.shrink button { top: 0; position: relative; } */
#header.shrink button { transform: scale(0.7); top: 13px; }
#header .logo { margin-top: 0; max-width: 400px; width: 100%; }
#header.shrink .logo { margin-top: 30px; width: 70%; }
nav {
  box-shadow: 0px 8px 10px 0px rgba(0,0,0,0.4);
  color: #FFF !important;
  float: none !important;
  position: relative;
  text-transform: uppercase !important;
  width: 100%;
  z-index: 999;
}

nav ul {
  list-style: none;
  margin: 0 auto;
  text-align: center;
}

nav ul > li { 
  display: inline-block;
  font-size: 1.2em;
  margin: 0;
}

nav ul > li a {
  display: inline-block;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
header i { color: rgb(var(--colorPrimary)); }
#header-mobile { box-shadow: 0px 4px 5px 0px rgba(0,0,0,0.4); transition: .2s ease; }
#header-mobile .logo { max-width: 250px; }
#header-mobile .hide { opacity: 0; }
#header-mobile .show { opacity: 1; }
.mobile-nav {
  background: rgba(var(--colorPrimary), .9);
  height: 100vh;
  position: fixed;
  text-align: center;
  top: 80px;
  transition: .2s ease;
  width: 100vw;
  z-index: 999;
}
.mobile-nav.show { left:0%; opacity:1; }
.mobile-nav.hide { opacity:0; left:100%; }
.mobile-nav ul {
  list-style-type: none;
  margin: 20px 0 0 0;
  padding: 0;
}
.mobile-nav ul > li {
  border-bottom: 2px solid rgba(255, 255, 255, 0.9);
  font-size: 1.5rem;
  margin: 0;
  padding: 0;
}
.mobile-nav ul > li > a {
  display: block;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.5);
  -webkit-touch-callout: rgba(255, 255, 255, 0.5);
  -webkit-user-select: rgba(255, 255, 255, 0.5);
  -khtml-user-select: rgba(255, 255, 255, 0.5);
  -moz-user-select: rgba(255, 255, 255, 0.5);
  -ms-user-select: rgba(255, 255, 255, 0.5);
  user-select: rgba(255, 255, 255, 0.5);
}
.mobile-nav ul > li > a:focus {
  background: rgba(255, 255, 255, 0.5);
}

/* ------- Banner Styling ------ */
#banner h4 { font-size: 1rem; }
.circle {
  align-items: center;
  border-radius: 100px;
  display: flex;
  height: 18vw;
  max-height: 92px;
  justify-content: center;
  margin: auto;
  max-width: 92px;
  width: 18vw;
}
table.aca { text-align: center; width: 100%; }
table.aca small { vertical-align: top; }
table.aca th, table.aca td {
  border: 2px solid rgba(255,255,255,0.4);
  font-size: 3.85vw;
  padding: 5px;
}

/* ------- Hero Styling ------- */
#hero { background: url(../_img/hero-bg-4-mobile.avif); background-repeat: no-repeat; background-position: bottom right; background-size: cover; min-height: calc(100vh - 64px); }
#hero .container { background: url(../_img/hero-3.avif); background-repeat: no-repeat; background-position: -23vw 100%; background-size: 110vw; }
#hero .bg-gray { background: rgba(0,0,0,0); }
#hero.solid { background: radial-gradient(rgba(0, 0, 0,0.25), rgba(0, 0, 0, 0.5)); background-color: rgb(var(--colorPrimary)); }
#hero h4.sub-head { font-size: 1rem; }
#hero-footer { background: url(../_img/footer-hero-bg-mobile.avif); background-repeat: no-repeat; background-position: center 15%; background-size: cover; /*min-height: calc(100vh - 80px);*/ }

.background-overlay-bottom { background: url(../_img/hero-bg-4-mobile.avif); background-repeat: no-repeat; background-position: bottom right; background-size: cover; background-blend-mode: soft-light; }
.background-overlay-top { background: url(../_img/hero-bg-4-mobile.avif); background-repeat: no-repeat; background-position: top left; background-size: cover; background-blend-mode: soft-light; }


/* ------- Aff Bar Styling ------- */
.aff-bar-icons h2 { color: rgb(var(--colorSecondary)); font-size: 1rem; font-weight: 700; text-shadow: 2px 2px 3px rgba(100,100,100,0.2); text-transform: capitalize; }
.partner-logos { max-height: 45px; }

/* ------- CTA Styling ------- */
.ipi-mark { height: auto; max-height: 165px; max-width: 100%; }
.cta-callout { font-size: 1.2rem; }

/* ------- Footer Styling ------- */
#footer { font-size: .95rem; line-height: 1.15; }
#footer-cta { background: #FFF; bottom: -150px; box-shadow: 0px -4px 5px 0px rgba(0,0,0,0.4); position: fixed; transition: .5s ease; width: 100%; z-index: 999; }
#footer-cta.shrink { bottom: 0px;transition: .5s ease; }

/* ------- Steps Styling ------- */
#step-boxes>[class*=col-]:before { background: #3f51b5; border-radius: 100px; color: #fff; content: counter(section); counter-increment: section; display: inline-block; font-weight: 900; font-size: 28px; height: 50px; left: 50%; line-height: 0; padding-top: 24px; position: absolute; top: -25px; text-align: center; transform: translateX(-50%); vertical-align: middle; width: 50px; }
.step-box { border-radius: 10px; border: 2px dashed rgb(var(--colorSecondary)); }

/* ------ Quote Form Styling ------- */
form label { color: rgb(85, 85, 85); font-size: .9rem; font-weight: 700 !important; line-height: 36px; }
.has-error .form-control { border-color: #e53935; }
.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label  { color: #e53935; }
.help-block.old { color: #e53935; display: block!important; }
.help-block { bottom: 0; color: #e53935; display: block; font-size: 11px; font-weight: 700; margin-bottom: -17px; position: absolute; white-space: nowrap; }
.form-control::-webkit-input-placeholder { color: #999999 !important; font-weight: 400 !important; }
.form-control::-moz-placeholder { color: #999999 !important; font-weight: 400 !important; }
.form-control:-ms-input-placeholder { color: #999999 !important; font-weight: 400 !important; }
.form-control:-moz-placeholder { color: #999999 !important; font-weight: 400 !important; }
form select:invalid { color: #999999 !important; font-weight: 400 !important; }
.form-control:focus::-webkit-input-placeholder { color: #EEE !important; font-weight: 400 !important; }
.form-control:focus::-moz-placeholder { color: #EEE !important; font-weight: 400 !important; }
.form-control:focus:-ms-input-placeholder { color: #EEE !important; font-weight: 400 !important; }
.form-control:focus:-moz-placeholder { color: #EEE !important; font-weight: 400 !important; }
.input-wrapper { transform: scale(.8); }

/* ------- Modal Styling ------ */
.modal-full { min-width: 100%; margin: 0; }
.modal-full .modal-content { background-color: rgba(255,255,255,.75); min-height: 100vh; }
.modal-close-button { background: rgb(var(--colorBlack)); border-radius: 50px; border: 2px solid #AAA; box-shadow: 0 0 6px 1px #000;color: #FFF; cursor: pointer; font-size: 20px; height: 40px; position: absolute; right: -15px; top: -15px; width: 40px; z-index: 999; }

/* ------- Card Collapse ------- */
.card-header .fa { transition: .3s transform ease-in-out; }
.card-header .collapsed .fa { transform: rotate(90deg); }

.panel-default>.panel-heading:not(.collapsed):before, .panel-default>.panel-heading:not(.collapsed):after {
    transform: translateY(-50%) rotateX(180deg);
    color: #78909c;
}
.panel-default>.panel-heading:before {
    left: 15px;
}

.panel-default>.panel-heading:before, .panel-default>.panel-heading:after {
    content: "\f107";
    font-family: fontawesome;
    font-size: 18px;
    color: #a0b1ba;
    position: absolute;
    display: inline-block;
    line-height: 0;
    top: 50%;
    transform: translateY(-50%) rotateX(0deg);
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

/* ------- Blockquote Styling ------- */
.testimonial-quote {
  font-size: 16px;
}

.testimonial-quote blockquote,
blockquote {
  /* Negate theme styles */
  border: 0;
  margin: 0;
  padding: 0;

  background: none;
  color: gray;
  font-family: Georgia, serif;
  font-style: italic;
  line-height: 1.4 !important;
  margin: 0;
  position: relative;
  text-shadow: 0 1px white;
  z-index: 600;
}

.testimonial-quote blockquote * {
  box-sizing: border-box; 
}

.testimonial-quote blockquote p,
blockquote p {
  color: #75808a; 
  font-size: 2em;
  line-height: 1.4 !important;
}

.testimonial-quote blockquote p:first-child:before,
blockquote::before {
  content: '\201C';
  color: #81bedb;
  font-size: 7.5em;
  font-weight: 700;
  opacity: .3;
  position: absolute;
  top: -.4em;
  left: -.2em;    
  text-shadow: none;
  z-index: -300;
}

.testimonial-quote img {
  border: 3px solid #9CC1D3;
  border-radius: 50%;
  display: block;
  width: 120px;
  height: 120px;
  position: absolute;
  top: -.2em; 
  left: 0;    
}

.testimonial-quote cite {
  color: gray;
  display: block;
  font-size: .8em; 
}

.testimonial-quote cite span {
  color: #5e5e5e;
  font-size: 1em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 0 1px white; 
}

.testimonial-quote {
  position: relative; 
}

.testimonial-quote .quote-container {
  padding-left: 160px; 
}

.testimonial-quote.right .quote-container {
  padding-left: 0;
  padding-right: 160px; 
}

.testimonial-quote.right img {
  left: auto;
  right: 0;
}

.testimonial-quote.right cite {
  text-align: right; 
}
cite {
  display: flex;
  flex-direction: column;
  justify-content: end;
  margin-top: -60px;
}

/* ------- Landing Page Styling ------- */

@keyframes bodyFadeIn{ 0% { opacity:0; } 50% { opacity: 0; } 100% { opacity:1; } }
@-moz-keyframes bodyFadeIn { 0% { opacity:0; } 50% { opacity: 0; } 100% { opacity:1; } }
@-webkit-keyframes bodyFadeIn { 0% { opacity:0; } 50% { opacity: 0; } 100% { opacity:1; } }
@-o-keyframes bodyFadeIn { 0% { opacity:0; } 50% { opacity: 0; } 100% { opacity:1; } }
@-ms-keyframes bodyFadeIn { 0% { opacity:0; } 50% { opacity: 0; } 100% { opacity:1; } }

/* ------- Small devices ------- */
@media (min-width: 349px) {
  #header-mobile .logo { max-width: 300px; }
}
@media (min-width: 375px) {
  .btn-2 { font-size: 28px; }
}
/* ------- Small devices ------- */
@media (min-width: 576px) {
  h2 { font-weight: 400; }
  form label { font-size: 1rem; }
  #header-mobile .logo { max-width: 350px; }
  h1.intro-heading  { font-size: 55px; line-height: 1.1; }
  h2.intro-heading  { font-size: 40px; line-height: 1.1; }
  .call-to-action   { font-size: 65px; line-height: .7; }
  .partner-logos { max-height: 63px; }
}

/* ------- Medium devices ------- */
@media (min-width: 768px) { 
  h1, h2, h3,
  h4, h5, h6      { font-style: normal; line-height: 1.2; text-align: center; }
  h1              { font-size: 2.25rem; font-weight: 700; }
  h2              { font-size: 2rem; }
  h3              { font-size: 1.4rem; }
  h4              { font-size: 1.375rem; }
  h5              { font-size: 1.125rem; }
  h6              { font-size: 1rem; }
  p               { font-size: 1.2rem; margin-bottom: 1.250rem; }
  p.small         { font-size: 1rem; line-height: 1.5; }
  p.xsmall        { font-size: 0.8rem; line-height: 1.3; }
  a.xsmall        { font-size: 0.8rem; line-height: 1.3; }
  .cta-callout    { font-size: 1.5rem; }
  #banner h4      { font-size: inherit; }
  .btn            { transform: scale(1); }
  .input-wrapper  { transform: scale(1); }
  .btn-2          { font-size: 40px;}
  
  #hero .container { background-position: -8vw 100%; background-size: 70vw; }
}

/* ------- Large devices ------- */
@media (min-width: 992px) {
  #hero {  background: url(../_img/hero-bg-4.avif); background-repeat: no-repeat; background-position: center; background-size: cover; }
  #hero .container { background-position: -9vw 100%; background-size: 60vw; }
  #hero h6 { font-size: 3vw; }
  #hero .bg-gray { background-color: #DEDEDE; }
  #hero .disclaimers { color: #999; }
  #hero-footer { background: url(../_img/footer-hero-bg.avif); background-repeat: no-repeat; background-position: center 39%; background-size: cover; }
  h1.intro-heading { font-size: 4.5vw; line-height: 1.1; }
  p.intro-heading { font-size: 3.5vw; line-height: 1.4; }
  p.intro-heading .text-secondary { text-shadow: 1px 2px 0px #333, 2px 3px 0px #FFF; }
  #hero .call-btn { font-size: 2.1rem; padding: 10px 45px; }
}

/* ------ Extra large ------- */
@media (min-width: 1200px) {
  #hero .container { background-position: -9vw 100%; background-size: 53vw; }
  #hero h6 { font-size: 3vw; }
  h1.intro-heading { font-size: 4.2vw; line-height: 1.1; }
  p.intro-heading { font-size: 2.8vw; line-height: 1.4; }
  p.intro-heading .text-secondary { text-shadow: 1px 2px 0px #333, 2px 3px 0px #FFF; }
  #hero .call-btn { font-size: 2.1rem; padding: 10px 45px; }
}

/* ------ Extra Extra large ------- */
@media (min-width: 1440px) {
  #hero .container { background-position: 0 100%; background-size: 50%; }
  h1.intro-heading { font-size: 54px; line-height: 1.1; }
  p.intro-heading { font-size: 33px; line-height: 1.4; }
  p.intro-heading .text-secondary { text-shadow: 1px 2px 0px #333, 2px 3px 0px #FFF; }
  #hero .call-btn { font-size: 2.1rem; padding: 10px 45px; }
  #hero h6 { font-size: 40px; }

  table.aca th, table.aca td { 
    font-size: 25px;
  }
}
/* ------ Massive Screens ------- */
@media (min-width: 1921px) {
  .container-xxxl-fluid { max-width: 100%; }
  #hero .container { background-position: 0 100%; background-size: 45vw; }
  #hero h6 { font-size: 3vw; }
  h1.intro-heading { font-size: 4.2vw; line-height: 1.1; }
  p.intro-heading { font-size: 2.8vw; line-height: 1.4; }
  p.intro-heading .text-secondary { text-shadow: 1px 2px 0px #333, 2px 3px 0px #FFF; }
  #hero .call-btn { font-size: 2.1rem; padding: 10px 45px; }
}