@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,300;0,400;0,500;1,500&family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');
:root{
  --lgrey: #f9f8f7;
  --dgrey:#303030;
  --yellow:#ffce00;
  --pink:#ffa1a0;
  --green:#27cc8d;
  --font-color: #303030; 
  --ub-blue:#0033ff;
  --progress-blue:rgba(0, 51, 255, 0.8);
  --g-grey:#ededed;
  --g-blue:#0033ff;
  --g-indigo:#0027cc;
  --font-body:'Source Sans Pro', sans-serif;
  --font-headline: 'Barlow Semi Condensed', sans-serif;
}

* {box-sizing: border-box;margin: 0;padding: 0;}

body{
 font-family: var(--font-body);
 color: var(--font-color);
}
p{
  font-size:22px;
  font-weight: 300;
}
.report p{
  font-size: 18px;
}
h1,h2,h3,h4,h5{
    font-family: var(--font-headline);
    font-weight: 400;
}
h1{
  font-size:60px;
}

#roi-main {
    display: flex;
    flex-direction: column;
}
  /* header */
header.page-header > div >.header-buttons-right {
  align-content: flex-end;
}
header.page-header .header-buttons-right a.btn {
  height: 50px;
  padding: 10px 20px 10px 21px;
}
header.page-header > div >*{
  flex-grow:0;
  flex-shrink:0;
  /* flex-basis:calc(50% - 10px); separate properties for IE11 upport */
}
.page-header .container {
  padding: 2% 10% 0 10%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.page-header .container > a {
  align-content: flex-start;
}
.page-main {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.page-main > div {
  flex-grow: 1;
}
.q-card{
  width: 800px;
  min-height: 600px;
  max-width: 1000px;
  margin: 22px 0 84px 1px;
  padding: 50px 0;
  box-shadow: 10px 30px 50px 0 rgba(48, 48, 48, 0.27);
  background-color: #ffffff;
  object-fit: contain;
  position:relative;
  font-weight: 300;
  align-items: center;
  justify-content: center;
  display: flex;
  position:relative;
}
.q-card#step-8{
  margin: 0px;
  padding-bottom: 0px;
  box-shadow: none; 
}
.report-section{
    border-top: solid 1px #d8d8d8;
    min-height: 5px;
    width: 100%;
}
.report-section.cta-blue{
  background:var(--ub-blue);
  color: #ffffff;
}
.cards-3{
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  justify-content: space-between;
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing:content-box;
}
.cards-3.resources-section .info-card{
  border: solid 1px #d8d8d8;
}
.cards-3 .info-card{
  flex:1 0 25%;
  min-height: 436px;
  padding: 5px 35px;
  min-height: 436px;
  padding: 5px 35px;
  margin: 70px 32px 0 3px;
  padding: 72px 25px 77px 24px;
  
}
.q-card .rectangle-top {
    width: 16px;
    height: 100px;
    margin: 0 59px 350px 0;
    background-color: #303030;
    z-index: 10;
    left:0;
    top:50px;
    position: absolute;
  }

  .q-card .rectangle-bottom{
    width: 16px;
    height: 50px;
    margin: 28.5px 0 0 58px;
    background-color: #303030;
    z-index: 10;
    position: absolute;
    right: 0;
    bottom: 50px;
  }
  .container {
    padding: 4% 10%;
  }
  #step-8 .container{
    position: relative;
  }
  button {
    font-family: var(--font-body);
  }
  .blue-btn{
    height: 50px;
    border: solid 3px #0033ff;
    background-color: #0033ff;
    color:#ffffff;
    padding: 0% 2%;
  }
  .btn-bottom{
    position:absolute;
    bottom:50px;
    right: 10%;
    font-size: 20px;
  }
  .previous-btn{
    height: 50px;
    border: none;
    background-color: transparent;
    position: absolute;
    bottom: 50px;
    margin: 0 0 0 10px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #303030;
  }
  .breadcrumbs {
    position: absolute;
    top: 50px;
    right: 20%;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family:var(--font-headline);

}
.call-out{
  display: flex;
  flex-wrap: wrap;
  background-color: var(--lgrey);
  align-items: center;
  justify-content: center;
  padding: 20px;

}
.call-out p {
  flex: 100;
  opacity: 0.75;
  font-size: 14px;
  font-weight: normal;
  font-stretch: normal;
  font-style: italic;
}
.call-out span{
  flex: 100px;
  text-align: center;
}
.tooltip-icon {
  width: 36px;
  height: 56px;
  margin: 0.1px 22.3px 4.9px 0;
  object-fit: contain;
}
.input-group {
  min-height: 130px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 30px 0px;
  display: inline-flex;
}
.input-group  > *{
  min-height: 128px;
  border: 1px #d8d8d8 solid;
}
.input-group span{
  width: 100px;
  text-align: center;
  font-size: 75px;
  background: var(--lgrey);
  padding-top: 15px;
  box-sizing: border-box;
  font-family: var(--font-headline);
}
.input-group input {
  width: 100%;
  box-sizing: border-box;
  font-size: 75px;
  font-style: normal;
  font-family: var(--font-headline);
  font-weight: 300;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  padding-left: 5%;
}
.input-group button {
  border: none;
  padding: 0px;
  margin: 0px;
  border-width: 0px;
  width: 100px;
  background: var(--ub-blue);
  color:#fff;
  width:100px;
}
/* industry select */
.ind-container{
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.ind-container .ind{
  width:108.3px;
  height:116px;
  color: var(--ub-blue);
  background: #fff;
  border: solid 1px #d8d8d8;
  display: inline-flex;
}
.ind .icon{
  display:block;
  color: var(--ub-blue);
  background: #fff;
  text-align: center;
}
.ind .icon img{
  max-width: 50px;
}

.ind .name{
  display:block;
  color: var(--ub-blue);
  background: #fff;
  text-transform: uppercase;
  text-align: center;
}
/* form recap */
.form-recap{
  background: var(--lgrey);
  padding: 15% 10%;
  font-size: 14px;
  font-family: var(--font-headline);
  width: 225px;
}
.form-recap input{
  font-size: 20px;
  width: 70px;
  border: none;
  background: transparent;
  margin-bottom: 10px;
  display: inline-block;
  padding-left: 7px;
  font-weight: 300;
  font-family: 'Barlow Semi Condensed';
}
.form-recap span{
  font-size: 20px;
  display: inline-block;
  width: 3%;
  font-weight: 400;
}
.form-recap h3{
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 20px;
}
.form-recap *{
  display: block;
}

/* -----------report - data ------------- */

/* layout the innner report */
#step-8 .container{
  display: flex;
  flex-flow: row wrap;
}
#step-8 .container > div *{
  flex: 1 100%;
  max-height: 100%;
}
#step-8 .container .intro-report {
  padding-bottom: 7%;
  width: 100%;
}
/* form edit */
#step-8 .container .left-sidebar{
  order: 1;
}
/* visual report breakdown */
.data-report{
  flex: 3 0px;
  order: 2;
  border-left:solid 1px #d8d8d8;
}
#step-8 .container .data-report > div{
  display: flex;
  flex-flow: row wrap;
}
#step-8 .container .data-report > div > div{
flex:1 0 45%;
}
.animate-wrong {
  animation: wrong 0.4s ease-in-out;
}
@keyframes wrong {
  0% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(40px);
  }
  40% {
    transform: translateX(20px);
  }
  60% {
    transform: translateX(40px);
  }
  80% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0);
  }
}
.intro-report > p:first-of-type {
  text-transform: uppercase;
  font-family: 'Barlow Semi Condensed';
}
.intro-report {
  text-align: center;
}
.header-intro-1{
 padding-top:5%;
}
.header-intro-2{
  padding-top: 1%;
}
.report h1 {
  max-width: 800px;
  font-size: 75px;
  text-align: center;
  margin: 0 auto;
}
#selected-summary-1{
  max-width: 600px;
  margin: 0 auto;
}
h2.title-roi {
  font-size: 40px;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: normal;
  font-weight: 500;
}
h2.title-roi:before {
  content: "Your Monthly ";
  font-weight: 300;
}
.ubst-gains,.ub-gains, .u-current {
  text-transform: uppercase;
  font-family: 'Barlow Semi Condensed';
  margin: 7% 3% 0 7%;
  position: relative;
}
.ubst-gains {
  margin-bottom: 7%;
}
.data-report > div {
  margin-bottom: 10%;
}
.data-report > div > div {
  padding: 3%;
}
.report p {
  font-size: 18px;
  line-height: 28px;
}
.copy-roi div span {
  max-width: 112px;
  display: inline-block;
}
.report-section h2 {
  font-size: 72px;
  line-height: 2;
  text-align: center;
  font-weight: 300;
}
p.pre-heading {
  text-transform:uppercase;
  font-family:var(--font-headline);
  text-align:center;
}
.report-section.cta h2{
  font-size: 40px;
  line-height: 1.38;
}
.report-section .container > p {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 300;
}
.ubst-gains:before, .ub-gains:before, .u-current:before{
    content: "";
    border-left: 5px solid var(--ub-blue);
    width: 5px;
    height: 100%;
    margin: 0 -7%;
    position: absolute;
}
.ubst-gains:before{
  border-left: 5px solid var(--g-indigo);
}
.ub-gains:before{
  border-left: 5px solid var(--ub-blue);
}
.u-current:before{
  border-left: 5px solid var(--lgrey);
}
a.btn {
  width: 228px;
  height: 80px;
  padding: 25px 20px 30px 21px;
  border-radius: 2px;
  border: solid 3px #303030;
  /* background-color: #0033ff; */
  text-decoration: none;
  color: #303030;
  /* margin-top: 15%; */
}

a.btn.btn-blue, a.btn.btn-blue:hover, a.btn.btn-blue:active, a.btn.btn-blue:visited {
  border: solid 3px var(--ub-blue);
  background-color: var(--ub-blue);
  text-decoration: none;
  color: #ffffff;
}
a.btn.btw_white, a.btn.btw_white:hover, a.btn.btw_white:active, a.btn.btw_white:visited {
  border: solid 3px #fff;
  background-color: #fff;
  text-decoration: none;
  color:var(--ub-blue);
}

a.btn.white-btn {
  border: solid 3px var(--ub-blue);
  background-color: var(--ub-blue);
  text-decoration: none;
  color: #ffffff;
}
.report-section.cta p{
  margin-top: 5%;
}
.report-section.cta p:last-of-type {
  margin-top: 5%;
  margin-bottom: 5%;
}
.report-section.cta{
  text-align: center;
}
.report-section.cta, .report-section.quote{
  border: none;
  text-align: center;
}
.report-section.cta .container:before {
  content: "";
  width: 47px;
  height: 5px;
  background:var(--pink);
  position: absolute;
  margin: 0 auto;
  margin-left: -25px;
  top: 13%;
}
.copy-summary p:first-of-type {
  margin-bottom: 5%;
}
div#step-8 .container {
  padding: 0;
  max-width: 1200px;
}
.report-section.cta .container {
  padding-top: 7%;
}
.quote .q-text {
  max-width: 900px;
  text-align: left;
  padding-left: 9%;
  width: 70%;
}
.q-text p {
  font-size: 2em;
  font-family: var(--font-headline);
  font-weight: 300;
}
.quote img, .quote .q-text {
  display: inline-block;
  
}
.quote {
  text-align: left;
  margin: 0 auto;
}
.quote img {
  width: 25%;
  max-width: 215px;
  vertical-align: top;
  text-align: left;
}
.icon img {
  max-width: 130px;
  margin-top: 20px;
}
.report-section .quote {
  max-width: 1250px;
  margin: 0 auto;
}
.info-card h3 {
  font-size: 30px;
  font-weight: 400;
  padding-bottom: 20%;
  position:relative;
}
.info-card{
  position:relative;
}
.info-card h3:before{
  content: "";
  width: 7px;
  height: 36px;
  background: var(--dgrey);
  position: absolute;
  margin: 0 auto;
  margin-left: -25px;
}

.line-g h3:before{
  background: var(--green);
}
.line-y h3:before{
  background: var(--yellow);
}

.line-p h3:before{
  background: var(--pink);
}
.info-card p {
  font-family: 'Source Sans Pro';
  font-size: 18px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.56;
  letter-spacing: normal;
}
.info-card p:last-of-type {
  padding-top:5%;
}
.methodology-section .container >p:last-of-type{
  font-style: italic;
  font-weight: 300;
  padding-top:2%;
}
.methodology-section .container > p{
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}
.pre-heading {
  font-size: 22px;
}
.intro-report .pre-heading {
  padding-bottom: 3%;
}
.graph-container {
  height: 100%;
  padding: 0 30%;
}
#bar-graph-01{
  --color-1: var(--g-grey);
  --color-2: var(--g-blue);
  --color-3: var(--g-indigo);
}
span.data-txt {
  font-family: 'Barlow Semi Condensed';
  text-align: center;
  position: absolute;
  top: -30px;
  color: #303030;
  font-size: 0.8em;
}
#step-0 h1{
  font-size: 60px;
  line-height: 68px;
}
#step-1 h1{
  font-size: 48px;
  line-height: 58px;
}

#step-2 h1, #step-3 h1, #step-4 h1, #step-5 h1, #step-6 h1{
  font-size: 28px;
  line-height: 36px;
}

[id*="step-"]:not(#step-8) .container h1{
  font-weight: 300;
}
.q-card .container p {
  padding-top: 5%;
  font-weight: 300;
}
div#step-1 p {
  padding-bottom: 5%;
}

div#step-1 ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  padding: 3%;
  list-style: none;
}
div#step-1 ul li {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  padding: 3%;
  display: inline-table;
}

div#step-1 ul li:before {
  content: "";
  display: block;
  background: url(checkmark-icon.svg) no-repeat;
  width: 18px;
  height: 38px;
  float: left;
  margin: 5px 12px 0 0;
}
.graph-container {
  padding-top: 10%;
}

.u-current span:last-of-type, .ub-gains span:last-of-type, .ubst-gains span:last-of-type{
  font-size: 48px;
  font-weight: 500;
}

#roi-data .u-current span:last-of-type:after,#roi-data .ub-gains span:last-of-type:after,#roi-data .ubst-gains span:last-of-type:after{
  content:"%"
}
#cpl-data .u-current span:last-of-type:before, #cpl-data .ub-gains span:last-of-type:before,#cpl-data .ubst-gains span:last-of-type:before{
  content:"$"
}

#cr-data .u-current span:last-of-type:after,#cr-data .ub-gains span:last-of-type:after,#cr-data .ubst-gains span:last-of-type:after{
  content:"%"
}
table th {
  font-size: 10px !important;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.33;
  width: 100%;
  overflow-wrap: break-word;
  font-family: var(--font-body);
}
table#bar-graph-01 tr td {
  min-height: 10px;
  margin-bottom: 20px;
  width: 56px;
}
#cr-data span.data-txt:after, #roi-data span.data-txt:after {
  content: "%";
}
#cpl-data span.data-txt:before{
  content: "$";
}

.form-recap select {
  font-size: 20px;
  width: 100%;
  border: solid 1px #333;
  background: transparent;
  margin-bottom: 10px;
  display: inline-block;
  padding-left: 7px;
  font-weight: 300;
  font-family: 'Barlow Semi Condensed';
}
select, select option {
  text-transform: capitalize;
}
#step-2 .ind-container select {
  margin-top: 20px;
  width: 100%;
  height: 50px;
}
#step-2 select option, #step-2 select {
  font-size: large;
  font-family: 'Barlow Semi Condensed';
  padding-left: 10px;
}
label[for=u-industry] {
  margin-bottom: 5px;
}
.breadcrumbs::after {
  content: " ";
  width: 40px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 45%;
  margin-left: 20px;
}

@keyframes moving-bars {
  0%  { transform: translateY( 100% ); }
  35% { transform: translateY( 0 ); }
}
.info-card .btn_arrow {
  /* margin: 66px 12px 3px 0; */
  position: absolute;
  bottom: 10%;
  font-size: 18px;
  text-decoration: none;
  color: #333;
}
#rerun-btn, #rerun-btn:active, #rerun-btn:visited{
  color: var(--ub-blue);
  text-decoration: none;
}
.q-card .call-out p {
  padding-top: 0%;
  border-left: solid 1px #d8d8d8;
  padding-left: 20px;
  margin-left: -20px;
}
.animated-td {
  animation: moving-bars 3s linear;
}
#view-report-button{
  animation: 5s fadeIn;
  animation-fill-mode: forwards;
  visibility: hidden;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
.report-section.footer > div > div {
  display: inline-block;
}
.report-section.footer > div > div:last-of-type {
  float: right;
}
.report-section.footer > div > div:last-of-type a:first-of-type {
  padding-right: 15px;
}
.report-section.footer a, .report-section.footer p {
  font-size: 16px;
}
/* animation for load */
.spinner {
  margin: 100px auto;
  width: 50px;
  height: 100px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: #333;
  height: 100%;
  width: 6px;
  display: inline-block;
  
  -webkit-animation: sk-stretchdelay 1.2s 3 ease-in-out;
  animation: sk-stretchdelay 1.2s 3 ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% { 
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% { 
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}
/* ---- for testing ----- */
.copy-summary {
  display: none;
}

/* --------- mobile styling --------------*/
@media screen and (max-width: 800px) {
  div#step-8 .container {
    width: auto;
  }
  .info-card .btn_arrow {
    position: relative !important;
    display: block;
    bottom: 0;
  }
  .breadcrumbs {
    top: 15px;
    left: 10%;
}
  .page-main .q-card {
    min-height: 95vh;
}
  header.page-header >div > a >img {
    max-width: 120px;
  }
  .cards-3 .info-card {
    flex: 1 0 100%;
    flex: 100%;
    min-height: auto;
    margin: 5% 0% 0 0;
    padding: 5px 25px 10px 24px;
    position: relative;
  }
  #step-8 .container .left-sidebar {
    order: 1;
    width: 100%;
    height: auto;
  }
  .q-card {
    width: 100%;
  }
  .form-recap {
    padding: 5%;
    width: 100%;
  }
  .report .container > div {
    padding: 1%;
  }
  #step-8 .container .data-report > div > div {
    flex: 1 0 100%;
  }
  .page-header .container {
    padding: 5% 10% 0 10%;
  }
  .info-card h3 {
    padding-bottom: 5%;
    padding-top: 10%;
  }
  .report-section.cta p:last-of-type {
    margin-top: 25%;
    margin-bottom: 5%;
  }
  .report-section:not(.footer) {
    margin-top: 15%;
  }
  .report-section.quote {
    margin-top: 15%;
  }
  .copy-summary p:first-of-type {
    margin-bottom: 0%;
  }
  .report-section.cta {
    padding: 5% 5%;
  }
  .report-section h2 {
    line-height: 1.3;
  }
  .methodology-section .container >p:last-of-type { 
    font-size: x-large;
    padding-top: 10%;
  }
  .data-report {
    border-bottom: solid 1px #d8d8d8;
  }
  header.page-header {
    display: none;
  }
}
@media screen and (max-width: 400px) {
  .page-header .container > a {
    margin-bottom: 10%;
  }
  .q-card > div:not(.breadcrumbs){
    margin-bottom: 70px;
  }
  .page-main .q-card {
    min-height: 100vh;
  }
  header.page-header >div > a >img {
    max-width: 120px;
  }
  .call-out {
    display: grid;
  }
  .rectangle-bottom{
    display: none;
  }
  .q-card button {
    bottom: 20px;
  }
  .report-section.cta .container:before {
    top: 5%;
  }
  
}
@media screen and (min-width: 801px) {
  .form-recap {
    position: sticky;
    top: 0;
  }
}


@media screen and (min-width: 1200px) {
  div#step-8 .container {
    width: auto;
  }
}


