/* Hide svg sprite */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

body {
  background-color: #fff;
  color: #52606D;
}

@media screen and (min-width: 992px) {
  body {
    display: flex;
    flex-direction: column;
    height: 100vh;
  }
}

.container {
  max-width: 565px;
}

.h1, .h2, .h3, .h4, .h5 {
  color: #111B25;
  font-weight: 600;
}

.h1 {
  font-size: 24px;
  margin-bottom: 1.12rem;
}

.h2 {
  font-size: 20px;
}

@media screen and (min-width: 992px) {
  .h1 {
    font-size: 30px;
    line-height: 34px;
    letter-spacing: -0.5px;
  }
  .h2 {
    font-size: 20px;
    line-height: 26px;
    letter-spacing: -0.2px;
  }
}

a, a:hover {
  color: #0059F1;
  text-decoration: none;
}

a:focus {
  outline: none;
}

.semibold {
  font-weight: 600;
}

.small, small {
  font-size: 12px;
  line-height: 14px;
  color: #616E7C;
}

.text-primary {
  color: #0059F1;
}

.card {
  border-color: #E4E7EB;
  overflow: hidden;
  border-radius: 0.35rem;
}

.card-body {
  padding: 1.15rem;
}

.card-body-lg {
  padding: 1.8rem;
}

.card-body-bg {
  background-color: #fcfcfd;
}

.card-body + .card-body {
  border-top: 1px solid #E4E7EB;
}

.card-icon {
  margin-bottom: 24px;
}

@media screen and (min-width: 992px) {
  .card-body {
    padding: 1.85rem;
  }
  .card-body-lg {
    padding: 3.02rem;
  }
}

.recurrence-info {
  padding-top: 0.9rem;
}

.recurrence-info-title {
  font-weight: 500;
  font-size: 13px;
  line-height: 22px;
  color: #111B25;
  padding-bottom: 5px;
}

.recurrence-info-item {
  color: #3E4C59;
  padding: 0.95rem 0;
}

.recurrence-info-item, .recurrence-info-title {
  border-bottom: 1px solid #E4E7EB;
}

.recurrence-info-item + .recurrence-info-title {
  margin-top: 2rem;
}

.recurrence-info-card, .recurrence-info-number {
  display: flex;
  align-items: center;
}

.recurrence-info-number .dot {
  width: 5px;
  height: 5px;
  background-color: #3E4C59;
  border-radius: 50%;
  content: '';
  margin-right: 5px;
}

.recurrence-info-card {
  color: #616E7C;
}

.recurrence-info-card img {
  margin-left: 7px;
}

@media screen and (min-width: 992px) {
  .recurrence-info {
    padding: 0.9rem;
  }
}

.spin {
  -webkit-animation: spin-rotate 2s linear infinite;
  animation: spin-rotate 2s linear infinite;
  transform-origin: center;
  width: 60px;
}

.spin circle {
  fill: none;
  stroke-width: 4;
}

.spin .dash {
  stroke: #0059F1;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  -webkit-animation: spin-dash 1.5s ease-in-out infinite;
  animation: spin-dash 1.5s ease-in-out infinite;
}

@-webkit-keyframes spin-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes spin-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 80, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dashoffset: -124px;
  }
}

@keyframes spin-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 80, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dashoffset: -124px;
  }
}

.feature {
  margin-top: 33px;
  margin-bottom: 50px;
}

.feature .h2 {
  margin-bottom: 28px;
}

.feature-item {
  display: flex;
  align-items: center;
  letter-spacing: -0.2px;
  color: #111B25;
}

.feature-item + .feature-item {
  margin-top: 16px;
}

.feature-icon {
  margin-right: 20px;
}

@media screen and (min-width: 992px) {
  .feature {
    padding: 0 34px;
  }
}

.have-account {
  margin-top: 23px;
  margin-bottom: 0px;
  font-size: 14px;
}

.companies {
  padding-top: 20px;
}

.companies .h2 {
  padding-bottom: 20px;
}

.companies-list {
  margin-left: auto;
  margin-right: auto;
}

.companies-list a {
  padding: 22px 0;
  display: block;
  transition: ease-in-out 0.15s;
}

.companies-list a:not(:first-child) {
  border-top: 1px solid #E4E7EB;
}

.companies-list a:first-child {
  padding-top: 0;
}

.companies-list a:last-child {
  padding-bottom: 0;
}

.companies-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 26px;
}

.companies-list-item img {
  -o-object-fit: contain;
  object-fit: contain;
  height: 100%;
  width: auto;
  max-width: 100%;
}

.companies .companies-list:hover a {
  opacity: 0.64;
}

.companies .companies-list:hover a:hover {
  opacity: 1;
}

.btn {
  border-radius: 6px;
  color: #3E4C59;
  font-size: 1rem;
  font-weight: 500;
  line-height: 22px;
  padding: 0.6rem 0.9rem;
}

.btn .spin {
  margin-right: 8px;
  position: relative;
  top: -1px;
  width: 20px;
  height: 20px;
}

.btn .spin circle {
  stroke-width: 6;
}

.btn .spin .dash {
  stroke: #fff;
}

.btn:focus {
  box-shadow: none;
}

.btn.disabled, .btn:disabled {
  opacity: 1;
}

.btn-primary {
  background-color: #0059F1;
  border-color: #0059F1;
  color: #fff;
}

.btn-primary:active, .btn-primary:active:focus {
  border-color: #003CA3;
  background: #003CA3;
}

.btn-primary:hover {
  border-color: #3179F4;
  background-color: #3179F4;
  color: #fff;
}

.btn-primary:disabled {
  border-color: #91B8F9;
  background: #91B8F9;
  cursor: no-drop;
}

.header {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 20px;
}

.footer {
  margin-top: auto;
  padding-bottom: 32px;
}

.footer .nav-link {
  font-weight: 500;
  font-size: 0.86rem;
  letter-spacing: -0.2px;
  color: #52606D;
}

.footer .nav-item + .nav-item {
  margin-left: 1rem;
}

@media screen and (max-width: 991px) {
  .footer {
    padding-top: 32px;
  }
}
